Jira
Connect Jira Cloud to create issues from feedback, create or link Jira issues from support tickets, and sync Jira workflow states back to post and ticket statuses.
Push feedback into your Jira workflow. Automatically create Jira issues when feedback is submitted, choose the project and issue type, and keep statuses synchronized between Quackback and Jira. When an issue transitions through your Jira workflow, the linked feedback post updates too.
Note: On Quackback Cloud, integrations are available on the Business and Enterprise plans. Self-hosted installs include every integration.
Overview
The Jira integration enables:
- Create issues from feedback posts: automatically create a Jira issue with a configurable project and issue type when new feedback is submitted
- Link posts to issues: link feedback posts to Jira issues for traceability
- Ticket linking: link support tickets to existing Jira issues, or create a new issue straight from a ticket
- Status sync: map Jira workflow statuses to feedback post and ticket statuses and keep them in sync via inbound webhooks
Prerequisites
- The Owner or Admin role in Quackback (or a custom role that can manage integrations)
- A Jira Cloud site with admin access
- Self-hosted only: an Atlassian OAuth application (created at Atlassian Developer Console)
Self-hosted: create your Jira app
Note: On Quackback Cloud, skip this section. Quackback provides the Jira app for you, so you go straight to connecting.
Self-hosted instances connect through an app you create. Do this once before you connect.
Create an Atlassian OAuth application
- Go to Atlassian Developer Console
- Create a new OAuth 2.0 (3LO) application
- Configure the callback URL to point to your Quackback instance
- Copy the Client ID and Client Secret
Save the app credentials in Quackback
- Go to Admin > Settings > Integrations > Jira
Enter the following credentials:
- Client ID from your Atlassian OAuth application
- Client Secret from your Atlassian OAuth application
Setup
1. Connect your site
- Go to Admin > Settings > Integrations > Jira
- Click Connect to Jira
- You'll be redirected to Atlassian to authorize the application
- Select the Jira site to connect
- Review the permissions and click Accept
The app requests these OAuth scopes: read:jira-work, write:jira-work, offline_access.
read:jira-work: read projects, issues, and workflow stateswrite:jira-work: create and update issuesoffline_access: refresh the access token when it expires
2. Select a project
Back in Quackback:
- Choose the Jira project where issues should be created
- Select the issue type (for example, Task, Story, or Bug): the list is fetched from the selected project
3. Configure status mappings
Map Jira workflow states to Quackback statuses:
- Go to the Jira integration settings
- Configure status mappings between Jira states and Quackback statuses
- Map each Jira state name to the corresponding Quackback status, or set it to ignore
Status sync works via Jira webhooks. When a linked Jira issue changes workflow state, the corresponding Quackback post status updates automatically.
Note: Jira Cloud webhooks expire after 30 days by default. Quackback handles webhook re-registration automatically.
4. Configure events
Choose which events trigger Jira actions:
Event | Action |
|---|---|
New post | Create a Jira issue with the feedback details |
Note: The Jira integration creates issues only for
post.createdevents. Status changes and comments are handled through status sync rather than by creating new issues.
5. Save and test
- Click Save
- Submit test feedback to verify an issue is created in the selected Jira project
Issue format
When a new feedback post triggers issue creation, the Jira issue includes:
- Summary: The feedback post title
- Description: The post content in Atlassian Document Format (ADF), followed by metadata including the author, board, vote count, and a link back to the post in Quackback
The description uses Jira's native rich text format, so it renders correctly in the Jira UI.
Ticket linking
Support tickets link to Jira issues from the ticket detail panel in the inbox:
- Link existing issue: paste a browse URL or the bare
PROJ-42issue key. When the integration knows your site URL, issues from other Jira sites are rejected. - Create new issue: creates the issue in the connected project with the ticket's title and the first customer message as the description. Internal notes are never included.
Status sync
When status sync is configured, Quackback registers a webhook with Jira to receive issue update events. When a linked Jira issue's workflow state changes:
- Jira sends a
jira:issue_updatedwebhook to Quackback - Quackback verifies the signature using HMAC-SHA256 via the
X-Hub-Signatureheader - Quackback checks the changelog for a status field change
- If a status mapping exists for the new state, the linked feedback post's status is updated
Tickets have their own mapping table in the integration settings. Linked tickets also get a team-only thread note and a Linked issue updates notification for watching agents on every state change, whether or not a mapping applies.
On post delete
When you delete a feedback post with a linked Jira issue, you can close the issue at the same time. The delete dialog shows a checkbox for each linked issue.
To pre-check this by default, enable the On post delete toggle in the Jira integration settings. You can always override the default per delete.
Manage the integration
Pause
Temporarily stop the integration:
- Go to Admin > Settings > Integrations > Jira
- Toggle Enabled off
- Issue creation and status sync pause, but the connection remains
Reconnect
If you see connection errors:
- Click Reconnect
- Re-authorize in Jira
Tokens are refreshed automatically shortly before they expire.
Disconnect
To fully remove the integration:
- Go to Admin > Settings > Integrations > Jira
- Click Disconnect
- Confirm the action
Note: Disconnecting removes the registered webhook. Jira does not support server-side token revocation, but the tokens become unusable once the connection is removed.
Who is shown as the creator?
Quackback creates issues in Jira as the account that connected the integration, so Jira shows that person as the creator. To change the creator (for example, to a shared bot account), disconnect, sign in to Jira as the other account, and connect again.
Troubleshooting
Issues not being created
- Check integration status: look for errors in settings
- Verify project selection: ensure a Jira project is selected
- Check issue type: confirm a valid issue type is configured
- Check event mappings: confirm
post.createdis mapped - Jira permissions: the connected Jira account must have permission to create issues in the selected project
Status sync not working
- Check status mappings: ensure Jira workflow states are mapped to Quackback statuses
- Verify webhook: the Jira webhook may need to be re-registered (webhooks expire after 30 days)
- Check permissions: the connected account needs access to the project's issues
"Authentication Failed" error
Jira OAuth tokens expire and are automatically refreshed. If refresh fails:
- Click Reconnect
- Re-authorize the app in Jira
"Cloud ID Not Found" error
This usually means the Atlassian site was not selected during authorization:
- Click Reconnect
- Ensure you select a Jira site when authorizing
Related articles
- GitHub: GitHub issue integration
- Linear: Linear issue integration
- Manage support tickets: Work tickets in the inbox
- Integrations overview: All integrations
Was this helpful?
Your feedback shapes what we write next.
