<!-- BusyBot node reference — https://busybot.net/tools/jira-trigger/ -->

> Node: Jira Trigger (`jira_trigger`) · Webhook trigger · v1
> Category: Productivity · Credentials: Jira Software Cloud (`jiraSoftwareCloudApi`)
> Updated: 2026-08-16

# Jira Trigger

> Triggers on Jira issue, comment, sprint, board, project, and version events.

## Overview

The Jira Trigger node listens for webhook events from Jira Software Cloud. It starts a workflow automatically when issues are created, updated, or deleted, when comments or worklogs change, when sprints start or close, when boards or projects are modified, and many other Jira events. The node receives the full Jira webhook payload including issue details, user information, changelog entries, and event metadata. Supports filtering by specific event types.

**Category:** Productivity  
**Tool Name:** `jira_trigger`  
**Version:** 1

**Appearance:** Icon: `si-jira` | Color: `#0052cc`

## Node Type

**Trigger** — webhook (receives incoming HTTP callbacks)

## Input / Output

| Direction | Port(s) |
|-----------|--------|
| Input | None (trigger node) |
| Output | `Output` |

## Credentials

This tool requires **Jira Software Cloud** credentials.
See the [Credentials Guide](https://busybot.net/credentials/jira-software-cloud-api/) for setup instructions.

### Parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Events | `multiOptions` | Yes | `[]` | The Jira events to listen for. Select specific events or * for all events. |
| | | | | Options: `*` (All Events), `board_configuration_changed`, `board_created`, `board_deleted`, `board_updated`, `comment_created`, `comment_deleted`, `comment_updated`, `jira:issue_created`, `jira:issue_deleted`, `issuelink_created`, `issuelink_deleted`, `jira:issue_updated`, `option_attachments_changed`, `option_issuelinks_changed`, `option_subtasks_changed`, `option_timetracking_changed`, `option_unassigned_issues_changed`, `option_voting_changed`, `option_watching_changed`, `project_created`, `project_deleted`, `project_updated`, `sprint_closed`, `sprint_created`, `sprint_deleted`, `sprint_started`, `sprint_updated`, `user_created`, `user_deleted`, `user_updated`, `jira:version_created`, `jira:version_deleted`, `jira:version_moved`, `jira:version_released`, `jira:version_unreleased`, `jira:version_updated`, `worklog_created`, `worklog_deleted`, `worklog_updated` |
| Additional Fields | `collection` | No | `{}` | Configure additional webhook settings including filtering and extra fields. |
| — Exclude Body | `boolean` | No | `false` | Whether a request with empty body will be sent to the URL. Leave unchecked if you want to receive JSON. |
| — Filter | `string` | No | — | JQL query to send only events triggered by matching issues. Only applies to Issue and Comment events. |
| — Include Fields | `multiOptions` | No | `[]` | Additional fields to include as query parameters in the webhook URL. Jira resolves these template variables in the callback. |
| | | | | Options: `attachment.id`, `board.id`, `comment.id`, `issue.id`, `mergeVersion.id`, `modifiedUser.accountId`, `modifiedUser.key`, `modifiedUser.name`, `project.id`, `project.key`, `property.key`, `sprint.id`, `version.id`, `worklog.id` |

## Output Data

Each accepted delivery produces one output item. The Jira payload is placed directly on the item, and any query parameters Jira resolved from **Include Fields** are merged in alongside it:

```json
{
  "webhookEvent": "jira:issue_created",
  "timestamp": 1767225600000,
  "user": {
    "self": "",
    "accountId": "",
    "displayName": "",
    "active": true
  },
  "issue": {
    "id": "",
    "key": "",
    "self": "",
    "fields": {
      "summary": "",
      "status": { "name": "" },
      "priority": { "name": "" },
      "issuetype": { "name": "" },
      "project": { "key": "", "name": "" },
      "assignee": null,
      "reporter": { "displayName": "" },
      "created": "",
      "updated": ""
    }
  },
  "changelog": { "id": "", "items": [] },
  "_trigger": "jira_webhook",
  "_timestamp": "2026-01-01T00:00:00.000Z",
  "_webhookEvent": "jira:issue_created"
}
```

- `_trigger` — always `jira_webhook`.
- `_timestamp` — ISO 8601 timestamp of when the delivery arrived.
- `_webhookEvent` — the event name, taken from the payload's `webhookEvent` field, falling back to `issue_event_type_name`, then `unknown`.
- The rest of the payload varies by event: issue events carry `issue` and `changelog`, comment events carry `comment`, sprint events carry `sprint`, and so on.
- With **Exclude Body** enabled Jira sends an empty body, so only the query parameters and the three metadata fields arrive.

Reference values downstream by expression, for example `{{ $json.issue.key }}` or `{{ $json.issue.fields.summary }}`.

Deliveries for events you did not select are acknowledged with `200` but do not start the workflow. Deliveries that do not carry the expected verification token are rejected with `401`.

## Usage Examples

- Start a workflow when a Jira issue is created
- Trigger an action when a Jira issue is updated or transitioned
- React to new comments on Jira issues
- Monitor sprint starts and closures in Jira
- Track when Jira project versions are released

## Example Configuration

Fire on issue creation and updates:

```json
{
  "type": "jira_trigger",
  "parameters": {
    "events": ["jira:issue_created", "jira:issue_updated"]
  }
}
```

Restrict issue events to one project with a JQL filter and request extra fields:

```json
{
  "type": "jira_trigger",
  "parameters": {
    "events": ["jira:issue_created", "jira:issue_updated"],
    "additionalFields": {
      "excludeBody": false,
      "filter": "project = 'DEMO' AND assignee = currentUser()",
      "includeFields": ["issue.id", "project.key", "modifiedUser.accountId"]
    }
  }
}
```

Track comment activity with the commenting user:

```json
{
  "type": "jira_trigger",
  "parameters": {
    "events": ["comment_created", "comment_updated"],
    "additionalFields": {
      "includeFields": ["comment.id", "issue.id", "modifiedUser.accountId"]
    }
  }
}
```

Monitor the sprint lifecycle:

```json
{
  "type": "jira_trigger",
  "parameters": {
    "events": ["sprint_created", "sprint_started", "sprint_closed"],
    "additionalFields": {
      "includeFields": ["sprint.id", "board.id"]
    }
  }
}
```

Listen for every Jira event with a minimal body:

```json
{
  "type": "jira_trigger",
  "parameters": {
    "events": ["*"],
    "additionalFields": {
      "excludeBody": true,
      "includeFields": ["issue.id", "project.id"]
    }
  }
}
```

### Trigger Behavior

- **Activation:** When the workflow is activated, a webhook endpoint is registered with the service.
- **Deactivation:** The webhook is automatically unregistered when the workflow is deactivated.
- **Payload:** The incoming webhook payload is parsed and output as workflow items.
- **Verification:** Supports signature verification where applicable.

## Tips

Connects to Jira Software Cloud via webhooks. Select which events to listen for (issues, comments, sprints, boards, projects, versions, worklogs, users). When the selected event occurs in Jira, this node receives the full webhook payload and starts the workflow. Requires Jira Cloud API credentials (email, API token, domain). Optionally filter events with a JQL expression.

### Important Notes

- Fields in `additionalFields` must be nested directly under the `additionalFields` key
- The `filter` parameter only applies to Issue and Comment events
- Use `"*"` in events to listen for all Jira events
- Set `excludeBody` to `true` if you only need minimal webhook data