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.
From PyPI
$ pip install atlassian-python-api
From Source
- Git clone repository
- Use
pip install -r requirements.txt
to install the required packages - or
pipenv install && pipenv install --dev
More examples in examples/
directory.
Here's a short example of how to create a Confluence page:
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:
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
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:
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):
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):
from atlassian import Xray
xr = Xray(
url='http://localhost:7990',
username='admin',
password='admin')
data = xr.get_tests('TEST-001')
print(data)
Using Bamboo:
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:
from pprint import pprint
# you code here
# and then print using pprint(result) instead of print(result)
pprint(response)
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.
In addition to all the contributors we would like to thank these vendors: