CortexDB Docs
Connectors

Jira Connector

Ingest Jira issues, comments, and attachments into CortexDB.

Polls Jira issues (via JQL on updated), their comments, and attachments, and writes them to CortexDB as experiences.

Two ways to run this connector

Self-hostedpip install 'cortexdb-connectors[jira]' then cortexdb-sync sync jira. Managed — CortexDB runs the connector as a worker. See the Connectors overview.

1. Prepare credentials

Create an API token at id.atlassian.com/manage-profile/security/api-tokens. You need three values: your Jira site URL (e.g. https://acme.atlassian.net), the account email, and the API token. The connector authenticates as HTTP Basic (email:token).

What gets written

EventModality
Issuedocument (summary + description)
Commentconversation
Status changeobservation
Attachmentuploaded to /v1/blobs, ingested as content.kind="blob_ref"

Each carries an entity reference to the issue and metadata (issue_key, status, a source_url).

Corrected fields

  • The idempotency_key is jira:{issue_key}:{updated-ISO-timestamp} (a comment edit bumps the issue's updated, so the timestamp is the version marker) — no <project>- prefix segment and no changelog_id. Attachments key on jira:att:{att_id}.
  • Comments link to the issue via a thread=jira:{issue_key} label, not context.preceded_by.

Run it yourself

pip install 'cortexdb-connectors[jira]'
pip install cortexdb-cli && cortexdb init

export JIRA_URL=https://acme.atlassian.net   # required
export JIRA_EMAIL=[email protected]               # required
export JIRA_API_TOKEN=...                    # required
export JIRA_PROJECT_KEYS=ENG,PROD            # required — the connector aborts with no projects

cortexdb-sync --api-url http://localhost:3141 sync jira
cortexdb-sync --api-url http://localhost:3141 watch jira --interval 300

JIRA_PROJECT_KEYS is functionally required

cortexdb-sync list shows only the three auth vars as "required env", but the connector aborts without projects — supply them via JIRA_PROJECT_KEYS (or a project_keys: [...] list in a --config YAML). Cursor state persists in ~/.cortexdb/sync_state.json.

See also

On this page