Skip to content

Jira Cloud Automation Setup

Use this guide to connect one Jira Cloud project to SLApulse and check the first live issue event. Start with one project and one test issue. When that flow is working, repeat it for the next project.

This guide applies to Jira Cloud. It does not apply to Jira Data Center or Jira Server.

Before you start

You need:

  • a SLApulse tenant-admin account
  • access to the Jira Cloud project you want to track
  • permission in that Jira project to create or edit automation rules

You will copy a webhook URL and secret from SLApulse. Keep both values private. They belong to one SLApulse project and must never be constructed or edited manually.

1. Prepare the SLApulse project

  1. In SLApulse, open Setup > Projects.
  2. Create a project or select the project you want to connect.
  3. Use the Jira project key as the SLApulse project key. For example, use OPS for Jira issues such as OPS-123.
  4. Check the project's SLA rules and status mapping before you rely on live results.

When you create a project, SLApulse generates its webhook secret and opens Add webhook request straight away. Copy the URL, then copy the secret shown beside it. Do not rotate the secret for the first setup.

One SLApulse project should track one Jira project key. This keeps webhook events, status mapping, and SLA goals easy to check.

2. Create the two Jira Cloud Automation rules

In Jira Cloud, open the chosen project, choose Automation, and create exactly these two project-scoped rules. Do not add extra Jira rules for issue creation, priority, status, or issue type.

Rule Jira trigger What it covers
Send priority update to SLApulse Priority Changed The first created event and later priority changes.
Send status update to SLApulse Transition at Work Item Each issue status change.

Both rules use the same Send web request action in the next step.

3. Add the webhook request to both rules

In the selected project's Webhook setup tab, open Add webhook request and copy the project values shown there. A newly created project opens this step with the secret ready to copy. The URL and secret are project-specific. Do not change the URL, build one from a project name, or reuse either value for another project.

In each of the two rules, add a Send web request action and set:

Setting Value
Web request URL Paste the exact webhook URL copied from SLApulse.
HTTP method POST
Header X-Webhook-Secret with the secret copied from SLApulse
Content type application/json
Body Custom JSON

Paste this custom JSON body:

{
  "issueKey": "{{issue.key}}",
  "sourceIssueId": "{{issue.id}}",
  "sourceStatus": "{{issue.status.name}}",
  "sourceIssueType": "{{issue.issueType.name}}",
  "priority": "{{issue.priority.name}}",
  "createdAt": "{{issue.created.jiraDateTime}}"
}

Do not add issue descriptions, comments, people, attachments, labels, or other free-text fields. This small payload contains only the values SLApulse needs for issue matching, status mapping, filters, and SLA targets. SLApulse derives internal routing and receive time from the copied webhook URL and project setup.

4. Test one issue and check Project health

Use one clearly named test issue in the chosen Jira project, then move it to another status. This should send an event from both rules.

Then in SLApulse:

  1. Open Project health and select Refresh project health.
  2. Check the latest webhook event, its accepted or rejected result, and the processing status and outcome.
  3. An accepted event is safely collected in the webhook inbox; wait briefly and refresh if its processing is not complete yet.
  4. Open the matching issue in SLApulse and check that its key and source status appear as expected.
  5. If the status is not mapped yet, map the observed Jira status before using the issue in SLA views. If the project is intentionally in Collect only, confirm that the event is collected and complete the status mapping before switching to live tracking.

The setup guide never marks a test as passed. An accepted webhook does not by itself mean the issue is fully processed. Project health shows whether SLApulse received the latest event and what happened during processing.

Rotate a webhook secret only when needed

In Webhook setup, open Manage webhook and choose Rotate webhook secret only if the current secret is lost or exposed. Confirm the warning before continuing: the old secret stops working immediately.

SLApulse shows the new secret once. Copy it, then replace the X-Webhook-Secret header in both Jira rules. The webhook URL and JSON body do not change.

Connect Jira when you need source jobs

Live webhooks work without a source connection. The advanced Source connection tab is only for Jira credentials, connection tests, imports, and reconcile jobs.

Add a Jira source connection when you need to:

  • test the Jira connection from SLApulse
  • import existing issue history
  • run a reconcile job to refresh existing data

SLApulse stores the Jira Cloud site, account, and API token encrypted and uses them server-side.

If the first event does not appear

If there is no diagnostic entry, check that the Jira rule is enabled, uses the copied URL unchanged, sends POST, and includes the X-Webhook-Secret header with the current copied secret.

If Project health shows an accepted event that is not processed yet, wait and refresh first. Then check the project's status mapping and whether it is in Collect only. Use the exact values shown in Project health and the project setup rather than editing the webhook URL by hand.

Continue the setup

After the first event works, import a small history window or run reconcile if you need earlier Jira issues. Then check a few known issues and reports before adding more projects.