Jira
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.
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
- Status sync -- map Jira workflow statuses to feedback post statuses and keep them in sync via inbound webhooks
Prerequisites
- Admin access to your Quackback workspace
- A Jira Cloud site with admin access
- An Atlassian OAuth application (created at Atlassian Developer Console)
Setup
1. 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
2. Configure Platform Credentials
- Go to Admin → Settings → Integrations → Jira
- Enter the following credentials:
- Client ID from your Atlassian OAuth application
- Client Secret from your Atlassian OAuth application
3. Connect Your Site
- 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
4. Select a Project
Back in Quackback:
- Choose the Jira project where issues should be created
- Select the issue type (e.g., Task, Story, Bug) -- the list is fetched from the selected project
5. 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
- Mappings are configurable per workspace -- 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.
Jira Cloud webhooks expire after 30 days by default. Quackback handles webhook re-registration automatically.
6. Configure Events
Choose which events trigger Jira actions:
| Event | Action |
|---|---|
| New post | Create a Jira issue with the feedback details |
The Jira integration currently creates issues only for post.created events. Status changes and comments are handled through the status sync mechanism rather than creating new issues.
7. 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 is formatted using Jira's native rich text format, so it renders correctly in the Jira UI.
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
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 automatically refreshed when they expire (within 5 minutes of expiry)
Disconnect
To fully remove the integration:
- Go to Admin → Settings → Integrations → Jira
- Click Disconnect
- Confirm the action
Disconnecting removes the registered webhook. Jira does not support server-side token revocation, but the tokens become unusable once the connection is removed.
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 - Admin 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 properly selected during authorization:
- Click Reconnect
- Ensure you select a Jira site when authorizing
Next Steps
- GitHub - GitHub issue integration
- Webhooks - Build custom integrations
- Integrations Overview - All integrations