Connectors Jira

Jira

API

The Jira connector is an API connector that imports issues from Jira via JQL queries and produces structural claims representing issue metadata and relationships.

How it works

Claim patterns

PredicateExample
has_status(KEY-123, bug) --has_status--> (In Progress, status)
assigned_to(KEY-123, bug) --assigned_to--> (john, person)
reported_by(KEY-123, bug) --reported_by--> (jane, person)
labeled(KEY-123, bug) --labeled--> (urgent, label) per label
belongs_to(KEY-123, bug) --belongs_to--> (backend, component) per component
[link_type](KEY-123, bug) --[link_type]--> (KEY-456, task) per issue link

1 Get your Jira credentials

You need three things: your Jira instance URL (e.g. https://mycompany.atlassian.net), your Atlassian account email, and an API token.

2 Generate an API token

Go to id.atlassian.com/manage-profile/security/api-tokens and create a new API token. Copy the token value — you will not be able to see it again.

3 Install the requests package

$ pip install requests

4 Connect

conn = db.connect("jira",
    base_url="https://mycompany.atlassian.net",
    email="user@company.com",
    api_token=os.environ["JIRA_API_TOKEN"],
)
result = conn.run(db)
Parameter Required Default Description
base_url Yes Jira instance URL (e.g. https://mycompany.atlassian.net)
email Yes Atlassian account email
api_token Yes Atlassian API token
jql No ORDER BY updated DESC JQL filter query
max_results No 500 Maximum issues to fetch
extraction No heuristic Text extraction mode for descriptions
save No False Encrypt and persist credentials

Basic usage

conn = db.connect("jira",
    base_url="https://mycompany.atlassian.net",
    email="user@company.com",
    api_token=os.environ["JIRA_API_TOKEN"],
)
result = conn.run(db)

With JQL filter

conn = db.connect("jira",
    base_url="https://mycompany.atlassian.net",
    email="user@company.com",
    api_token=os.environ["JIRA_API_TOKEN"],
    jql="project = MYPROJ AND status = 'In Progress'",
    max_results=200,
)
result = conn.run(db)

With save

conn = db.connect("jira",
    base_url="https://mycompany.atlassian.net",
    email="user@company.com",
    api_token=os.environ["JIRA_API_TOKEN"],
    jql="project = MYPROJ ORDER BY updated DESC",
    save=True,
)
result = conn.run(db)

Related Connectors