- Post History
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
on 06-14-2025 04:55 AM
Setting up ServiceNow – Jira bidirectional integration with the Jira Spoke is typically straightforward. However, when a Jira webhook fails to update a ServiceNow record, the problem can lie anywhere from Jira itself to the final Flow Designer execution. This guide provides a systematic, top-down approach to efficiently pinpoint and resolve the root cause.
Step 1: Did the Request Even Reach ServiceNow? (Transaction Logs)
Before diving into Flow Designer or specific Spoke logs, confirm that ServiceNow received the request from Jira.
- How to Check: Navigate to System Logs > Transactions (or syslog_transaction.list). Filter the URL column for entries starting with /api/sn_jira_spoke and created within a specific timeframe.
- What it Means:
- If transactions exist: ServiceNow received the request. Proceed to Step 2.
- If no transactions exist: The request did not reach ServiceNow. This indicates an issue external to ServiceNow. Common causes include:
- Firewall Blocks: Network restrictions preventing Jira from reaching your ServiceNow instance. (This should ideally be addressed during initial implementation).
- Incorrect Jira Webhook URL: The URL configured in Jira might be wrong or pointing to the wrong instance.
- Jira Not Triggering: The events configured in Jira for the webhook might not be firing as expected.
- Next Action (No Transactions):
- Verify the webhook URL in Jira (that is is Active,has correct URL, jira events the webhook listens to etc).
- Confirm the Jira event triggering the webhook occurred.
- If all looks correct on the Jira side and still no transactions appear, engage network teams.
- Further Debugging (Request Received, but no further action): If you see a transaction, but no other corresponding logs, the request might have been malformed or rejected at a very early stage. You can investigate deeper by capturing Inbound REST logs. But review Step 2 before going deeper.
Step 2: Did ServiceNow Process the Request & Authenticate? (System Logs)
If transactions confirm the request reached ServiceNow, the next step is to check if ServiceNow processed it and successfully authenticated the webhook.
- How to Check: Go to System Log > All (or syslog.list). Filter by Source: sn_jira_spoke within the required timeframe. If there are logs with level Error continue for further troubleshooting and if there no errors but there are info logs move to step 3.
- Common Error Patterns & Solutions:
- "id or token of webhook is not present"
- Meaning: The ni.nolog.id or ni.nolog.token parameters, essential for webhook authentication, were missing from the callback URL sent by Jira.
- Action: Reconfigure the webhook URL in Jira to ensure it precisely matches the one generated in ServiceNow, including all parameters.
- "Webhook with id: ######## is not registered"
- Meaning: ServiceNow received a webhook call, but the ID passed in the URL (########) does not correspond to an active webhook registry entry in your instance.
- Action: Verify that the Webhook ID and Callback URL in ServiceNow's Webhook Registry (DevOps > Webhook Registry) exactly match what's configured in Jira. Correct any mismatches.
- "Bad Token"
- Meaning: The authentication token sent by Jira does not match the expected token in ServiceNow. This is a very common issue.
- Action: Carefully verify the Token and Callback URL in ServiceNow's Webhook Registry against the configuration in Jira. Pay close attention to character cases and hidden characters.
- "id or token of webhook is not present"
- Jira Encoding Issues (for "Bad Token" persistence): If "Bad Token" persists despite careful verification, it might be related to how Jira handles URL encoding:
- Jira Server not encoding the token correctly: This often requires configuration changes on the Jira server itself. As there are special characters in the webhook and when the Jira is not configured to support UTF-8. For details, refer to: Updates in Jira does not reflect in ServiceNow and throws "Bad token" error - Support and Troublesho....The fix would require changes to Jira config and restart of the server,
- Jira encoding the webhook URL again: This can happen in specific Jira versions whether jira encodes the already encoded webhook url. More details on how to fix available on this support article JIRA to SNOW Integration: "Bad Token" Error After Upgrading to Version 10 - Support and Troubleshoot...
- Other Subflow/Execution Errors:
- "Either subflow name is not a subflow or is inactive hence cannot be executed" or similar exceptions related to subflow execution.
- Action: Verify the subflow referenced in your Webhook Registry is active and correctly configured.
Step 3: Was the Correct Sub Flow Triggered? (Webhook Registry Decision Table & Debug Logs)
If ServiceNow received the request and authenticated it successfully, but no errors are logged (or you see "No decision Matched"), it means the system couldn't determine which subflow to execute.
- "No decision Matched" Log Entry (Level: Information):
- Meaning: ServiceNow received and authenticated the data, but the conditions defined in your Webhook Registry Decision Table did not match the incoming Jira payload.
- Action: You need to inspect the incoming Jira payload to understand why the conditions weren't met.
- Enabling Debug Logging: To see the full incoming request body and how inputs are processed against the decision table:
- Navigate to System Properties > All.
- Search for the property sn_jira_spoke.logging.verbosity.
- If it doesn't exist, create a new String property with this name and set its value to debug.
- From the next API call onwards, detailed debug statements, including the raw request body from Jira and the inputs sent to the decision table, will be logged to the System Logs.
- Analysis: Use this debug data to compare it against the conditions in your Webhook Registry Decision Table. This will help you identify discrepancies and correct your decision table logic or flow input mappings.
Step 4: Did the Flow Execute Successfully? (Flow Execution Context)
If all previous checks pass and the decision table successfully mapped to a sub flow, the issue now lies within the Flow Designer execution.
- How to Check: Navigate to Flow Administration >Today's Executions. Filter for flows related to your Jira integration.
- What it Means:
- If an execution record exists: The flow was triggered. The issue is likely within the flow's logic itself (e.g., a record not found, a script error, incorrect data transformation, or a condition not met).
- If no execution record exists: Revisit Step 3, as the flow wasn't triggered despite earlier indications.
- Next Action: Debug the specific flow execution within Flow Designer. Review the data inputs, activity steps, and script logs within the flow context to pinpoint the exact failure point.
Conclusion
Troubleshooting Jira webhook integrations in ServiceNow requires a methodical approach. By systematically checking from the overall transaction down to the specific Flow execution, you can efficiently triangulate the issue. While there's no single "correct" order, starting with ServiceNow's platform logs and gradually moving outwards, engaging Jira support only after confirming your ServiceNow configuration, often proves to be the most efficient path to resolution. Following these steps will significantly reduce debugging time and get your integrations back on track faster.
- 1,077 Views