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 [#f1]_
* Set the next build number [#f2]_
* Install plugins
* and many more..
To install::
$ sudo python setup.py install
Online documentation:
* http://python-jenkins.readthedocs.org/en/latest/
Developers
----------
Bug report:
* https://bugs.launchpad.net/python-jenkins
Repository:
* https://git.openstack.org/cgit/openstack/python-jenkins
Cloning:
* git clone https://git.openstack.org/openstack/python-jenkins
Patches are submitted via Gerrit at:
* https://review.openstack.org/
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:
* http://docs.openstack.org/infra/manual/developers.html
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
.. _flake8: https://pypi.org/project/flake8
.. _tox: https://testrun.org/tox
.. _pip: https://pypi.org/project/pip
.. rubric:: Footnotes
.. [#f1] 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.
.. [#f2] The `Next Build Number Plugin
`_
provides support for setting the next build number.