Welcome to Atlassian Python API’s documentation!

Build status PyPI version PyPI Downloads License Codacy Badge Documentation Status

Getting started

Install package using pip:

pip install atlassian-python-api

Add a connection:

from atlassian import Jira
from atlassian import Confluence
from atlassian import Bitbucket
from atlassian import ServiceDesk
from atlassian import Xray

jira = Jira(
    url='http://localhost:8080',
    username='admin',
    password='admin')

confluence = Confluence(
    url='http://localhost:8090',
    username='admin',
    password='admin')

bitbucket = Bitbucket(
    url='http://localhost:7990',
    username='admin',
    password='admin')

service_desk = ServiceDesk(
    url='http://localhost:8080',
    username='admin',
    password='admin')

xray = Xray(
    url='http://localhost:8080',
    username='admin',
    password='admin')

Other authentication methods

Further authentication methods are available. For example OAuth can be used:

oauth_dict = {
    'access_token': 'access_token',
    'access_token_secret': 'access_token_secret',
    'consumer_key': 'consumer_key',
    'key_cert': 'key_cert'}

jira = Jira(
    url='http://localhost:8080',
    oauth=oauth_dict)

confluence = Confluence(
    url='http://localhost:8090',
    oauth=oauth_dict)

bitbucket = Bitbucket(
    url='http://localhost:7990',
    oauth=oauth_dict)

service_desk = ServiceDesk(
    url='http://localhost:8080',
    oauth=oauth_dict)

xray = Xray(
    url='http://localhost:8080',
    oauth=oauth_dict)

OAuth 2.0 is also supported:

from atlassian.bitbucket import Cloud

# token is a dictionary and must at least contain "access_token"
# and "token_type".
oauth2_dict = {
    "client_id": client_id,
    "token": token}

bitbucket_cloud = Cloud(
    oauth2=oauth2_dict)

# For a detailed example see bitbucket_oauth2.py in
# examples/bitbucket

Or Kerberos (installation with kerberos extra necessary):

jira = Jira(
    url='http://localhost:8080',
    kerberos={})

confluence = Confluence(
    url='http://localhost:8090',
    kerberos={})

bitbucket = Bitbucket(
    url='http://localhost:7990',
    kerberos={})

service_desk = ServiceDesk(
    url='http://localhost:8080',
    kerberos={})

xray = Xray(
    url='http://localhost:8080',
    kerberos={})

Or reuse cookie file:

from atlassian import utils
cookie_dict = utils.parse_cookie_file("cookie.txt")

jira = Jira(
    url='http://localhost:8080',
    cookies=cookie_dict)

confluence = Confluence(
    url='http://localhost:8090',
    cookies=cookie_dict)

bitbucket = Bitbucket(
    url='http://localhost:7990',
    cookies=cookie_dict)

service_desk = ServiceDesk(
    url='http://localhost:8080',
    cookies=cookie_dict)

xray = Xray(
    url='http://localhost:8080',
    cookies=cookie_dict)

Or using Personal Access Token Note: this method is valid for Jira Data center / server editions only! For Jira cloud, see below.

First, create your access token (check https://confluence.atlassian.com/enterprise/using-personal-access-tokens-1026032365.html for details) Then, just provide the token to the constructor:

jira = Jira(
    url='https://your-jira-instance.company.com',
    token=jira_access_token
)

To authenticate to the Atlassian Cloud APIs Jira, Confluence, ServiceDesk:

# Obtain an API token from: https://id.atlassian.com/manage-profile/security/api-tokens
# You cannot log-in with your regular password to these services.

jira = Jira(
    url='https://your-domain.atlassian.net',
    username=jira_username,
    password=jira_api_token,
    cloud=True)

confluence = Confluence(
    url='https://your-domain.atlassian.net',
    username=jira_username,
    password=jira_api_token,
    cloud=True)

service_desk = ServiceDesk(
    url='https://your-domain.atlassian.net',
    username=jira_username,
    password=jira_api_token,
    cloud=True)

And to Bitbucket Cloud:

# Log-in with E-Mail / Username and regular password
# or with Username and App password.
# Get App password from https://bitbucket.org/account/settings/app-passwords/.
# Log-in with E-Mail and App password not possible.
# Username can be found here: https://bitbucket.org/account/settings/

from atlassian.bitbucket import Cloud

bitbucket = Cloud(
    username=bitbucket_email,
    password=bitbucket_password,
    cloud=True)

bitbucket_app_pw = Cloud(
    username=bitbucket_username,
    password=bitbucket_app_password,
    cloud=True)