Python API for managing jobs and nodes in a Jenkins CI instance
Go to file
Ardar Martian 0d7b59f5d2 get_running_builds failed when server has a path
When the server has an URL path such as http://example.org/ci/, the
get_running_builds() would fail to extract the job name from the
executor informations.  It most probably fails when using CloudBees
folder as well.

Relax the regex used to detect the job name by changing match() with
search().

Update JenkinsListRunningBuildsTest so it craft the URLs based on the
test scenario (make_url) instead of hardcoding them.  That would have
caught the bug. See 2aa1a5f1 which introduced the scenarios.

Signed-off-by: Antoine Musso <hashar@free.fr>
Change-Id: I1b69adf121ee74e3336ac9bd1d4d55797fb72de5
2016-11-08 10:47:04 +01:00
doc Fixed a minor typo in example of Python-jenkins 2016-07-04 18:10:30 +05:30
jenkins get_running_builds failed when server has a path 2016-11-08 10:47:04 +01:00
tests get_running_builds failed when server has a path 2016-11-08 10:47:04 +01: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 Update .gitreview for new namespace 2015-10-17 22:37:18 +00: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 Change repositories from stackforge to openstack 2015-11-03 06:39:27 +05:30
other-requirements.txt Setup required packages with bindep 2016-07-13 10:14:35 -07:00
requirements.txt Provider helper classes for plugin data management 2015-09-28 18:15:57 +01:00
setup.cfg Change repositories from stackforge to openstack 2015-11-03 06:39:27 +05:30
setup.py Use pbr, pep8 checks & fixes, add "doc" tox target 2014-07-02 14:12:31 -07:00
test-requirements.txt Add optional kerberos support 2016-01-27 23:08:04 +01:00
tox.ini Setup required packages with bindep 2016-07-13 10:14:35 -07:00

README.rst

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
  • Install plugins
  • 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.↩︎