Jenkins Job Builder takes simple descriptions of Jenkins jobs in YAML format,
and uses them to configure Jenkins. You can keep your job descriptions in human
readable text format in a version control system to make changes and auditing
easier. It also has a flexible template system, so creating many similarly
configured jobs is easy.
$ sudo python setup.py install
git clone https://git.openstack.org/openstack-infra/jenkins-job-builder
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 pep8 and pyflakes clean. The
easiest way to do that is to run tox_ before submitting code for
review in Gerrit. It will run
pyflakes in the same
manner as the automated test suite that will run on proposed
When creating new YAML components, please observe the following style
- All YAML identifiers (including component names and arguments)
should be lower-case and multiple word identifiers should use
hyphens. E.g., "build-trigger".
- The Python functions that implement components should have the same
name as the YAML keyword, but should use underscores instead of
hyphens. E.g., "build_trigger".
This consistency will help users avoid simple mistakes when writing
YAML, as well as developers when matching YAML components to Python
Installing without setup.py
For YAML support, you will need libyaml_ installed.
Mac OS X::
$ brew install libyaml
Then install the required python packages using pip_::
$ sudo pip install PyYAML python-jenkins
.. _Jenkins: http://jenkins-ci.org/
.. _YAML: http://www.yaml.org/
.. _pep8: https://pypi.python.org/pypi/pep8
.. _pyflakes: https://pypi.python.org/pypi/pyflakes
.. _tox: https://testrun.org/tox
.. _libyaml: http://pyyaml.org/wiki/LibYAML
.. _pip: https://pypi.python.org/pypi/pip