Async python client for `Jenkins <https://jenkins.io>`_
=======================================================
|Build status|
|Docs status|
|Coverage status|
|Version status|
|Downloads status|
.. |Build Status|
image:: https://github.com/pbelskiy/aiojenkins/workflows/Tests/badge.svg
.. |Docs status|
image:: https://readthedocs.org/projects/aiojenkins/badge/?version=latest
.. |Coverage status|
image:: https://img.shields.io/coveralls/github/pbelskiy/aiojenkins?label=Coverage
.. |Version status|
image:: https://img.shields.io/pypi/pyversions/aiojenkins?label=Python
.. |Downloads status|
image:: https://img.shields.io/pypi/dm/aiojenkins?color=1&label=Downloads
Asynchronous python package of Jenkins API endpoints based on aiohttp.
----
Also pay attention to brand new package with same API set but with sync and async interfaces:
https://github.com/pbelskiy/ujenkins
Installation
------------
.. code:: shell
pip3 install aiojenkins
Usage
-----
Start new build:
.. code:: python
import asyncio
import aiojenkins
jenkins = aiojenkins.Jenkins('http://your_server/jenkins', 'user', '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. <https://github.com/pbelskiy/aiojenkins/tree/master/tests>`_
Documentation
-------------
`Read the Docs <https://aiojenkins.readthedocs.io/en/latest/>`_
Testing
-------
Currently tests aren't using any mocking.
I am testing locally with dockerized LTS Jenkins ver. 2.222.3
Prerequisites: `docker, tox`
::
docker run -d --name jenkins --restart always -p 8080:8080 jenkins/jenkins:lts
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
chromium http://localhost:8080 # create admin:admin
tox
Or Jenkins 1.554
::
docker run -d --name jenkins-1.554 --restart always -p 8081:8080 jenkins:1.554
Contributing
------------
Feel free to PR
Raw data
{
"_id": null,
"home_page": "https://github.com/pbelskiy/aiojenkins",
"name": "aiojenkins",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "aiojenkins,async jenkins api",
"author": "Petr Belskiy",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/24/3d/0e911e095f5af392f804e325eabdd43eac278a4b2a071aa1ac9466194568/aiojenkins-0.7.8.tar.gz",
"platform": null,
"description": "Async python client for `Jenkins <https://jenkins.io>`_\n=======================================================\n\n|Build status|\n|Docs status|\n|Coverage status|\n|Version status|\n|Downloads status|\n\n.. |Build Status|\n image:: https://github.com/pbelskiy/aiojenkins/workflows/Tests/badge.svg\n.. |Docs status|\n image:: https://readthedocs.org/projects/aiojenkins/badge/?version=latest\n.. |Coverage status|\n image:: https://img.shields.io/coveralls/github/pbelskiy/aiojenkins?label=Coverage\n.. |Version status|\n image:: https://img.shields.io/pypi/pyversions/aiojenkins?label=Python\n.. |Downloads status|\n image:: https://img.shields.io/pypi/dm/aiojenkins?color=1&label=Downloads\n\n\nAsynchronous python package of Jenkins API endpoints based on aiohttp.\n\n----\n\nAlso pay attention to brand new package with same API set but with sync and async interfaces:\n\nhttps://github.com/pbelskiy/ujenkins\n\nInstallation\n------------\n\n.. code:: shell\n\n pip3 install aiojenkins\n\nUsage\n-----\n\nStart new build:\n\n.. code:: python\n\n import asyncio\n import aiojenkins\n\n jenkins = aiojenkins.Jenkins('http://your_server/jenkins', 'user', 'password')\n\n async def example():\n await jenkins.builds.start('job_name', dict(parameter='test'))\n\n loop = asyncio.get_event_loop()\n try:\n loop.run_until_complete(example())\n finally:\n loop.run_until_complete(jenkins.close())\n loop.close()\n\n`Please look at tests directory for more examples. <https://github.com/pbelskiy/aiojenkins/tree/master/tests>`_\n\nDocumentation\n-------------\n\n`Read the Docs <https://aiojenkins.readthedocs.io/en/latest/>`_\n\nTesting\n-------\n\nCurrently tests aren't using any mocking.\nI am testing locally with dockerized LTS Jenkins ver. 2.222.3\n\nPrerequisites: `docker, tox`\n\n::\n\n docker run -d --name jenkins --restart always -p 8080:8080 jenkins/jenkins:lts\n docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword\n chromium http://localhost:8080 # create admin:admin\n tox\n\n\nOr Jenkins 1.554\n\n::\n\n docker run -d --name jenkins-1.554 --restart always -p 8081:8080 jenkins:1.554\n\nContributing\n------------\n\nFeel free to PR\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Asynchronous library of Jenkins API based on aiohttp",
"version": "0.7.8",
"split_keywords": [
"aiojenkins",
"async jenkins api"
],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "5ceb74aa72a25c53d4a7676b8391012c",
"sha256": "cd995531d82cb1992739ba3278edc730134b197fac32fe31e3ecb541a81b4a37"
},
"downloads": -1,
"filename": "aiojenkins-0.7.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5ceb74aa72a25c53d4a7676b8391012c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 16011,
"upload_time": "2022-12-23T16:14:54",
"upload_time_iso_8601": "2022-12-23T16:14:54.377211Z",
"url": "https://files.pythonhosted.org/packages/26/bd/9c99a4059f49aa1652bccd8f9c91be07e4e19766a9b06fad9a33f945c35f/aiojenkins-0.7.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "79c05b1b0cc8be5e1bebdc8791a4dcc6",
"sha256": "6a8f879c36e473c10384b0370995f62294c0c7bc2f8ab160f70c6cd6a0790566"
},
"downloads": -1,
"filename": "aiojenkins-0.7.8.tar.gz",
"has_sig": false,
"md5_digest": "79c05b1b0cc8be5e1bebdc8791a4dcc6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 13775,
"upload_time": "2022-12-23T16:14:55",
"upload_time_iso_8601": "2022-12-23T16:14:55.916021Z",
"url": "https://files.pythonhosted.org/packages/24/3d/0e911e095f5af392f804e325eabdd43eac278a4b2a071aa1ac9466194568/aiojenkins-0.7.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-12-23 16:14:55",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "pbelskiy",
"github_project": "aiojenkins",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "aiohttp",
"specs": []
}
],
"lcname": "aiojenkins"
}