/jenkins-api

Go library that talks with Jenkins API

Primary LanguageGoApache License 2.0Apache-2.0

jenkins-api

Go library that talks with Jenkins API. Supports AppEngine as well.

Install

go get github.com/medisafe/jenkins-api/jenkins

Usage

Initialize api connection
jenkinsApi := Init(&Connection{
	Username: "sromku",
	AccessToken: "001122334455667788",
	BaseUrl: "http://jenkins.sample.com:8080",
})
Get all jobs
jobs, err := jenkinsApi.GetJobs()
Get job
job, err := jenkinsApi.GetJob("android-mobile")
Get build

For example, build number 196 of job called android-mobile

build, err := jenkinsApi.GetBuild("android-mobile", 196)
Start new build

With params:

jenkinsApi.StartBuild("android-mobile", map[string]interface{} {
	"branch" : "master",
	"build" : "staging",
})
Build details
  • Get user that triggered the build:

    user, err := build.GetUser()

  • Get upstream job that triggered the build:

    upstream, err := build.GetUpstreamJob()

  • Get param values by param name:

    branchName, err := build.GetParamString("branch")

  • Get tests results:

    testResults, err := build.GetTestResults()

For AppEngine users

Initialize and continue as usual

c := appengine.NewContext(r)
client := urlfetch.Client(c)

jenkinsApi := Init(&Connection{
	Username: "sromku",
	AccessToken: "001122334455667788",
	BaseUrl: "http://jenkins.sample.com:8080",
	Http: client,
})

Documentation