Python API for managing jobs and nodes in a Jenkins CI instance
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Zuul ac7fc35b1b Merge "Make get_job_info fetch_all_builds work with jobs in folders" 1 month ago
doc Adopt use of pre-commit hooks 1 year ago
jenkins Make get_job_info fetch_all_builds work with jobs in folders 2 months ago
tests Merge "Make get_job_info fetch_all_builds work with jobs in folders" 1 month ago
.coveragerc Use standard cover setup 2 years ago
.gitignore Replace testr with stestr 1 year ago
.gitreview OpenDev Migration Patch 2 months ago
.pre-commit-config.yaml Adopt use of pre-commit hooks 1 year ago
.stestr.conf Replace testr with stestr 1 year ago
.zuul.yaml Update jobs 1 month ago
COPYING Added tags 8 years ago
MANIFEST.in Add MANIFEST.in 4 years ago
README.rst Adopt use of pre-commit hooks 1 year ago
bindep.txt Added pypy-dev to bindep.txt 1 year ago
requirements.txt Migration to using requests 1 year ago
setup.cfg Add Python 3.6 classifier to setup.cfg 7 months ago
setup.py Use pbr, pep8 checks & fixes, add "doc" tox target 5 years ago
test-requirements.txt Remove pin on mock module 1 month ago
tox.ini add python 3.6 unit test job 7 months ago

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
  • Delete builds
  • Wipeout job workspace
  • 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.

The python-jenkins developers communicate in the #openstack-jjb channel on Freenode's IRC network.

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

Writing a patch

Be sure that you lint code before created an code review. The easiest way to do this is to install git pre-commit hooks.

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.