Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Jenkins CLI and node.js client

Merge pull request #33 from benediktarnold/ssl_documentation

Documentation and refactoring for SSL Certificate handling
latest commit 9218c13f97
@cliffano authored


Build Status Dependencies Status Coverage Status Published Version
npm Badge


Nestor is a Jenkins CLI and node.js client.

This is handy for Jenkins users who prefer to touch type on the command line over GUI and mouse clicks on the browser. It also serves as an alternative to Jenkins Java CLI where Nestor has shorter commands and executes faster.


npm install -g nestor


Trigger a build:

nestor build <job>

Trigger a parameterised build:

nestor build <job> ["param1=value1&param2=value2"]

Trigger a build followed by console output:

nestor build --console <job>

Trigger a build, wait for 5 seconds, then display console output: (handy for builds that don't immediately display anything to console output)

nestor build --pending 5000 --console <job>

Display latest build console output:

nestor console <job>

Stop currently running build:

nestor stop <job>

View status of all jobs:

nestor dashboard

View job status reports:

nestor job <job>

Enable a job:

nestor enable <job>

Disable a job:

nestor disable <job>

Create a new job with a specified config.xml:

nestor create <job> <path/to/config.xml>

Update an existing job with a specified config.xml:

nestor update <job> <path/to/config.xml>

Copy an existing job1 to a new job2:

nestor copy <job1> <job2>

Delete an existing job:

nestor delete <job>

Fetch the config.xml of an existing job: (experimental)

nestor config <job>

Create a new view with a specified config.xml: (experimental)

nestor create-view <view> <path/to/config.xml>

Update an existing view with a specified config.xml: (experimental)

nestor update-view <view> <path/to/config.xml>

Fetch the config.xml of an existing view: (experimental)

nestor fetch-view-config <view>

View queued jobs:

nestor queue

View executors' status (running builds):

nestor executor

Discover Jenkins instance running on a specified host:

nestor discover <host>

View Jenkins version number:

nestor ver

View builds feed of all jobs:

nestor feed

View builds feed of a job:

nestor --job <job> feed

Monitor build status and notify Ninja Blocks RGB LED device:

export NINJABLOCKS_TOKEN=<token_from_>
nestor ninja


var nestor = new (require('nestor'))(

// trigger a parameterised build'job', 'param1=value1&param2=value2', function (err, result) {

Check out lib/jenkins for other available methods.


Jenkins URL

Set Jenkins URL in JENKINS_URL environment variable (defaults to http://localhost:8080):


export JENKINS_URL=http://user:pass@host:port/path


set JENKINS_URL=http://user:pass@host:port/path

As an alternative to password, you can use Jenkins API token instead. Jenkins API token can be found on Jenkins user configuration page.

If http_proxy or https_proxy environment variable is set, then Nestor will automatically use it.

If you want authentication details to be prompted interactively:

JENKINS_URL=http://host:port/path nestor --interactive build job

Jenkins URL can also be specified as an arg:

nestor --url http://user:pass@host:port/path dashboard

SSL client certificate authentication



export JENKINS_CERT=certificate.pem
export JENKINS_KEY=key.pem


set JENKINS_CERT=certificate.pem
set JENKINS_KEY=key.pem

When you have both key and certificate in one file, currently you have to set both ENV variables to the same file


export JENKINS_CERT=combined.pem
export JENKINS_KEY=combined.pem


set JENKINS_CERT=combined.pem
set JENKINS_KEY=combined.pem

It is possible to specify a custom CA. Just set the JENKINS_CA env variable






To add a new language translation:

  1. Create a locale JSON file in conf/locales/ directory, with the locale's ISO 639-1 code as file name.
  2. Copy paste the content of the existing non-English locale file (anything other than en.json) and modify the translation values accordingly.
  3. Test by executing a command with LANG environment variable, e.g. LANG=<code> nestor dashboard


Developer's Guide

Build reports:


Related Projects:

Something went wrong with that request. Please try again.