README
jenkins-client
a simple NodeJS client for jenkins
API
jenkins-client(uri, user, pwd, jobName, [, socketOptions])
- uri string, the URI for your jenkins server
- user string, the user to access jenkins
- pwd string, the password for the user
- jobName string, the job name we want
- socketOptions a js object, right now only accepts the timeout property (default to 10 seconds)
jenkins-client#info(callback(err, statusCode, payload))
returns the info about the job
- callback
- err an error object
- statusCode an integer, the returning status code
- payload a JSON, the job info
jenkins-client#build([parameters,] callback(err, statusCode))
runs a new build for that job
- parameters should be an array, not required
- here goes the parameters needed for the job to run if is the case
- callback
- err an error object
- statusCode an integer, the returning status code
jenkins-client#buildResult(jobNumber, callback(err, statusCode, payload))
returns the output from the build
- jobNumber should be an integer, required
- callback
- err an error object
- statusCode an integer, the returning status code
- payload a string but ... depends of the the job output
buildResult
can return a stream and allows you to pipe the data from the request, the best option
var st = Client(URI, user, pwd, jobName).buildResult(1)
st.on('end', end)
st.on('error', error)
st.pipe(process.stdout)
// or using the event `data`
st.on('data', data)
example
var JenkinsClient = require('jenkins-client')
var jobX = JenkinsClient(uri, user, pwd, jobName[, socketOptions])
jobX.info(getInfo)
function getInfo (err, statusCode, payload) {
// err - something went wrong
// statusCode - the http returning status code
// the JSON payload from your jenkins server
}