Asynchronous library of Jenkins API based on aiohttp
Project description
aiojenkins
Asynchronous python library of Jenkins API endpoints based on aiohttp 🥳
Initial version of aiojenkins. Public API is still unstable (work is in progress)
Installation
pip install aiojenkins
Usage
Start new build:
import asyncio
import aiojenkins
jenkins = aiojenkins.Jenkins('http://your_server/jenkins', 'login', 'password')
async def example():
await jenkins.builds.start('job_name', dict(parameter='test'))
loop = asyncio.get_event_loop()
try:
loop.run_until_complete(example())
finally:
loop.run_until_complete(jenkins.close())
loop.close()
Please look at tests directory for more examples.
Testing
Currently tests aren't using any mocking. I am testing locally with dockerized LTS Jenkins ver. 2.222.3
Prerequisites: docker, pytest pytest-cov pytest-asyncio
docker run -d --name jenkins --restart always -p 8080:8080 jenkins/jenkins:lts
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
python3 -m pytest -v --cov=aiojenkins --cov-report=term --cov-report=html
Contributing
Feel free to PR :)
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
aiojenkins-0.6.1.tar.gz
(10.3 kB
view hashes)
Built Distribution
aiojenkins-0.6.1-py3-none-any.whl
(14.8 kB
view hashes)
Close
Hashes for aiojenkins-0.6.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7729b9b183d6c88a801f7589efd5f015058411fcd415e2b34d7b34d4690699c6 |
|
MD5 | 3fde7d054b79bb6d2f24f0e281365597 |
|
BLAKE2b-256 | 42d5e8d42e46ccc7afac2c65424b41bffef436a709b28f13919c241627151f40 |