Integrations

Jira

Partial

Assign Jira tickets to Opulent and turn them into PRs

Note

The Jira integration is Partial today. Issue intake, workflow state, comments, evidence links (PR remote links), and auto-triage triggers work now. Enterprise project-to-organization mapping is available on the Enterprise plan, and some agent-session surfaces are still rolling out.

Setting up the integration

  1. In your Opulent account at platform.opulentia.ai, go to Settings > Connections > Jira, and click "Connect".
  2. You'll be redirected to Jira to review permissions and grant Opulent access.
  3. Once connected, configure your playbook labels and optionally set up automation triggers in the settings page.
Tip

After connecting, we recommend connecting a service account so Opulent's comments appear as the bot, not as your personal account. See Connecting a service account below.

How to trigger Opulent from Jira

There are four ways to start an Opulent session from a Jira ticket:

Assign the ticket to Opulent

Assign the ticket to the Opulent service account directly in Jira. Opulent will use the default playbook configured in your Jira integration settings to start working on the ticket.

Add a playbook label

Add a playbook label (e.g. !plan, !implement, !triage) to the ticket. Opulent will start a session using the specific playbook that matches the label. These labels correspond to the playbook labels configured in your integration settings. You need to create these labels manually in your Jira project — copy the label name from the integration settings.

Add the "opulent" label

Add the opulent label to any Jira issue (you may need to create this label in your Jira project first). Opulent will use the default playbook to start working on the ticket.

Note

The integration uses word-boundary matching (case-insensitive), so any label containing opulent as a standalone word will trigger it — for example, opulent, Opulent, opulent-workshop, or opulent-task. Labels where "opulent" is part of a larger word, like opulentworkshop or opulent_workshop, will not trigger it.

@mention Opulent in a comment

Mention @Opulent in a ticket comment with specific instructions. Opulent will start a session and use your comment as the task instruction, without applying a playbook. If a session already exists for the ticket, your message will be forwarded to the existing session.

Configuring the integration

Session mode

The session mode toggle controls how Opulent responds to Jira triggers:

  • Direct session creation (enabled by default): Opulent creates a full session and works on the issue, posting updates back to Jira.
  • Scoping only (disabled): Opulent only analyzes the ticket and posts a scoping comment with a summary, implementation plan, and confidence estimate. You can then click the provided link to start a session manually.

Playbook labels

Playbook labels let you control which Opulent playbooks are available as Jira labels. When you add a playbook, its macro (e.g. !plan) becomes a label you can assign to Jira issues to trigger Opulent with that playbook. Labels must be created manually in your Jira project — copy the label name from the integration settings.

  • Default playbook: One playbook is marked as the default. When a ticket is triggered without a specific playbook label (e.g. with just the opulent label or by assigning the ticket to Opulent), Opulent uses this default playbook.
  • Adding playbooks: Click "Add playbook" to add additional playbooks. Only playbooks with a macro can be added.
  • Removing playbooks: Remove a playbook to stop using its label as a trigger.

Automation triggers

Automation triggers let Opulent automatically start working on tickets when they match certain conditions, without manual assignment or labeling — this is the auto-triage path for Jira. You can configure triggers based on:

  • Projects: Only trigger for tickets in specific Jira projects.
  • Labels: Only trigger when a ticket has specific labels.
  • Statuses: Only trigger when a ticket reaches a specific status (e.g. "To Do", "In Progress").
  • Playbook: Optionally specify which playbook Opulent should use for the triggered session.

Triggers use edge detection, meaning they only fire when a ticket transitions from not matching to matching the trigger conditions (e.g. when a label is added or a status changes), not for tickets that already match.

Enterprise: Jira project mapping

For enterprise deployments with multiple Opulent organizations, admins can map Jira projects to specific Opulent organizations. This ensures tickets from each Jira project are routed to the correct Opulent organization. A mapping is required for the Jira integration to work in enterprise setups.

Interacting with Opulent in Jira

Once Opulent starts working on a ticket, it communicates back through Jira:

  • PR links: When Opulent creates a pull request, the PR URL is automatically added as a remote link on the Jira issue and posted as a comment — the evidence link back to the work.
  • Session link: A direct link to the Opulent session in the web app is provided so you can follow progress in real time.
  • Follow-up messages: Mention @Opulent in a comment to give Opulent additional instructions or ask questions.

Connecting a service account

After connecting Jira with your admin account, you can optionally connect a service account using OAuth 2.0 client credentials. This makes Opulent's comments appear under a dedicated bot identity instead of your personal account.

  1. In your Atlassian organization's admin settings, create an OAuth 2.0 service account with the following Classic scopes:
    • read:me
    • read:jira-user
    • read:jira-work
    • write:jira-work
  2. Ensure the service account has the User application role for Jira. In Atlassian Admin, go to Directory > Service accounts, select the service account, click ⋯ > Allow access, and set the Jira role to User. You can also set this when first creating the service account. Without this role, the service account won't be able to access Jira resources.
  3. In Settings > Connections > Jira, click Connect service account and enter the client ID and client secret.