Python API for managing jobs and nodes in a Jenkins CI instance
Go to file
Guillaume DeMengin c0bbc66878 have get_build_artifact support non-json files
remove the json parsing from get_build_artifact to download artifacts not json-formatted
and use a stream to download binary artifacts

all artifacts are returned as binary string to avoid encoding issues

users wishing to parse json artifacts will need to do it outside of this method
(alternative could have been to keep get_build_artifact for json and add
 a new get_binary_build_artifact method but IMHO the json parsing should be done outside)

Closes-Bug: #1973243
Change-Id: I24ce4ecd854f8a19ed4d760404adb7d1ac6b5509
2022-06-12 08:34:41 +02:00
doc Adopt use of pre-commit hooks 2018-06-22 13:37:30 +01:00
jenkins have get_build_artifact support non-json files 2022-06-12 08:34:41 +02:00
tests have get_build_artifact support non-json files 2022-06-12 08:34:41 +02:00
.coveragerc Use standard cover setup 2016-12-20 22:17:24 +01:00
.gitignore Replace testr with stestr 2018-04-04 23:25:21 +01:00
.gitreview OpenDev Migration Patch 2019-04-19 19:49:46 +00:00
.pre-commit-config.yaml Adopt use of pre-commit hooks 2018-06-22 13:37:30 +01:00
.stestr.conf Replace testr with stestr 2018-04-04 23:25:21 +01:00
.zuul.yaml Blacklist stestr 3.0.0 and drop pypy 2020-04-17 14:46:18 +02: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 Switch links for contributors to opendev.org or launchpad 2020-08-01 09:27:53 +02:00
bindep.txt Added pypy-dev to bindep.txt 2018-06-16 21:17:34 +01:00
requirements.txt Migration to using requests 2018-02-12 11:16:54 +00:00
setup.cfg Switch links for contributors to opendev.org or launchpad 2020-08-01 09:27:53 +02:00
setup.py Use pbr, pep8 checks & fixes, add "doc" tox target 2014-07-02 14:12:31 -07:00
test-requirements.txt Blacklist stestr 3.0.0 and drop pypy 2020-04-17 14:46:18 +02:00
tox.ini Switch links for contributors to opendev.org or launchpad 2020-08-01 09:27:53 +02: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
  • 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.↩︎