Atlassian Python REST API wrapper
|Build Status| |PyPI version| |PyPI - Downloads| |License| |Codacy Badge| |Docs| |Discord|
What is it?
The atlassian-python-api library provides a simple and convenient way to interact with Atlassian products (such as Jira Service management, Jira Software, Confluence, Bitbucket and apps Insight, X-Ray) using Python. It is based on the official REST APIs of these products, as well as additional private methods and protocols (such as xml+rpc and raw HTTP requests). This library can be used to automate tasks, integrate with other tools and systems, and build custom applications that interact with Atlassian products. It supports a wide range of Atlassian products, including Jira, Confluence, Bitbucket, StatusPage and others, and is compatible with both Atlassian Server and Cloud instances.
Overall, the atlassian-python-api is a useful tool for Python developers who want to work with Atlassian products. It is well-documented and actively maintained, and provides a convenient way to access the full range of functionality offered by the Atlassian REST APIs.
Documentation
Documentation
_
.. _Documentation: https://atlassian-python-api.readthedocs.io
How to Install?
From PyPI
.. code-block:: console
$ pip install atlassian-python-api
From Source
pip install -r requirements.txt
to install the required packagespipenv install && pipenv install --dev
Examples
More examples in :code:examples/
directory.
Here's a short example of how to create a Confluence page:
.. code-block:: python
from atlassian import Confluence
confluence = Confluence(
url='http://localhost:8090',
username='admin',
password='admin')
status = confluence.create_page(
space='DEMO',
title='This is the title',
body='This is the body. You can use <strong>HTML tags</strong>!')
print(status)
Please, note Confluence Cloud need to be used via token parameter. And here's another example of how to get issues from Jira using JQL Query:
.. code-block:: python
from atlassian import Jira
jira = Jira(
url='http://localhost:8080',
username='admin',
password='admin')
JQL = 'project = DEMO AND status IN ("To Do", "In Progress") ORDER BY issuekey'
data = jira.jql(JQL)
print(data)
Also, you can use the Bitbucket module e.g. for getting project list
.. code-block:: python
from atlassian import Bitbucket
bitbucket = Bitbucket(
url='http://localhost:7990',
username='admin',
password='admin')
data = bitbucket.project_list()
print(data)
Now you can use the Jira Service Desk module. See docs. Example to get your requests:
.. code-block:: python
from atlassian import ServiceDesk
sd = ServiceDesk(
url='http://localhost:7990',
username='admin',
password='admin')
data = sd.get_my_customer_requests()
print(data)
Using Insight (CMDB Tool for Jira):
.. code-block:: python
from atlassian import Insight
insight = Insight(
url='http://localhost:7990',
username='admin',
password='admin')
data = insight.get_object(88)
print(data)
Using Xray (Test Management tool for Jira):
.. code-block:: python
from atlassian import Xray
xr = Xray(
url='http://localhost:7990',
username='admin',
password='admin')
data = xr.get_tests('TEST-001')
print(data)
Using Bamboo:
.. code-block:: python
from atlassian import Bamboo
bamboo = Bamboo(
url='http://localhost:6990/bamboo/',
token="<TOKEN>")
data = bamboo.get_elastic_configurations()
print(data)
If you want to see the response in pretty print format JSON. Feel free for use construction like:
.. code-block:: python
from pprint import pprint
# you code here
# and then print using pprint(result) instead of print(result)
pprint(response)
How to contribute?
First of all, I am happy for any PR requests.
Let's fork and provide your changes :)
See the Contribution Guidelines for this project
_ for details on how to make changes to this library.
.. _Contribution Guidelines for this project: CONTRIBUTING.rst .. |Build Status| image:: https://github.com/atlassian-api/atlassian-python-api/workflows/Test/badge.svg?branch=master :target: https://github.com/atlassian-api/atlassian-python-api/actions?query=workflow%3ATest+branch%3Amaster :alt: Build status .. |PyPI version| image:: https://badge.fury.io/py/atlassian-python-api.svg :target: https://badge.fury.io/py/atlassian-python-api :alt: PyPI version .. |License| image:: https://img.shields.io/pypi/l/atlassian-python-api.svg :target: https://pypi.python.org/pypi/atlassian-python-api :alt: License .. |Codacy Badge| image:: https://app.codacy.com/project/badge/Grade/2cca43995cf041b8b181e2b2ff04cee6 :target: https://app.codacy.com/gh/atlassian-api/atlassian-python-api/dashboard :alt: Codacy Badge .. |PyPI - Downloads| image:: https://static.pepy.tech/badge/atlassian-python-api/month :alt: PyPI - Downloads .. |Docs| image:: https://readthedocs.org/projects/atlassian-python-api/badge/?version=latest :target: https://atlassian-python-api.readthedocs.io/?badge=latest :alt: Documentation Status .. |Discord| image:: https://img.shields.io/discord/756142204761669743.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2 :alt: Discord Chat :target: https://discord.gg/FCJsvqh
Credits
In addition to all the contributors we would like to thank these vendors:
.. _Atlassian: https://www.atlassian.com/ .. _JetBrains: http://www.jetbrains.com .. _PyCharm: http://www.jetbrains.com/pycharm/ .. _GitHub: https://github.com/ .. _Microsoft: https://github.com/Microsoft/vscode/ .. _VSCode: https://code.visualstudio.com/