Introduction to AutoJenkins

AutoJenkins was written to handle automation (remote control) of Jenkins tasks. Includes a class autojenkins.Jenkins that you can use to drive Jenkins.

Things you can do with it:

  • Copy a job (e.g. from a template job)
  • Delete a job
  • Obtain the config.xml file for that job
  • Trigger building of a job
  • Obtain latest execution results
  • ...

AutoJenkins may be used as an API or as a command-line tool.

AutoJenkins as API

Sample use:

from autojenkins import Jenkins

j = Jenkins('')

# trigger a manual build and check results'warehouse-screens-us544_login')

# get only the result string (one of 'SUCCESS', 'UNSTABLE', 'FAILURE'):

# get the configuration file for a job:

# Create a new job from a job named 'template', replacing variables
j.create_copy('my-new-job', 'template',

# build'my-new-job')

# check result and delete if successful:
result = j.last_result('my-new-job')['result']
if result == 'SUCCESS':

AutoJenkins from the Command Line

Available commands:

  • ajk-list - list all jobs in a server
  • ajk-create - create a job
  • ajk-build - start building a job
  • ajk-delete - delete a job


List all jobs in a Jenkins server. Each line in the output represents a job, and is colored according to the job’s last build state:

  • Blue: success
  • Yellow: unstable
  • Red: failure
  • Gray: not built

A * symbol next to a job name indicates that the job is being built right now.

If instead of colored output, you prefer a string stating the status of the build, use the --no-color option. This is useful if you e.g. want to pipe the output into a grep command that filters jobs depending on status.

$ ajk-list -h

Usage: ajk-list host

Run autojenkins to list all jobs.

  -h, --help      show this help message and exit
  -n, --no-color  do not use colored output


Create a job from a template job, replacing variables that use the django/jinja2 syntax {{ variable }}.

Usage help:

$ ajk-create -h

Usage: ajk-create host jobname [options]

Run autojenkins to create a job.

  -h, --help            show this help message and exit
  -t TEMPLATE, --template=TEMPLATE
                        the template job to copy from
  -D PROP=VALUE         substitution variables for the template
  -b, --build           start a build right after creation

Sample command:

$ ajk-create http://my.server my-job -t template -Dbranch=my-branch


Delete a job from a Jenkins server.

Usage help:

Usage: ajk-delete host [jobname] [options]

Run autojenkins to delete a job.

  -h, --help  show this help message and exit

More Info

Sources can be found in Github at

Table Of Contents

Previous topic

Welcome to AutoJenkins’s documentation!

Next topic

This Page