I have assigned Github Copilot to specific transitions on my Jira board (Development, Code Review, etc.)
However, whenever I change the status of a ticket, the Github Copilot agent triggers, but cannot authenticate. Instead, I have to manually click on the Agents tab, select Github Copilot, and then it authenticates with my personal user account. However, this way I cannot set up a custom prompt, the agent just starts working.
I want to set up a way to have Agentic Development workflow, with Github Copilot writing the code and creating a PR when a ticket is moved to Development, for the agent to review the PR when the ticket is moved to Code Review, etc. However, since the agent doesn't authenticate with a user account in these transitions, I just get an Authentication error.
How can I fix this? It seems like there is a good opportunity for having this workflow with Github Copilot, but I cannot get it to work due to these authentication issues.
TL;DR: The authentication error happens because Jira status transitions run as background system tasks, which cannot invoke interactive personal OAuth sessions.
To get this working
Switch from User OAuth to Service Credentials: Configure a Fine-grained Personal Access Token (PAT) with the right access. This allows background tasks to authenticate without needing individual user logins.
Use Jira Automation instead of Transition Triggers: Instead of linking Copilot directly inside the workflow transition settings, create rules under Project Settings - Automation.
Add Custom Prompts: Use the Issue Transitioned trigger then add the Copilot action. This lets you pass ticket context and custom system prompts for automated code generation or PR reviews.
Thank you for the answer!
Regarding switching to Service Credentials: when I am prompted to connect Github Copilot to my Jira space, the only option is to connect to my logged in Github account, and there is no opportunity to use a PAT.
If I set up an automation with a custom prompt (to review the PR), the agent instead creates a new PR, and tries to immediately review that PR (which is basically empty), instead of reviewing the attached PR that was created by the Agent in the previous step.
Do you know how to get past these limitations?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
The issue boils down to two distinct problems:
Because the native Copilot app uses user-delegated OAuth 2.0 (no PAT option), background transitions fail without an active user session.
Log into Jira as an Admin in an incognito window, log into GitHub using a dedicated GitHub Bot Account (create one if don't have one), and authorise the connection. This sets a persistent workspace-level default runner so background triggers stop asking for individual user logins.
By default, the transition action defaults to its primary instruction set
In your Jira Automation rule, explicitly tell Copilot not to create a new PR and pass the linked PR using smart values, ex:
Do NOT create a new pull request or branch.
Target the existing pull request linked to this issue:
PR URL: {{issue.development.pullrequests.url}}
Review the code in that PR against the issue description and leave inline PR comments.
Alternative: You can also skip Jira for the review step entirely and enable Automatic Review on New Pull Requests directly inside GitHub Repository Settings.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Okay makes sense. Unfortunately we cannot use Bot accounts in my org, so I probably have to rely on the Jira Automation rules then for this.
Seemingly the Rovo Code Agent works a lot better, but that is of no use if my org is using Github and Copilot. :/
Thank you for your help!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
It is definitely a tough when organisational policies restrict bot accounts, as Atlassian's user-delegated OAuth model for GitHub Copilot inherently struggles with unattended background transitions.
If you ever decide to try a pure GitHub-centric approach in the future, you can bypass Jira's background triggers entirely by using GitHub Actions + Copilot CLI/API tied to an org-approved GitHub App, or by relying on GitHub's native auto-reviews while letting the standard GitHub for Jira integration handle the status syncs.
Good luck with your setup, and feel free to reach out if you need help tweaking your Jira Automation rules down the road!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.