- Notifications
You must be signed in to change notification settings - Fork697
Atlassian Python REST API wrapper
License
atlassian-api/atlassian-python-api
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Theatlassian-python-api library provides asimple 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, theatlassian-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 offunctionality 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
Moreexamples inexamples/
directory.
Here's a short example of how to create a Confluence page:
fromatlassianimportConfluenceconfluence=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:
fromatlassianimportJirajira=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)
The traditional jql method is deprecated for Jira Cloud users, as Atlassian has transitioned to a nextPageToken-based pagination approach instead of startAt. Use enhanced_jql for improved performance and future compatibility.
fromatlassianimportJirajira=Jira(url='https://your-jira-instance.atlassian.net',username='your-email@example.com',password='your-api-token',cloud=True# Ensure this is set to True for Jira Cloud)JQL='project = DEMO AND status IN ("To Do", "In Progress") ORDER BY issuekey'# Fetch issues using the new enhanced_jql methoddata=jira.enhanced_jql(JQL)print(data)
Also, you can use the Bitbucket module e.g. for getting project list
fromatlassianimportBitbucketbitbucket=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:
fromatlassianimportServiceDesksd=ServiceDesk(url='http://localhost:7990',username='admin',password='admin')data=sd.get_my_customer_requests()print(data)
Using Insight (CMDB Tool for Jira):
fromatlassianimportInsightinsight=Insight(url='http://localhost:7990',username='admin',password='admin')data=insight.get_object(88)print(data)
Using Xray (Test Management tool for Jira):
fromatlassianimportXrayxr=Xray(url='http://localhost:7990',username='admin',password='admin')data=xr.get_tests('TEST-001')print(data)
Using Bamboo:
fromatlassianimportBamboobamboo=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:
frompprintimportpprint# 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 theContribution 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:
About
Atlassian Python REST API wrapper
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.