jenkins-client

a small client for jenkins

Usage no npm install needed!

<script type="module">
  import jenkinsClient from 'https://cdn.skypack.dev/jenkins-client';
</script>

README

jenkins-client

a simple NodeJS client for jenkins

Build StatusCode Coverage 100%ISC LicenseNodeJS

JavaScript Style Guide

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
}

ISC License