Python Jenkins¶
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 folders [1]
- Set the next build number [2]
- Install plugins
- and many more..
To install:
$ sudo python setup.py install
Online documentation:
Developers¶
Bug report:
Repository:
Cloning:
- git clone https://opendev.org/jjb/python-jenkins
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. |
Contents¶
- API reference
- Using Python-Jenkins
- Example 1: Get version of Jenkins
- Example 2: Logging into Jenkins using kerberos
- Example 3: Working with Jenkins Jobs
- Example 4: Working with Jenkins Views
- Example 5: Working with Jenkins Plugins
- Example 6: Working with Jenkins Nodes
- Example 7: Working with Jenkins Build Queue
- Example 8: Working with Jenkins Cloudbees Folders
- Example 9: Updating Next Build Number
- Example 9: Working with Build Promotions
- Example 10: Waiting for Jenkins to be ready
- Installing