What It Does
- fetches issues from one or more Jira projects using a JQL query
- converts issue content (summary, description) to Markdown for indexing
- optionally ingests issue comments as separate indexed content
- runs ingestion on configurable schedules
Authentication
Two authentication methods are supported:- Basic auth (
auth_type: basic): uses an email address and an API token. Suitable for Jira Cloud. Generate a token at id.atlassian.com/manage-profile/security/api-tokens. - Personal Access Token (
auth_type: token): uses a PAT as a Bearer token. Suitable for Jira Server, Data Center, and Jira Cloud.
Required Environment Variables
Set these in.env.rag:
JIRA1_SERVER_URL: base URL of your Jira instance (example:https://yourorg.atlassian.net)JIRA1_API_TOKEN: API token (basic auth) or Personal Access Token (PAT auth)JIRA1_EMAIL: Jira account email — required only whenauth_typeisbasicJIRA1_JQL: JQL query to select issues (example:project = MYPROJECT ORDER BY updated DESC)JIRA1_SCHEDULES: ingestion interval in seconds (default:3600)
config.yaml Example
Basic auth (Jira Cloud)
PAT auth (Jira Server / Data Center)
Configuration Reference
| Field | Required | Default | Description |
|---|---|---|---|
server_url | yes | — | Base URL of your Jira instance |
auth_type | yes | — | basic or token |
email | when auth_type=basic | — | Jira account email |
api_token | yes | — | API token or Personal Access Token |
jql | yes | — | JQL query to select issues |
max_results | no | 50 | Maximum number of issues to fetch |
load_comments | no | false | Whether to ingest issue comments |
max_comments | no | 10 | Maximum comments to include per issue |
schedules | no | 3600 | Ingestion interval in seconds |
request_delay | no | 0 | Seconds to wait between API requests. Increase to avoid rate-limiting (e.g. 0.1) |
Multiple Jira Sources
Add moresources entries (jira2, jira3, etc) with separate env vars per source.