Python API for managing jobs and nodes in a Jenkins CI instance
Go to file
Kevin L. Mitchell 244b4fed30 Allow setting the next build number
We can discover the next build number Jenkins will use for a particular
job using get_job_info(), but there's currently no way through
python-jenkins to set the next build number.  This change introduces
the set_next_build_number() method which, given a job name and a
desired number, sets the next build number of the named job to the
given number.

Limitations: Jenkins enforces that build numbers must be monotonically
increasing, but gives no indication of an error; it simply ignores the
offending value.

Change-Id: I23b5a84b7ea37d66bf778a89343e3c81ffa9ceb6
2015-09-24 10:06:05 -05:00
doc Allow setting the next build number 2015-09-24 10:06:05 -05:00
jenkins Allow setting the next build number 2015-09-24 10:06:05 -05:00
tests Allow setting the next build number 2015-09-24 10:06:05 -05:00
.coveragerc Add support for measuring coverage 2014-05-21 08:25:09 -07:00
.gitignore Use pbr, pep8 checks & fixes, add "doc" tox target 2014-07-02 14:12:31 -07:00
.gitreview Add a gitreview file 2014-07-02 10:14:04 -07:00
.testr.conf Use pbr, pep8 checks & fixes, add "doc" tox target 2014-07-02 14:12:31 -07:00
COPYING Added tags 2011-06-30 17:54:54 +01:00
MANIFEST.in Add MANIFEST.in 2014-08-22 11:29:08 -05:00
README.rst Allow setting the next build number 2015-09-24 10:06:05 -05:00
requirements.txt Add socket timeout tests and helpers 2015-07-24 18:32:40 +01:00
setup.cfg Doc Change: update supported python versions 2015-02-12 16:22:47 -08:00
setup.py Use pbr, pep8 checks & fixes, add "doc" tox target 2014-07-02 14:12:31 -07:00
test-requirements.txt Adds Cloudbees folder plugin support 2015-09-21 18:25:35 +01:00
tox.ini Change order of tox envs for testr 2015-09-15 10:24:36 -07:00

README

Python Jenkins is a python wrapper for the Jenkins REST API which aims to provide a more conventionally pythonic way of controlling a Jenkins server. It provides a higher-level API containing a number of convenience functions.

We like to use python-jenkins to automate our Jenkins servers. Here are some of the things you can use it for:

  • Create new jobs
  • Copy existing jobs
  • Delete jobs
  • Update jobs
  • Get a job's build information
  • Get Jenkins master version information
  • Get Jenkins plugin information
  • Start a build on a job
  • Create nodes
  • Enable/Disable nodes
  • Get information on nodes
  • Create/delete/reconfig views
  • Put server in shutdown mode (quiet down)
  • List running builds
  • Create/delete/update folders1
  • Set the next build number2
  • and many more..

To install:

$ sudo python setup.py install

Online documentation:

Developers

Bug report:

Repository:

Cloning:

Patches are submitted via Gerrit at:

Please do not submit GitHub pull requests, they will be automatically closed.

More details on how you can contribute is available on our wiki at:

Writing a patch

We ask that all code submissions be flake8 clean. The easiest way to do that is to run tox before submitting code for review in Gerrit. It will run flake8 in the same manner as the automated test suite that will run on proposed patchsets.

Installing without setup.py

Then install the required python packages using pip:

$ sudo pip install python-jenkins

Footnotes


  1. The free Cloudbees Folders Plugin provides support for a subset of the full folders functionality. For the complete capabilities you will need the paid for version of the plugin.↩︎

  2. The Next Build Number Plugin provides support for setting the next build number.↩︎