b147d86446
Otherwise you get errors like:
Traceback (most recent call last):
File "path/bin/jenkins-jobs", line 8, in <module>
sys.exit(main())
^^^^^^
File "path/lib64/python3.12/site-packages/jenkins_jobs/cli/entry.py", line 179, in main
jjb.execute()
File "path/lib64/python3.12/site-packages/jenkins_jobs/cli/entry.py", line 158, in execute
ext.obj.execute(self.options, self.jjb_config)
File "path/lib64/python3.12/site-packages/jenkins_jobs/cli/subcommand/update.py", line 154, in execute
n = builder.delete_old_managed_views(keep=keep_views)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "path/lib64/python3.12/site-packages/jenkins_jobs/builder.py", line 402, in delete_old_managed_views
if view["name"] not in keep and self.is_view(view["name"], use_cache=False):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "path/lib64/python3.12/site-packages/jenkins_jobs/builder.py", line 384, in is_view
return self.jenkins.view_exists(view_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "path/lib64/python3.12/site-packages/jenkins/__init__.py", line 1857, in view_exists
if self.get_view_name(name) == name:
^^^^^^^^^^^^^^^^^^^^^^^^
File "path/lib64/python3.12/site-packages/jenkins/__init__.py", line 1834, in get_view_name
raise JenkinsException(
jenkins.JenkinsException: Jenkins returned an unexpected view name All (expected: all)
Fixes:
|
||
---|---|---|
doc | ||
jenkins | ||
tests | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.pre-commit-config.yaml | ||
.stestr.conf | ||
.zuul.yaml | ||
bindep.txt | ||
COPYING | ||
MANIFEST.in | ||
README.rst | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
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:
- 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
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.↩︎
The Next Build Number Plugin provides support for setting the next build number.↩︎