Jenkins REST API client
Project description
Api4jenkins
Api4jenkins is a Jenkins REST API client for Python3 to access Jenkins Remote access API programmatically. It provides full functionalities to manage Job, Build, Credential, View, Queue, Plugins, Node, and System.
Features
- Object oriented, each Jenkins item has corresponding class, easy to use and extend
- Base on
api/json
, easy to query/filter attribute of item - Setup relationship between class just like Jenkins item
- Support api for almost every Jenkins item
- Pythonic
- Test with latest Jenkins LTS
Installation
python3 -m pip install api4jenkins
Quick start
>>> from api4jenkins import Jenkins
>>> j = Jenkins('http://127.0.0.1:8080/', auth=('admin', 'admin'))
>>> j.version
'2.176.2'
>>> xml = """<?xml version='1.1' encoding='UTF-8'?>
... <project>
... <builders>
... <hudson.tasks.Shell>
... <command>echo $JENKINS_VERSION</command>
... </hudson.tasks.Shell>
... </builders>
... </project>"""
>>> j.create_job('freestylejob', xml)
>>> import time
>>> item = j.build_job('freestylejob')
>>> while not item.get_build():
... time.sleep(1)
>>> build = item.get_build()
>>> for line in build.progressive_output():
... print(line)
...
Started by user admin
Running as SYSTEM
Building in workspace /var/jenkins_home/workspace/freestylejob
[freestylejob] $ /bin/sh -xe /tmp/jenkins2989549474028065940.sh
+ echo $JENKINS_VERSION
2.176.2
Finished: SUCCESS
>>> build.building
False
>>> build.result
'SUCCESS'
Documentation
User Guide and API Reference is available on Read the Docs
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
api4jenkins-1.5.tar.gz
(16.0 kB
view hashes)
Built Distribution
api4jenkins-1.5-py3-none-any.whl
(24.7 kB
view hashes)
Close
Hashes for api4jenkins-1.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2212b12dd29d3a841aa4f35176c66cd643d6f92d7dc0b355fa72882b0ecb7c8 |
|
MD5 | 05dc6ab43e7182af5f2056c0f8d7a07f |
|
BLAKE2b-256 | 82e89d212ccac110318da06b1fcaa89724e2a6853898ae5b67c65c6a4e8a539d |