In Jira, go to Settings → System → WebHooks → Create a WebHook
Set the URL to: https://your-instance.stackflow-tech.com/prod/api/webhooks/inbound/jira
Select the events: Issue Created, Issue Updated, Issue Deleted, Comment Created
Set JQL filter (optional): project in (OPS, INFRA) AND labels = stackflow-sync
Step 4: Connect in StackFlow
Navigate to Admin → Integration Hub → Jira → Configure
Enter the Jira base URL, account email, and API token
Configure the project mapping table
Set the StackFlow webhook URL in Jira (from step 3)
Click Save & Test
Bidirectional Status Sync
StackFlow State
Jira Status
new
To Do / Open
in_progress
In Progress
on_hold
Blocked / On Hold
resolved
Done / Resolved
closed
Closed
Field Mapping
StackFlow Field
Jira Field
Notes
short_description
Summary
Bidirectional
description
Description
Bidirectional
priority
Priority
P1→Highest, P2→High, P3→Medium, P4→Low
assigned_to
Assignee
Matched by email; unmatched defaults to unassigned
work_notes
Comments
StackFlow work notes sync as Jira comments
Field Reference
Field
Required
Description
Jira Base URL
Yes
e.g., https://your-org.atlassian.net
Account Email
Yes
Email of the Atlassian account that owns the API token
API Token
Yes
Atlassian API token
Project Mapping
Yes
Map Jira projects to StackFlow modules
Sync Comments
No
Sync Jira comments as StackFlow work notes (default: true)
Create Jira Label
No
Auto-add label stackflow-sync to synced issues (default: true)
Testing the Integration
Create a Jira issue in a mapped project and verify a StackFlow incident/change is created
Update the Jira issue status and verify StackFlow state changes
Add a comment in Jira and verify it appears as a work note in StackFlow
# Trigger a manual sync for a specific Jira issue
curl -X POST https://your-instance.stackflow-tech.com/prod/api/integrations/jira/sync -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{"jira_issue_key": "OPS-1234"}'
Troubleshooting
Issue
Cause
Fix
401 Unauthorized on Jira API calls
API token expired or invalid
Regenerate token at id.atlassian.com and update in Integration Hub
Assignee not syncing
Email mismatch between Jira and StackFlow
Ensure the Jira user's email matches StackFlow account email exactly
Missing Jira webhook events
JQL filter too restrictive
Remove JQL filter or add the stackflow-sync label to test issues
Duplicate issues created
Both webhook and polling triggering
Disable polling if webhook is configured; check for duplicate webhook subscriptions