CINXE.COM

Webhooks

<!DOCTYPE html> <html lang="en"> <head><meta name="csrf" content="OWN84VhM-VgE4qXdpZypGmfWW7aUBCWUVHQs"> <link rel="preconnect" href="https://dac-static.atlassian.com" crossorigin /> <link rel="dns-prefetch" href="https://dac-static.atlassian.com" /> <script defer type="text/javascript" src="https://dac-static.atlassian.com/_static/polyfills.f4e786e4067ec1f327ba.bundle.js"></script> <script defer type="text/javascript" src="https://dac-static.atlassian.com/_static/documentation-changelogs-docs-index-rest-api-docs-rest-docs-search-graphql-docs-graphql-sandbox-jsapi-connect-module-pages-analytics-and-cookie-preferences-homepage-errors-supportdesk.3853ca6ecddfce143d15.bundle.js"></script><script defer type="text/javascript" src="https://dac-static.atlassian.com/_static/documentation-changelogs-docs-index-rest-api-docs-rest-docs-search-graphql-docs-graphql-sandbox-jsapi-connect-module-pages-homepage-errors-supportdesk.3cdb946b9cf346a1c81f.bundle.js"></script><script defer type="text/javascript" src="https://dac-static.atlassian.com/_static/documentation.1080c9defe9a0fa353e0.bundle.js"></script> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="dac:version" content="1.7726.0-0.1319.0"> <link rel="shortcut icon" href="https://dac-static.atlassian.com/favicon.ico" type="image/x-icon"> <link rel="icon" href="https://dac-static.atlassian.com/favicon.ico" type="image/x-icon"> <link rel="search" href="https://dac-static.atlassian.com/opensearch.xml" type="application/opensearchdescription+xml"> <script nonce="vm3bayHfecgzV2jhqqtzGhJEBqfZmrZrGufG58TWGCA=" type="text/javascript">window.__DATA__ = {"jiraIssueCollectorId":"ee87e716","page":{"document":[{"type":"markdown","content":"# Webhooks\n\nA webhook is a user-defined callback over HTTPS. You can use Jira webhooks to notify your app or web application when certain events occur in Jira.\nFor example, you might want to alert your remote application when an issue has been updated or when sprint has been started.\nUsing a webhook to do this means that your remote application doesn't have to periodically poll Jira (via the REST APIs) to determine whether changes have occurred.\n\n## Overview\n\nA webhook in Jira is defined by the following information, which you need to provide when registering (i.e. creating) a new webhook:\n\n- a **name** for webhooks created in [Jira Administration](https://support.atlassian.com/jira-cloud-administration/docs/manage-webhooks/) or \u003ca href=\"#registering-a-webhook-using-the-jira-rest-api--other-integrations-\" class=\"uri\">registered by `/rest/webhooks/1.0/webhook`\u003c/a>\n- the **URL** where the callback should be sent. Only secure HTTPS URLs and up to 5 redirects per URL are allowed. Additionally, you can indicate any port in the range from 1 to 65535 (except for 80) for webhooks created in [Jira Administration](https://support.atlassian.com/jira-cloud-administration/docs/manage-webhooks/) or \u003ca href=\"#registering-a-webhook-using-the-jira-rest-api--other-integrations-\" class=\"uri\">registered by `/rest/webhooks/1.0/webhook`\u003c/a>. The receiving web server must have a valid SSL/TLS certificate, signed by a globally trusted certificate authority.\n- (optional) the **scope** of the webhook, for example either \"all issues\" or a limited set of issues specified by JQL `(\"project = TEST and fixVersion = future\")`\n- the **events** to post to the URL, either \"all events\" or a specific set of events\n\nWebhooks created in [Jira Administration](https://support.atlassian.com/jira-cloud-administration/docs/manage-webhooks/) or \u003ca href=\"#registering-a-webhook-using-the-jira-rest-api--other-integrations-\" class=\"uri\">registered by `/rest/webhooks/1.0/webhook`\u003c/a> are called **admin webhooks** in this documentation.\n\n### Registering a webhook\n\nTo register (i.e. create) a webhook, you can use any of the following methods:\n\n- [Create a webhook in Jira Administration](https://support.atlassian.com/jira-cloud-administration/docs/manage-webhooks/)\n- Declare a [webhook module in the descriptor of your Atlassian Connect app](/cloud/jira/platform/modules/webhook/) (this will register the webhook for your app automatically and ensures webhooks are signed with your app's `sharedSecret`)\n- [Register a webhook using the REST API: Connect and Oauth 2.0 apps](#registering-a-webhook-using-the-rest-api--for-connect-and-oauth-2-0-apps-) *Note,* restrictions apply.\n- [Register a webhook using the REST API: Other integrations](#registering-a-webhook-using-the-jira-rest-api--other-integrations-) *Note,* Connect apps cannot register webhooks via this Jira REST API.\n\n### Configuring a webhook\n\nThe information in this section will help you configure a webhook, whether you are creating a new one or modifying an existing one.\n\n## Available webhook events\n\nThe following events are available for Jira webhooks. The string in parentheses is the name of the `webhookEvent` in the response.\n\n#### Restricting your events to a subset of issues via JQL\n\nIf you only want your webhook events to fire for a specific set of issues, you can specify a JQL query in your webhook to send only events triggered by matching issues. For example, you could register for all Issue Deleted events on issues in the Test (\"TEST\") Project with the Performance component.\n\nJQL filtering is only supported by a subset of webhook events. Refer to the event sections below for details.\n\nNote, although the JQL that uses standard Jira fields is very performant, some custom fields, because of their implementation, can take multiple seconds to query. You should take this into account when using JQL for a webhook, as the query will be run with each event.\n\n"},{"type":"shortcode","name":"warning","arguments":[],"content":"\n\nIf you leave the JQL query empty, it'll match all issues from all projects.\n\nThis means the webhooks we'll send may reveal sensitive information.\n\n"},{"type":"markdown","content":"\n\n### Platform webhooks\n\n- app access blocked to one or more projects (`app_access_to_objects_blocked`)\n- app access blocked to one or more issues (`app_access_to_objects_in_container_blocked`)\n\n### Issue webhooks\n\n- created (`jira:issue_created`)\n- updated (`jira:issue_updated`)\n- deleted (`jira:issue_deleted`)\n\nJQL filtering supported.\n\n### Issue property webhooks\n\n- created or updated (`issue_property_set`)\n- deleted (`issue_property_deleted`)\n\nJQL filtering supported. \n\n### Worklog webhooks\n\n- created (`worklog_created`)\n- updated (`worklog_updated`)\n- deleted (`worklog_deleted`)\n\nJQL filtering supported.\n\n### Comment webhooks\n\n- created (`comment_created`)\n- updated (`comment_updated`)\n- deleted (`comment_deleted`)\n\nJQL filtering supported.\n\n### Attachment webhooks\n\n- created (`attachment_created`)\n- deleted (`attachment_deleted`)\n\nJQL filtering supported.\n\n### Issue link webhooks\n\n- created (`issuelink_created`)\n- deleted (`issuelink_deleted`)\n\n### Issue type webhooks\n\n- created (`issuetype_created`)\n- updated (`issuetype_updated`)\n- deleted (`issuetype_deleted`)\n\n### Project webhooks\n\n- created (`project_created`)\n- updated (`project_updated`)\n- deleted (`project_deleted`)\n- moved to trash (`project_soft_deleted`)\n- restored from trash (`project_restored_deleted`) \n- archived (`project_archived`)\n- restored from archive (`project_restored_archived`)\n\n### Version webhooks\n\n- released (`jira:version_released`)\n- unreleased (`jira:version_unreleased`)\n- created (`jira:version_created`)\n- moved (`jira:version_moved`)\n- updated (`jira:version_updated`)\n- deleted (`jira:version_deleted`)\n- merged (`jira:version_deleted`)\n note, this is the same webhook event name as the 'deleted' event, but the response will include a `mergedTo` property*\n\n### Filter webhooks\n\n- created (`filter_created`)\n- updated (`filter_updated`)\n- deleted (`filter_deleted`)\n\n### User webhooks\n\n- created (`user_created`)\n- updated (`user_updated`)\n- deleted (`user_deleted`)\n\n### Jira system configuration webhooks\n\n- voting (`option_voting_changed`)\n- watching (`option_watching_changed*`)\n- unassigned issues (`option_unassigned_issues_changed`)\n- subtasks (`option_subtasks_changed`)\n- issue links (`option_issuelinks_changed`)\n- time tracking (`option_timetracking_changed`)\n- time tracking provider (`option_timetracking_provider_changed`)\n\n### Sprint webhooks\n\n- created (`sprint_created`)\n- deleted (`sprint_deleted`)\n- updated (`sprint_updated`)\n- started (`sprint_started`)\n- closed (`sprint_closed`)\n\n### Board webhooks\n\n- created (`board_created`)\n- updated (`board_updated`)\n- deleted (`board_deleted`)\n- configuration changed (`board_configuration_changed`)\n\n### Jira expressions webhooks\n\n- evaluation failed (`jira_expression_evaluation_failed`)\n\nRead more about monitoring Jira expressions here: [Monitoring Jira expressions](../jira-expressions#monitoring).\n\n#### Choosing events for your webhook\n\nIf you are unsure which events to register your webhook for, then the simplest approach is to register your webhook for all events for the relevant entity (e.g. all issue-related events). Then you won't need to update the webhook if you need to handle these events in future; you can just add code in your app or web application once you want to react to them.\n\n\n#### Variable substitution in the webhook URL\n\nYou can append variables to the webhook URL when creating or updating a webhook. The variables are listed below:\n\n- `{attachment.id}`\n- `{board.id}`\n- `{comment.id}`\n- `{destinationIssue.key}`\n- `{destinationIssue.id}`\n- `{destinationProject.key}`\n- `{destinationProject.id}`\n- `{issue.id}`\n- `{issue.key}`\n- `{issuetype.id}`\n- `{mergedVersion.id}`\n- `{modifiedUser.accountId}`\n- `{modifiedUser.key}` (deprecated)\n- `{modifiedUser.name}` (deprecated)\n- `{project.id}`\n- `{project.key}`\n- `{property.key}`\n- `{sourceIssue.key}`\n- `{sourceIssue.id}`\n- `{sourceProject.key}`\n- `{sourceProject.id}`\n- `{sprint.id}`\n- `{version.id}`\n- `{worklog.id}`\n\nYou can use these variables to dynamically insert the value of the current issue key, sprint ID, project key, etc, into the webhook URL when it is triggered. Consider the following example:\n\nSay you specified the URL for your webhook with the `{issue.key}` variable, like this:\n\n https://service.example.com/webhook/{issue.key}\n\nIf an issue with the key `EXA-1` triggers a webhook, then the URL that will be used is:\n\n https://service.example.com/webhook/EXA-1\n\nNote that variables are only available to a webhook in the context of its registered events. For example, `{issue.key}` and `{issue.id}` are available to webhooks registered for events related to issues.\n\n## Retry policy\n\nIf a webhook is sent to its callback URL but fails, Jira Cloud will attempt to resend it up to **five times**.\nEach attempt following the failure is delayed with a randomized back-off algorithm and can happen between 5 and 15 minutes after the previous one.\n\nRetries are attempted when any of the following are true:\n* the callback server returns any of the following status codes: 408, 409, 425, 429, 5xx.\n* the connection fails or times out.\n\nThis means that some webhooks might be delivered more than once (if the delivery acknowledgment fails).\n\nEvery webhook contains the `X-Atlassian-Webhook-Identifier` header that provides an identifier for a webhook. \nThis identifier is unique within a Jira Cloud tenant and is the same across retries.\nAfter you have processed a webhook, you can use the identifier to filter out retries. \n\nThe `X-Atlassian-Webhook-Retry` header with the current retry count is included with webhooks that have been retried.\nMonitor this header and cross-reference it with the callback server logs to stay on top of any unexpected reliability problems.\n\nAfter we send a webhook and receive a failure, we log the time of failure. Every successful response from the recipient removes that log entry.\nHowever, if the recipient doesn’t respond successfully within 30 minutes, we only try to deliver a single attempt per webhook until we record a successful delivery.\n\nWebhooks that are not delivered after the maximum number of retries \ncan be found with the [Get failed webhooks](/cloud/jira/platform/rest/v2/#api-rest-api-2-webhook-failed-get) operation.\n\n## Reliability and performance\n\nEach webhook contains `X-Atlassian-Webhook-Flow` header with `Primary` or `Secondary` value.\n\nAll `Primary` webhooks should be delivered within 30 seconds.\n\nAll `Secondary` webhooks are a result of long-lasting bulk or cascade operation (bulk issue update, project deletion, issue deletion etc.).\nFor those webhooks, the expected delivery time requirements are relaxed, and the delivery should take no more than 15 minutes.\n\n*Note*, in those cases, the top level webhook is transferred via `Primary` flow, and all dependent webhooks are transferred using the `Secondary` flow.\nFor example, when deleting an issue, the `issue_deleted` event is transferred as `Primary` but all dependent `commend_deleted`, `attachment_deleted` `issuelink_deleted` etc. are `Secondary`.\n\n## Concurrency limiting\n\nTo make it easier for apps to process a large number of webhooks sent as a result of a sudden influx of events in Jira, a concurrency limiter is applied.\nFor `Primary` webhooks, a default maximum number of `20` concurrent requests per `tenant + webhook URL host` pair is allowed.\nFor `Secondary` webhooks the default limit is `10`.\n\nThese limits can be changed without notice, depending on the tenant and the webhook host.\n\n## Consuming webhooks \n\nWhen integrating with Jira webhooks, it's important to understand that the scale of webhook traffic varies depending on the size of the Jira Cloud instance where the app is installed. \nLarger instances generate higher traffic, especially during batch operations or cascade effects, such as project or issue deletion, which can lead to significant traffic spikes. \n\nWebhook recipients should ideally respond to webhook requests as quickly as possible and schedule their work on their end for further asynchronous processing (for example by enqueuing the message). \nThis approach is crucial for maintaining high throughput, as it allows Jira to send subsequent webhooks without additional delay, working efficiently within the [concurrency limits set by Jira Cloud](/cloud/jira/platform/webhooks/#concurrency-limiting). \n\nFailing to consume webhook traffic quickly enough could result in recipient errors, which may exhaust the number of retries Jira attempts. \nThis leads to missed webhooks and may degrade the user experience of the app. Therefore, your system must take traffic spikes into account and ensure reliable processing when these occur.\n\n## Webhook tracing (Connect apps)\n\nTo trace the origin of a webhook, Connect apps can attach the additional `X-Atlassian-Webhook-Trace` HTTP header with any value \nconsisting of a string of up to 1024 printable ASCII characters to a REST API request.\n\nThe header and its value are then attached to every webhook sent from Jira for the REST API request.\n \nThe app can use the webhook trace header to, for example:\n* Differentiate between webhooks triggered by various REST API requests.\n* Track a webhook’s delivery.\n* Attach other data for use when a webhook arrives.\n\n## Registering a webhook using the REST API (for Connect and OAuth 2.0 apps)\n\nIn addition to [declaring webhooks statically in the app descriptor](/cloud/jira/platform/modules/webhook/), \nConnect and OAuth 2.0 apps can register webhooks dynamically using the REST API.\nThis is useful where you need to observe issues based on how users define and amend the issues' content. \nFor example, you may want to initiate other processing when an issue is given a certain label.\n\n### Restrictions\n\nLimitations apply to the REST API in order to guarantee stability and performance of Jira Cloud for all apps and users. \n\n#### Supported events\n\nThe following subset of webhook events is supported:\n- `jira:issue_created`\n- `jira:issue_updated`\n- `jira:issue_deleted`\n- `comment_created`\n- `comment_updated`\n- `comment_deleted`\n- `issue_property_set`\n- `issue_property_deleted`\n\nThese are all events that allow JQL filtering. Webhooks for other events can be registered in the [app descriptor](../modules/webhook).\n\n#### Supported JQL queries\n\nOnly a subset of JQL clauses is supported. This enables us to optimize event matching on the Jira side.\n\nSupported clauses (left-hand side values):\n- `issueKey`\n- `project`\n- `issuetype`\n- `status`\n- `priority`\n- `assignee`\n- `reporter`\n- `issue.property` (any [indexed](../modules/entity-property) issue property can be queried)\n- `cf[id]` (for custom fields – currently only the ID of the **Epic** custom field is supported here)\n\nSupported operators: `=`, `!=`, `IN`, and `NOT IN`.\n\nIf you would like to use more clauses or operators, please contact\n[Developer and Marketplace support](https://developer.atlassian.com/support).\n\n#### Registration restrictions\n\n- A maximum of **100** webhooks per app per tenant is allowed for a Connect app.\nFor an OAuth 2.0 app, the limit is **5** webhooks per app per user on a tenant.\n\n#### Webhook expiration\n\nIn order to avoid sending webhooks no one listens to anymore, \nwe assign each webhook an expiration date after which the webhook becomes inactive.\nThe expiration period is **30 days** from the time the webhook was created or refreshed using \nthe [Extend webhook life](/cloud/jira/platform/rest/v3/api-group-webhooks/#api-rest-api-3-webhook-refresh-put) REST resource.\n\nWebhooks are available for up to **3 months** after they expire.\nIt is not necessary to keep a Webhook alive during this period, you can refresh it when it is needed again.\n\n\n### Using the REST API: Registration\n\n[POST /rest/api/3/webhook](/cloud/jira/platform/rest/v3/api-group-webhooks/#api-rest-api-3-webhook-post)\n\nTo register webhooks through the REST API, make a `POST` request to `https://your-domain.atlassian.net/rest/api/2/webhook`. The registered URL must use the same base URL as the app. An example request body is shown below:\n\n```json\n{\n \"url\": \"https://your-app-base-url.com/webhook-received\",\n \"webhooks\": [\n {\n \"jqlFilter\": \"project = PRJ AND status = Done\",\n \"events\": [\"jira:issue_created\", \"jira:issue_updated\"]\n },\n {\n \"jqlFilter\": \"status = Done\",\n \"events\": [\"jira:issue_updated\"]\n },\n {\n \"jqlFilter\": \"myClause = something\",\n \"events\": [\"jira:issue_deleted\"]\n }\n ]\n}\n```\n \nThis request will try to register three webhooks. The response will be a JSON array with a result for every webhook.\nIn this case, we will likely succeed in registering the first two, while the third one will fail due to the unsupported JQL clause. The response will then look like this:\n\n```json\n[\n {\n \"createdWebhookId\": 1000\n },\n {\n \"createdWebhookId\": 1001\n },\n {\n \"errors\": [\"The clause myClause is unsupported\"]\n }\n]\n```\n\nTo receive a registered webhook, an app must be granted all the scopes for all the events in the webhook. This table shows the scopes required for each event.\n\n\u003ctable>\n \u003cthead>\n\t \u003ctr>\n\t \u003cth>Webhook type\u003c/th>\n\t \u003cth>Required scopes\u003c/th>\n\t \u003c/tr>\n \u003c/thead>\n \u003ctbody>\n \u003ctr>\n \u003ctd>\u003ccode>jira:issue_created\u003c/code>\u003c/td>\n \u003ctd>\u003ccode>read:issue-details:jira\u003c/code>\u003c/td>\n \u003ctr>\n \u003ctr>\n \u003ctd>\u003ccode>jira:issue_updated\u003c/code>\u003c/td>\n \u003ctd>\u003ccode>read:issue-details:jira\u003c/code>\u003c/td>\n \u003ctr>\n \u003ctr>\n \u003ctd>\u003ccode>jira:issue_deleted\u003c/code>\u003c/td>\n \u003ctd>\u003ccode>read:issue-details:jira\u003c/code>\u003c/td>\n \u003ctr>\n \u003ctr>\n \u003ctd>\u003ccode>comment_created\u003c/code>\u003c/td>\n \u003ctd>\u003ccode>read:comment.property:jira\u003c/code>, \u003ccode>read:comment:jira\u003c/code>, \u003ccode>read:epic:jira-software\u003c/code>, \u003ccode>read:group:jira\u003c/code>, \u003ccode>read:issue.property:jira\u003c/code>, \u003ccode>read:issue-type:jira\u003c/code>, \u003ccode>read:project:jira\u003c/code>, \u003ccode>read:project-role:jira\u003c/code>, \u003ccode>read:status:jira\u003c/code>, and \u003ccode>read:user:jira\u003c/code>\u003c/td>\n \u003ctr>\n \u003ctr>\n \u003ctd>\u003ccode>comment_updated\u003c/code>\u003c/td>\n \u003ctd>\u003ccode>read:comment.property:jira\u003c/code>, \u003ccode>read:comment:jira\u003c/code>, \u003ccode>read:epic:jira-software\u003c/code>, \u003ccode>read:group:jira\u003c/code>, \u003ccode>read:issue.property:jira\u003c/code>, \u003ccode>read:issue-type:jira\u003c/code>, \u003ccode>read:project:jira\u003c/code>, \u003ccode>read:project-role:jira\u003c/code>, \u003ccode>read:status:jira\u003c/code>, and \u003ccode>read:user:jira\u003c/code>\u003c/td>\n \u003ctr>\n \u003ctr>\n \u003ctd>\u003ccode>comment_deleted\u003c/code>\u003c/td>\n \u003ctd>\u003ccode>read:comment.property:jira\u003c/code>, \u003ccode>read:comment:jira\u003c/code>, \u003ccode>read:epic:jira-software\u003c/code>, \u003ccode>read:group:jira\u003c/code>, \u003ccode>read:issue.property:jira\u003c/code>, \u003ccode>read:issue-type:jira\u003c/code>, \u003ccode>read:project:jira\u003c/code>, \u003ccode>read:project-role:jira\u003c/code>, \u003ccode>read:status:jira\u003c/code>, and \u003ccode>read:user:jira\u003c/code>\u003c/td>\n \u003ctr>\n \u003ctr>\n \u003ctd>\u003ccode>issue_property_set\u003c/code>\u003c/td>\n \u003ctd>\u003ccode>read:epic:jira-software\u003c/code>,\u003ccode>read:issue.property:jira\u003c/code>,\u003ccode>read:issue-type:jira\u003c/code>,\u003ccode>read:project:jira\u003c/code>,\u003ccode>read:status:jira\u003c/code>, and \u003ccode>read:user:jira\u003c/code>\u003c/td>\n \u003ctr>\n \u003ctr>\n \u003ctd>\u003ccode>issue_property_deleted\u003c/code>\u003c/td>\n \u003ctd>\u003ccode>read:epic:jira-software\u003c/code>,\u003ccode>read:issue.property:jira\u003c/code>,\u003ccode>read:issue-type:jira\u003c/code>,\u003ccode>read:project:jira\u003c/code>,\u003ccode>read:status:jira\u003c/code>, and \u003ccode>read:user:jira\u003c/code>\u003c/td>\n \u003ctr>\n \u003c/tbody>\n\u003c/table>\n\n\n### Using the REST API: Fetching registered webhooks\n\n[GET /rest/api/3/webhook](/cloud/jira/platform/rest/v3/api-group-webhooks/#api-rest-api-3-webhook-get)\n\nTo fetch webhooks registered through the REST API, make a `GET` request to `https://your-domain.atlassian.net/rest/api/2/webhook`.\nThis API uses pagination. The query parameters `startAt` and `maxResults` can be provided to specify the desired page, or the default values of `0` and `100` will be used.\n\n### Using the REST API: Deleting registered webhooks\n\n[DELETE /rest/api/3/webhook](/cloud/jira/platform/rest/v3/api-group-webhooks/#api-rest-api-3-webhook-delete)\n\nTo delete webhooks registered through the REST API, a `DELETE` request can be made to `https://your-domain.atlassian.net/rest/api/2/webhook`.\n\nIn your request, include the IDs of the webhooks to be deleted:\n\n```json\n{\n \"webhookIds\": [1000, 1001]\n}\n```\n \nIDs corresponding to non-existent webhooks are ignored.\n\n### Using the REST API: refreshing registered webhooks\n\n[PUT /rest/api/3/webhook](/cloud/jira/platform/rest/v3/api-group-webhooks/#api-rest-api-3-webhook-refresh-put)\n\nWebhooks registered with the REST API expire after 30 days. \nBecause of that, it's necessary to periodically call the [Extend webhook life](/cloud/jira/platform/rest/v3/api-group-webhooks/#api-rest-api-3-webhook-refresh-put) API to keep them alive.\nEach call to the API extends the expiration date by another 30 days.\n \n### Format of the webhook data sent by Jira\n\nThe format is the same as for webhooks declared in the Connect app descriptor, \nbut with an additional property specifying which webhooks were matched for the event.\nFor example, if an event happens in Jira that matches both JQL filters of the webhooks [registered](#using-the-rest-api--registration), \nwhich were successfully registered and assigned the IDs of `1000` and `1001`, \nthe webhook data JSON will contain the additional `matchedWebhookIds` root level property:\n\n```json\n{\n ... usual webhook data ...,\n \"matchedWebhookIds\": [1000, 1001]\n}\n```\n\n \n### Example Connect app using this REST API\n\nAn example Connect app that uses the REST API to register webhooks, fetch registered webhooks, delete them, and handle them, can be found [here](https://bitbucket.org/atlassianlabs/webhook-management-example-app).\n\n### Webhooks authentication for OAuth 2.0 apps\n\nWebhooks for OAuth 2.0 apps are secured by bearer authentication. The token is present in the `Authorization` header and is signed with the app's client secret.\nRemember to verify the token to keep your integration secure. The use of a library to verify the token is recommended.\nA list of suitable libraries can be found on the [JWT website](https://jwt.io/).\n\n## Registering a webhook using the Jira REST API (other integrations)\n\n\n### Webhook JSON format ###\n\n- Example of a valid request body\n\n ```json\n {\n \"name\": \"my first webhook via rest\",\n \"description\": \"description of my first webhook\",\n \"url\": \"https://www.example.com/webhooks\",\n \"events\": [\n \"jira:issue_created\",\n \"jira:issue_updated\"\n ],\n \"filters\": {\n \"issue-related-events-section\": \"Project = JRA AND resolution = Fixed\"\n },\n \"excludeBody\" : false,\n \"secret\" : \"G8j4166a5OkXRD4WbqV3\"\n }\n ```\n\n Where `secret` is an optional string used to [generate a signature](#secure-admin-webhooks)\nand verify incoming webhook payloads. You can’t retrieve your secret after you generate it - if you lose it, you have to get a new one.\n\n- Example of a valid response body\n ```json\n {\n \"name\": \"my first webhook via rest\",\n \"description\": \"description of my first webhook\",\n \"url\": \"https://www.example.com/webhooks\",\n \"excludeBody\": false,\n \"events\": [\n \"jira:issue_created\",\n \"jira:issue_updated\"\n ],\n \"filters\": {\n \"issue-related-events-section\": \"Project = JRA AND resolution = Fixed\"\n },\n \"enabled\": true,\n \"self\": \"https://your-domain.atlassian.net/rest/webhooks/1.0/webhook/72\",\n \"lastUpdated\": 1706692865788,\n \"isSigned\": true\n }\n ``` \n Where `isSigned` is true if a `secret` is defined.\n\n**To register a webhook using REST:**\n\n\n1. POST a [webhook in JSON format](#webhook-json-format) to:\n`https://your-domain.atlassian.net/rest/webhooks/1.0/webhook`\n\n\n2. The response will return the webhook in JSON with additional information, including the user that created the webhook, the created timestamp, etc.\n\n**To update a webhook using REST:**\n\n1. PUT a [webhook in JSON format](#webhook-json-format) to:\n `https://your-domain.atlassian.net/rest/webhooks/1.0/webhook/{webhookId}`\n\nPass null or an empty string to remove the `secret`. Omitting the `secret` field in a request body for PUT will cause it to stay intact.\n\n**To unregister (that is, delete) a webhook using REST:**\n\n- Execute a DELETE to the following URL:\n `https://your-domain.atlassian.net/rest/webhooks/1.0/webhook/{webhookId}`\n\n The following would delete the webhook with an ID of 70:\n\n ```bash\n curl --user username:password \\\n -X DELETE \\\n -H \"Content-Type: application/json\" \\\n https://your-domain.atlassian.net/rest/webhooks/1.0/webhook/70\n ```\n\n**To query a webhook using REST:**\n\n- To get all webhooks for a Jira instance, perform a GET with the following URL:\n `https://your-domain.atlassian.net/rest/webhooks/1.0/webhook. `\n\n ```bash\n curl --user username:password \\\n -X GET \\\n -H \"Content-Type: application/json\" \\\n https://your-domain.atlassian.net/rest/webhooks/1.0/webhook\n ```\n\n- To get a specific webhook by its ID, perform a GET with the following URL:\n `https://your-domain.atlassian.net/rest/webhooks/1.0/webhook/{webhookId}`\n\n The following would get a webhook with an ID of 72:\n\n ```bash\n curl --user username:password \\\n -X GET \\\n -H \"Content-Type: application/json\" \\\n https://your-domain.atlassian.net/rest/webhooks/1.0/webhook/72\n ```\n\n\n## Secure admin webhooks\n\nYou can secure webhooks registered through the [REST API](#registering-a-webhook-using-the-jira-rest-api-other-integrations) or [webhooks page](https://support.atlassian.com/jira-cloud-administration/docs/manage-webhooks/) by passing the `secret` field.\n\nIn some instances, imported admin webhooks with a secret won’t be delivered until you rotate the secret. For more details, see our documentation:\n\n- Webhooks imported from a different site: [Export data from Jira Cloud](https://support.atlassian.com/jira-cloud-administration/docs/export-issues/)\n- Webhooks imported from a different instance: [Copy data from one instance of a cloud product to another](https://support.atlassian.com/organization-administration/docs/copy-product-data/)\n\n**About webhook deliveries**\n\nOnce your server is configured to receive payloads, it will listen for any delivery that's sent to the endpoint you configured. For security reasons, you should only process deliveries from Jira Cloud.\nTo ensure your server only processes deliveries from Jira Cloud, you need to:\n\n1. Create a secret token for your webhook.\n2. Store the token securely on your server.\n3. Validate incoming webhook payloads against the token to verify they're coming from Jira Cloud.\n\n**Creating a secret token**\n\nYou can create a new webhook with a secret token, or you can add a secret token to an existing webhook. When creating a secret token, you should choose a random string of text with high entropy. You can also use the “Generate secret” button to let us generate the secret for you. Make sure to record the secret somewhere secure - it can't be viewed or retrieved once the webhook is saved.\n\n**Updating a secret token**\n\nYou can update the secret token of an existing webhook by editing the webhook. However, be aware that you’ll need to update any integrations using this secret.\n\n**Validating webhook deliveries**\n\nJira Cloud will use your secret token to create a [HMAC](https://en.wikipedia.org/wiki/HMAC) signature and include it in a `X-Hub-Signature` header,\nformatted as `method=signature`, as defined by [WebSub](https://www.w3.org/TR/websub/#signing-content).\n\nIn your code that handles webhook deliveries, you should calculate the HMAC of the body using your secret token and the hash algorithm specified as the `method`. \nThen, compare the HMAC that Jira Cloud sent with the expected HMAC that you calculated, and ensure that they match. \nFor examples showing how to validate the hashes in various programming languages, see the [Examples](#examples) section.\n\nThere are a few important things to keep in mind when validating webhook payloads:\n\n- The HMAC is generated using your webhook's secret token, the payload contents, and the hash algorithm listed in `method`.\n- If your language and server implementation specifies a character encoding, ensure that you handle the payload as UTF-8. Webhook payloads can contain Unicode characters.\n\n**Testing the webhook payload validation**\n\nYou can use the following secret, payload, and method values to verify that your implementation is correct:\n- `secret`: `It's a Secret to Everybody`\n- `payload`: `Hello World!`\n- `method`: `sha256`\n\nIf your implementation is correct, the signatures that you generate should match the following signature values:\n\nsignature: `a4771c39fbe90f317c7824e83ddef3caae9cb3d976c214ace1f2937e133263c9`\n\n`X-Hub-Signature`: `sha256=a4771c39fbe90f317c7824e83ddef3caae9cb3d976c214ace1f2937e133263c9`\n\n### Examples ###\n\nYou can use your programming language of choice to implement HMAC verification in your code. \nFollowing are some examples showing how an implementation might look in various programming languages. \nNote that these examples assume that Jira is using the `sha256` hash algorithm. Jira might start using another method for the HMAC in the future. The example code here will start failing if this happens.\n\n***Java example***\n```java\nimport javax.crypto.Mac;\nimport javax.crypto.spec.SecretKeySpec;\nimport java.nio.charset.StandardCharsets;\nimport java.security.InvalidKeyException;\nimport java.security.MessageDigest;\nimport java.security.NoSuchAlgorithmException;\nimport java.util.HexFormat;\n\npublic class Main {\n public static void main(String[] args) throws NoSuchAlgorithmException, InvalidKeyException {\n final String secret = \"It's a Secret to Everybody\";\n final String payload = \"Hello World!\";\n final String givenSignature = \"sha256=a4771c39fbe90f317c7824e83ddef3caae9cb3d976c214ace1f2937e133263c9\";\n\n final SecretKeySpec keySpec = new SecretKeySpec(secret.getBytes(StandardCharsets.UTF_8), \"HmacSHA256\");\n final Mac mac = Mac.getInstance(\"HmacSHA256\");\n mac.init(keySpec);\n\n final byte[] digest = mac.doFinal(payload.getBytes(StandardCharsets.UTF_8));\n final HexFormat hex = HexFormat.of();\n\n final String calculatedSignature = \"sha256=\" + hex.formatHex(digest);\n\n if (!MessageDigest.isEqual(calculatedSignature.getBytes(), givenSignature.getBytes())) {\n System.out.println(\"Signatures do not match\\nExpected signature:\" +\n calculatedSignature + \"\\nActual: signature: \" + givenSignature);\n } else {\n System.out.println(\"Signatures match\");\n }\n }\n}\n```\n***Python example***\n```python\nimport hashlib\nimport hmac\n\nsecret = \"It's a Secret to Everybody\"\npayload = \"Hello World!\"\ngiven_signature = \"sha256=a4771c39fbe90f317c7824e83ddef3caae9cb3d976c214ace1f2937e133263c9\"\n\nhash_object = hmac.new(\n secret.encode(\"utf-8\"),\n msg=payload.encode(\"utf-8\"),\n digestmod=hashlib.sha256,\n)\ncalculated_signature = \"sha256=\" + hash_object.hexdigest()\n\nif not hmac.compare_digest(calculated_signature, given_signature):\n print(\n \"Signatures do not match\\nExpected signature:\"\n f\" {calculated_signature}\\nActual: signature: {given_signature}\"\n )\nelse:\n print(\"Signatures match\")\n```\n\n\n## Adding webhooks to workflow post functions\n\nWebhooks can be attached as a [workflow post function]. This makes it easy to trigger a webhook when an issue makes a workflow transition, for instance when it gets rejected from QA or when it gets resolved.\n\n**To add a webhook as a post function to a workflow:**\n\n1. Configure your workflow and select the desired transition in the workflow designer. For more details, see [Work with issue workflows].\n2. Click **Post functions**, then click **Add post function**.\n3. Select **Trigger a Webhook** from the list of post functions and click **Add**.\n4. Select the desired webhook from the list of webhooks and click **Add** to add the webhook as a post function.\n\nNotes:\n\n- If the webhook you choose is **also** configured to listen to events, then the webhook will be triggered twice: once for the event and once for the workflow transition. For this reason, you should always unselect all events from the webhook admin screen.\n- If a webhook is associated with a post-function, you will not be able to delete the webhook. You must disassociate it from the post-function first.\n\n## Executing a webhook\n\nWebhooks will be run without a specific user context, for example, all issues will be available to the webhook, rather than having them scoped to a single user.\n\nBy default, a webhook will send a request with a JSON callback when it is triggered. If you don't want the JSON body sent, then you will need to select **Exclude body** when configuring the webhook.\n\nEvery callback contains the `webhookEvent` ID, `timestamp`, and information about the entity associated with the event (for example issue, project, or board). The callback can have additional information, depending on the type of event associated with it.\nFor example, issue-related events contain the `issue_event_type_name` field. This field indicates the Jira event that triggered the callback.\nThis is the structure of a callback for an issue-related event:\n\n```json\n{\n \"timestamp\",\n \"webhookEvent\",\n \"issue_event_type_name\",\n \"user\": {\n --> See User shape in table below\n },\n \"issue\": {\n --> See Issue shape in table below\n },\n \"changelog\" : {\n --> See Changelog shape in table below\n }\n}\n```\n\u003cbr>\n\n\u003ctable>\n\u003ccolgroup>\n\u003ccol width=\"20%\" />\n\u003ccol width=\"80%\" />\n\u003c/colgroup>\n\u003ctbody>\n\u003ctr class=\"odd\">\n\u003ctd>\u003cstrong>Issue shape\u003c/strong>\u003c/td>\n\u003ctd>\u003cul>\n\u003cli>The same shape returned from the Jira REST API when an issue is retrieved with NO expand parameters.\u003c/li>\n\u003cli>See \u003ca href=\"https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-issue-issueIdOrKey-get\" class=\"uri\">Get issue\u003c/a> in the REST API documentation, for more details.\u003c/li>\n\u003cli>Example: \u003ccode>https://your-domain.atlassian.net/rest/api/2/issue/JRA-2000\u003c/code>\u003c/li>\n\u003c/ul>\u003c/td>\n\u003c/tr>\n\u003ctr class=\"even\">\n\u003ctd>\u003cstrong>User shape\u003c/strong>\u003c/td>\n\u003ctd>\u003cul>\n\u003cli>The same shape returned from the Jira REST API when a user is retrieved, but without the \u003ccode>locale\u003c/code>, \u003ccode>emailAddress\u003c/code>, \u003ccode>groups\u003c/code>, and \u003ccode>applicationRoles\u003c/code> fields.\n\u003cul>\n\u003cli>The shape of the user returned is a condensed shape from the normal user API in REST, but similar to what is returned when the user is embedded in another response.\u003c/li>\n\u003cli>For the full user details, use the Jira REST API and query with the username.\u003c/li>\n\u003c/ul>\u003c/li>\n\u003cli>See \u003ca href=\"https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-user-get\" class=\"uri\">Get user\u003c/a> in the REST API documentation, for more details.\u003c/li>\n\u003cli>Example: \u003ccode>https://your-domain.atlassian.net/rest/api/3/user?accountId=99:27935d01-92a7-4687-8272-a9b8d3b2ae2e\u003c/code>\n\u003c/li>\n\u003cli>The user is always present in a webhook POST for issue events.\u003c/li>\n\u003cli>The user includes an \u003ccode>accountType\u003c/code> field that is used to distinguish different types of users, such as normal users (\u003ccode>atlassian\u003c/code>), app users (\u003ccode>app\u003c/code>), and Jira Service Management customers (\u003ccode>customer\u003c/code>).\u003c/li>\n\u003c/ul>\u003c/td>\n\u003c/tr>\n\u003ctr class=\"odd\">\n\u003ctd>\u003cstrong>Changelog shape\u003c/strong>\u003c/td>\n\u003ctd>\u003cul>\n\u003cli>An array of changed items, with one entry for each field that has been changed.\u003c/li>\n\u003cli>The changelog is only provided for the \u003ccode>jira:issue_updated\u003c/code> event.\u003c/li>\n\u003cli>\u003cp>This is similar in format to the changelog you would retrieve from a Jira issue, but without the user (since that is already in the JSON) and without the created timestamp (since that is also already in the JSON for a webhook event) \u003c/p>\u003c/li>\n\u003c/ul>\n\u003c/td>\n\u003c/tr>\n\u003ctr class=\"even\">\n\u003ctd>\u003cstrong>Comment shape\u003c/strong>\u003c/td>\n\u003ctd>\u003cul>\n\u003cli>The same shape returned from the Jira REST API when a comment is retrieved.\u003c/li>\n\u003cli>See \u003ca href=\"https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-comments/#api-rest-api-3-issue-issueidorkey-comment-id-get\" class=\"uri\">Get comment\u003c/a> in the REST API documentation, for more details.\u003c/li>\n\u003cli>Example: \u003ccode>https://your-domain.atlassian.net/rest/api/3/issue/JRA-9/comment/252789\u003c/code>\u003c/li>\n\u003cli>The comment is provided for comment related webhooks.\u003c/li>\n\u003c/ul>\u003c/td>\n\u003c/tr>\n\u003c/tbody>\n\u003c/table>\n\n#### Webhook payload\n\nThe returned fields depend on the webhook type.\n\nThe following is an example of the JSON sent in an issue update callback:\n\n```json\n{\n \"issue\": {\n \"id\":\"99291\",\n \"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/99291\",\n \"key\":\"JRA-20002\",\n \"fields\":{\n \"summary\":\"I feel the need for speed\",\n \"created\":\"2009-12-16T23:46:10.612-0600\",\n \"description\":\"Make the issue nav load 10x faster\",\n \"labels\":[\"UI\", \"dialogue\", \"move\"],\n \"priority\": {\n \"self\": \"https://your-domain.atlassian.net/rest/api/2/priority/3\",\n \"iconUrl\": \"https://your-domain.atlassian.net/images/icons/priorities/minor.svg\",\n \"name\": \"Minor\",\n \"id\": \"3\"\n },\n }\n },\n \"user\": {\n \"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=99:27935d01-92a7-4687-8272-a9b8d3b2ae2e\",\n \"accoundId\": \"99:27935d01-92a7-4687-8272-a9b8d3b2ae2e\",\n \"accountType\": \"atlassian\",\n \"avatarUrls\":{\n \"16x16\":\"https://your-domain.atlassian.net/secure/useravatar?size=small&avatarId=10605\",\n \"48x48\":\"https://your-domain.atlassian.net/secure/useravatar?avatarId=10605\"\n },\n \"displayName\":\"Bryan Rollins [Atlassian]\",\n \"active\" : \"true\",\n \"timeZone\": \"Europe/Warsaw\",\n },\n \"changelog\": {\n \"items\": [\n {\n \"toString\": \"A new summary.\",\n \"to\": null,\n \"fromString\": \"What is going on here?????\",\n \"from\": null,\n \"fieldtype\": \"jira\",\n \"field\": \"summary\"\n },\n {\n \"toString\": \"New Feature\",\n \"to\": \"2\",\n \"fromString\": \"Improvement\",\n \"from\": \"4\",\n \"fieldtype\": \"jira\",\n \"field\": \"issuetype\"\n }\n ],\n \"id\": 10124\n },\n \"timestamp\": 1606480436302,\n \"webhookEvent\": \"jira:issue_updated\",\n \"issue_event_type_name\": \"issue_generic\"\n}\n```\n\nIf a bulk operation triggers the webhook, the field `bulkOperationMetaData` is added to the webhook payload. For example:\n```json\n{\n ... usual webhook data ...,\n \"bulkOperationMetaData\": {\n \"sendMail\": false\n }\n}\n```\n\n#### Response codes\n\nIf a webhook is triggered successfully, a response code of 200 is returned. All other response codes should be treated as an unsuccessful attempt to trigger the webhook.\n\n## Known issues\n\n- Post function web hooks will not fire if added to the **Create Issue** workflow transition. We recommend that you configure your web hook to fire from the `issue_created` event instead.\n- Webhooks larger than 25MBs are not delivered. This limit may change without notice.\n- Project deletion cascade does not send `issue_deleted` webhooks.\n- Attachments added on create issue dialog don’t trigger `attachment_created` webhooks, but they are listed in attachment field in `jira:issue_created` webhook’s body.\n\n\n [Overview]: #overview\n [Registering a webhook]: #registering-a-webhook\n [Configuring a webhook]: #configuring-a-webhook\n [Adding a webhook as a post function to a workflow]: #adding-a-webhook-as-a-post-function-to-a-workflow\n [Executing a webhook]: #executing-a-webhook\n [Known issues]: #known-issues\n [1]: #1\n [notice]: /cloud/jira/platform/deprecation-notice-worklog-data-in-issue-related-events-for-webhooks\n [workflow post function]: https://support.atlassian.com/jira-cloud-administration/docs/configure-advanced-issue-workflows/#Post-functions\n [Work with issue workflows]: https://support.atlassian.com/jira-cloud-administration/docs/work-with-issue-workflows/\n"},{"type":"markdown","content":"\n"}],"metadata":{"source":"https://bitbucket.org/atlassian-developers/docs/src/master/content/cloud/jira/service-desk/webhooks.md?at=master&mode=edit&fileviewer=file-view-default&spa=0","title":"Webhooks","platform":"cloud","product":"jsdcloud","category":"devguide","subcategory":"blocks","date":"2025-02-14","enabledVersion":"1.7726.0-0.1319.0"},"deprecatedNavigation":{"name":"jsdcloud","url":"/cloud/jira/service-desk/","title":"Jira Service Management Cloud","categories":[{"url":"/cloud/jira/service-desk/","title":"Guides","indexLinkTitle":"Integrating with Jira Service Management Cloud","name":"devguide","subcategories":[{"name":"intro","expandAlways":true,"title":"Introduction and basics","items":[{"url":"/cloud/jira/service-desk/getting-started-with-forge","title":"Getting started with Forge"},{"url":"/cloud/jira/service-desk/getting-started-with-connect","title":"Getting started with Connect"},{"url":"/cloud/jira/service-desk/architecture-overview","title":"Architecture overview"},{"title":"Storing data with entity properties","url":"/cloud/jira/service-desk/storing-data-with-entity-properties"},{"url":"/cloud/jira/service-desk/frameworks-and-tools","title":"Frameworks and tools"}]},{"title":"Security","name":"security","expandAlways":true,"items":[{"title":"Security overview","url":"/cloud/jira/service-desk/security-overview"},{"title":"Security for Forge apps","url":"/cloud/jira/service-desk/security-for-forge-apps/"},{"title":"Scopes for OAuth 2.0 (3LO) and Forge apps","url":"/cloud/jira/service-desk/scopes-for-oauth-2-3LO-and-forge-apps"},{"title":"Security for Connect apps","url":"/cloud/jira/service-desk/security-for-connect-apps"},{"title":"Scopes for Connect apps","url":"/cloud/jira/service-desk/scopes-for-connect-apps"},{"title":"User impersonation for Connect apps","url":"/cloud/jira/service-desk/user-impersonation-for-connect-apps"},{"title":"Understanding JWT for Connect apps","url":"/cloud/jira/service-desk/understanding-jwt"},{"title":"OAuth 2.0 (3LO) apps","url":"/cloud/jira/service-desk/oauth-2-authorization-code-grants-3lo-for-apps/"},{"title":"Basic auth for REST APIs","url":"/cloud/jira/service-desk/basic-auth-for-rest-apis"},{"title":"OAuth 1.0a for REST APIs (Legacy)","url":"/cloud/jira/service-desk/jira-rest-api-oauth-authentication"}]},{"name":"guides","expandAlways":true,"title":"Learning","items":[{"id":"tutorialsAndGuides","url":"/cloud/jira/service-desk/tutorials-example-apps-and-guides/","title":"Tutorials and guides"},{"title":"Connect cookbook","url":"/cloud/jira/service-desk/connect-cookbook"},{"url":"/cloud/jira/service-desk/patterns-and-examples/","title":"Patterns and examples"}]},{"title":"Privacy guidelines","expandAlways":true,"name":"privacy","items":[{"title":"User privacy guide for app developers","url":"/cloud/jira/service-desk/user-privacy-developer-guide"},{"title":"Profile visibility","url":"/cloud/jira/service-desk/profile-visibility"}]},{"name":"blocks","expandAlways":true,"title":"Building blocks","items":[{"url":"/cloud/jira/service-desk/app-descriptor","title":"App descriptor"},{"url":"/cloud/jira/service-desk/conditions","title":"Conditions"},{"url":"/cloud/jira/service-desk/context-parameters","title":"Context parameters"},{"title":"Dynamic modules","url":"/cloud/jira/service-desk/dynamic-modules"},{"url":"/cloud/jira/service-desk/jira-entity-properties","title":"Entity properties"},{"title":"Internationalization","url":"/cloud/jira/service-desk/internationalization/"},{"title":"Jira expressions","url":"/cloud/jira/service-desk/jira-expressions"},{"url":"/cloud/jira/service-desk/webhooks","title":"Webhooks"}]},{"name":"other","expandAlways":true,"title":"Other considerations","items":[{"title":"Atlassian Design Guidelines","url":"https://design.atlassian.com/"},{"title":"Atlaskit","url":"https://atlaskit.atlassian.com/"},{"title":"Atlassian Marketplace","url":"/platform/marketplace/"},{"title":"Cloud app licensing","url":"/platform/marketplace/cloud-app-licensing/"}]}]},{"title":"Reference","url":"/cloud/jira/service-desk/rest/","name":"reference","subcategories":[{"name":"rest","title":"REST API","items":[{"title":"REST API","url":"/cloud/jira/service-desk/rest/"}]},{"name":"modules","title":"Modules","items":[{"url":"/cloud/jira/service-desk/about-jira-modules","title":"About Jira Service Management modules"},{"title":"Admin Page","url":"/cloud/jira/service-desk/modules/admin-page/"},{"title":"Administration UI locations","url":"/cloud/jira/software/administration-ui-locations"},{"url":"/cloud/jira/service-desk/agent-view","title":"Agent view"},{"url":"/cloud/jira/service-desk/automation-action","title":"Automation action"},{"title":"Background Script","url":"/cloud/jira/service-desk/modules/background-script/"},{"title":"Build","url":"/cloud/jira/service-desk/modules/build/"},{"url":"/cloud/jira/service-desk/customer-portal","title":"Customer portal"},{"title":"Dashboard Item","url":"/cloud/jira/service-desk/modules/dashboard-item/"},{"title":"Deployment","url":"/cloud/jira/service-desk/modules/deployment/"},{"url":"/cloud/jira/service-desk/deployment-gating","title":"Deployment gating"},{"title":"Development Tool","url":"/cloud/jira/service-desk/modules/development-tool/"},{"title":"Devops Components","url":"/cloud/jira/service-desk/modules/devops-components/"},{"title":"Dialog","url":"/cloud/jira/service-desk/modules/dialog/"},{"title":"Entity Property","url":"/cloud/jira/service-desk/modules/entity-property/"},{"title":"Feature Flag","url":"/cloud/jira/service-desk/modules/feature-flag/"},{"title":"Global Permission","url":"/cloud/jira/service-desk/modules/global-permission/"},{"title":"Issue Content","url":"/cloud/jira/service-desk/modules/issue-content/"},{"title":"Issue Context","url":"/cloud/jira/service-desk/modules/issue-context/"},{"title":"Issue Field","url":"/cloud/jira/service-desk/modules/issue-field/"},{"title":"Issue Glance","url":"/cloud/jira/service-desk/modules/issue-glance/"},{"url":"/cloud/jira/service-desk/issue-view-ui-locations","title":"Issue view UI locations"},{"title":"JQL Functions","url":"/cloud/jira/service-desk/modules/jql-functions/"},{"title":"Keyboard Shortcut","url":"/cloud/jira/service-desk/modules/keyboard-shortcut/"},{"title":"Operations Information","url":"/cloud/jira/service-desk/modules/operations-information/"},{"title":"Page","url":"/cloud/jira/service-desk/modules/page/"},{"url":"/cloud/jira/service-desk/portal-icon","title":"Portal icon"},{"title":"Project Admin Tab Panel","url":"/cloud/jira/service-desk/modules/project-admin-tab-panel/"},{"title":"Project Page","url":"/cloud/jira/service-desk/modules/project-page/"},{"title":"Project Permission","url":"/cloud/jira/service-desk/modules/project-permission/"},{"title":"Project settings UI locations","url":"/cloud/jira/platform/project-settings-ui-locations"},{"title":"Project sidebar","url":"/cloud/jira/service-desk/jira-project-sidebar"},{"title":"Remote Link","url":"/cloud/jira/service-desk/modules/remote-link/"},{"title":"Report","url":"/cloud/jira/service-desk/modules/report/"},{"url":"/cloud/jira/service-desk/request-create-property-panel","title":"Request create property panel"},{"title":"Search Request View","url":"/cloud/jira/service-desk/modules/search-request-view/"},{"title":"Security Information","url":"/cloud/jira/service-desk/modules/security-information/"},{"title":"Tab Panel","url":"/cloud/jira/service-desk/modules/tab-panel/"},{"title":"Time Tracking Provider","url":"/cloud/jira/service-desk/modules/time-tracking-provider/"},{"url":"/cloud/jira/service-desk/extension-points-for-the-end-user-ui","title":"User profile menu"},{"title":"Web Item","url":"/cloud/jira/service-desk/modules/web-item/"},{"title":"Web Panel","url":"/cloud/jira/service-desk/modules/web-panel/"},{"title":"Web Section","url":"/cloud/jira/service-desk/modules/web-section/"},{"url":"/cloud/jira/service-desk/web-item-target","title":"Web item target"},{"title":"Webhook","url":"/cloud/jira/service-desk/modules/webhook/"},{"title":"Workflow Condition","url":"/cloud/jira/service-desk/modules/workflow-condition/"},{"title":"Workflow Post Function","url":"/cloud/jira/service-desk/modules/workflow-post-function/"},{"title":"Workflow Validator","url":"/cloud/jira/service-desk/modules/workflow-validator/"}]},{"name":"jsapi","title":"JavaScript API","items":[{"url":"/cloud/jira/service-desk/about-the-javascript-api","title":"About the JavaScript API"},{"title":"Context","url":"/cloud/jira/service-desk/jsapi/context/"},{"title":"Cookie","url":"/cloud/jira/service-desk/jsapi/cookie/"},{"title":"Dialog","url":"/cloud/jira/service-desk/jsapi/dialog/"},{"title":"Events","url":"/cloud/jira/service-desk/jsapi/events/"},{"title":"Flag","url":"/cloud/jira/service-desk/jsapi/flag/"},{"title":"History","url":"/cloud/jira/service-desk/jsapi/history/"},{"title":"Iframe","url":"/cloud/jira/service-desk/jsapi/iframe/"},{"title":"Inline dialog","url":"/cloud/jira/service-desk/jsapi/inline-dialog/"},{"title":"Jira","url":"/cloud/jira/service-desk/jsapi/jira/"},{"title":"Navigator","url":"/cloud/jira/service-desk/jsapi/navigator/"},{"title":"Page","url":"/cloud/jira/service-desk/jsapi/page/"},{"title":"Request","url":"/cloud/jira/service-desk/jsapi/request/"},{"title":"Scroll position","url":"/cloud/jira/service-desk/jsapi/scroll-position/"},{"title":"User","url":"/cloud/jira/service-desk/jsapi/user/"}]},{"title":"Jira expressions types","name":"expressions","items":[{"title":"Jira expressions types","url":"/cloud/jira/service-desk/jira-expressions-type-reference"}]},{"title":"Forge","name":"forge","items":[{"title":"Forge","url":"/cloud/jira/service-desk/forge/"}]}]},{"name":"help","title":"Resources","url":"/cloud/jira/service-desk/get-help/"},{"name":"changelog","title":"Changelog","url":"/cloud/jira/service-desk/changelog/","apiGroups":["connect-jsm-cloud","rest-jsm-cloud","forge-jsm-cloud"]}],"enabledVersion":"1.7726.0-0.1319.0"},"navigation":[{"label":"Integrating with Jira Service Management Cloud","href":"/cloud/jira/service-desk/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Introduction and basics","href":"/cloud/jira/service-desk/getting-started-with-forge/","expandState":"always-expanded","childNavigationNodes":[{"label":"Getting started with Forge","href":"/cloud/jira/service-desk/getting-started-with-forge/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Getting started with Connect","href":"/cloud/jira/service-desk/getting-started-with-connect/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Architecture overview","href":"/cloud/jira/service-desk/architecture-overview/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Storing data with entity properties","href":"/cloud/jira/service-desk/storing-data-with-entity-properties/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Frameworks and tools","href":"/cloud/jira/service-desk/frameworks-and-tools/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}],"nestedNavigationNodes":[]},{"label":"Security","href":"/cloud/jira/service-desk/security-overview/","expandState":"always-expanded","childNavigationNodes":[{"label":"Security overview","href":"/cloud/jira/service-desk/security-overview/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Security for Forge apps","href":"/cloud/jira/service-desk/security-for-forge-apps/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Scopes for OAuth 2.0 (3LO) and Forge apps","href":"/cloud/jira/service-desk/scopes-for-oauth-2-3LO-and-forge-apps/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Security for Connect apps","href":"/cloud/jira/service-desk/security-for-connect-apps/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Scopes for Connect apps","href":"/cloud/jira/service-desk/scopes-for-connect-apps/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"User impersonation for Connect apps","href":"/cloud/jira/service-desk/user-impersonation-for-connect-apps/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Understanding JWT for Connect apps","href":"/cloud/jira/service-desk/understanding-jwt/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"OAuth 2.0 (3LO) apps","href":"/cloud/jira/service-desk/oauth-2-authorization-code-grants-3lo-for-apps/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Basic auth for REST APIs","href":"/cloud/jira/service-desk/basic-auth-for-rest-apis/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"OAuth 1.0a for REST APIs (Legacy)","href":"/cloud/jira/service-desk/jira-rest-api-oauth-authentication/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}],"nestedNavigationNodes":[]},{"label":"Learning","href":"/cloud/jira/service-desk/tutorials-example-apps-and-guides/","expandState":"always-expanded","childNavigationNodes":[{"label":"Tutorials and guides","href":"/cloud/jira/service-desk/tutorials-example-apps-and-guides/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Connect cookbook","href":"/cloud/jira/service-desk/connect-cookbook/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Patterns and examples","href":"/cloud/jira/service-desk/patterns-and-examples/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}],"nestedNavigationNodes":[]},{"label":"Privacy guidelines","href":"/cloud/jira/service-desk/user-privacy-developer-guide/","expandState":"always-expanded","childNavigationNodes":[{"label":"User privacy guide for app developers","href":"/cloud/jira/service-desk/user-privacy-developer-guide/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Profile visibility","href":"/cloud/jira/service-desk/profile-visibility/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}],"nestedNavigationNodes":[]},{"label":"Building blocks","href":"/cloud/jira/service-desk/app-descriptor/","expandState":"always-expanded","childNavigationNodes":[{"label":"App descriptor","href":"/cloud/jira/service-desk/app-descriptor/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Conditions","href":"/cloud/jira/service-desk/conditions/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Context parameters","href":"/cloud/jira/service-desk/context-parameters/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Dynamic modules","href":"/cloud/jira/service-desk/dynamic-modules/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Entity properties","href":"/cloud/jira/service-desk/jira-entity-properties/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Internationalization","href":"/cloud/jira/service-desk/internationalization/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Jira expressions","href":"/cloud/jira/service-desk/jira-expressions/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Webhooks","href":"/cloud/jira/service-desk/webhooks/","expandState":"expanded","childNavigationNodes":[],"nestedNavigationNodes":[]}],"nestedNavigationNodes":[]},{"label":"Other considerations","href":"https://design.atlassian.com/","expandState":"always-expanded","childNavigationNodes":[{"label":"Atlassian Design Guidelines","href":"https://design.atlassian.com/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Atlaskit","href":"https://atlaskit.atlassian.com/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Atlassian Marketplace","href":"/platform/marketplace/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Cloud app licensing","href":"/platform/marketplace/cloud-app-licensing/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}],"nestedNavigationNodes":[]}],"navigationLocation":{"pathname":"/cloud/jira/service-desk/webhooks/"},"theme":"grouped-sidebar","newRestApiExperience":true},"frontEndFeatures":{"shouldShowDacIntercept":true,"shouldShowGetHelpWidget":true,"renderRestRedesignedDocs":{"contentSets":[],"enableAllInternal":true,"enableAllExternal":true},"targetExternalBuilders":{"contentSets":[],"userEmails":[]},"shouldEnableAIfeatures":false},"getHelpBaseUrl":"https://dac-get-help.services.atlassian.com","changelogStargateBaseUrl":"/gateway/api/dac-changelogs","bitbucketClientId":"wuJ9hf4zyXjYJVxWFf","isContentSetInternal":false};</script> <title>Webhooks</title> <style data-styled-components="bcCCNc jqBRrP ibwhYF eZnlXi bsbZCT cEicjz hEREHr cWyolX ccUuQb KLVHW RfwMt ebpAmp dEUQgS jgvUXc cEunxv jGeTgW hSXbpc fFirge hKiNSh iuGVGX bCtJbM hwrSXl iARtDw BlNLE iLnIWi eGFUop bNgsgj ixXsyz hMVyQH ebjqXf jOJzhX launBt gupbxx cTROs kiTwuh bCnCXc fdgUza bHbcZi cRavQB gWIkLp jGqvBW hsaQyA bWkibq huMuzN hYifdp crKIBs bIjwqY iLIKSx eysgIS cLWHVF cQNBrn jCVVco fypsmc jgxetf vudGk jMPRQO igxxMf jPqTBr lhcjXP gzVyrk rJVhP hrxrbx gfLKuW kmRqgF APFeF hbQcmX dUcFyG RSHIw insOyI fDSCxc"> /* sc-component-id: sc-keyframes-bcCCNc */ @-webkit-keyframes bcCCNc{0%{opacity:0;}100%{opacity:1;}} @keyframes bcCCNc{0%{opacity:0;}100%{opacity:1;}} /* sc-component-id: sc-keyframes-jqBRrP */ @-webkit-keyframes jqBRrP{0%{opacity:1;}50%{opacity:0.6;}100%{opacity:1;}} @keyframes jqBRrP{0%{opacity:1;}50%{opacity:0.6;}100%{opacity:1;}} /* sc-component-id: sc-keyframes-ibwhYF */ @-webkit-keyframes ibwhYF{to{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}} @keyframes ibwhYF{to{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}} /* sc-component-id: sc-cZBZkQ */ .fypsmc{position:relative;} .fypsmc:not(:hover):not(:focus-within) .copy{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;} /* sc-component-id: sc-gbzWSY */ .jgxetf{position:relative;top:var(--ds-space-0,0px);left:var(--ds-space-0,0px);width:100%;z-index:0;} /* sc-component-id: sc-jqIZGH */ .vudGk{border-radius:3px;background-color:#f4f5f7;color:#172b4d;font-size:12px;line-height:20px;overflow:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;} .vudGk pre{margin:var(--ds-space-0,0px);padding:var(--ds-space-100,8px);} .vudGk pre:first-child{float:left;text-align:right;background-color:#ebecf0;color:#8993a4;font-size:14px;} .vudGk code{display:inline-block;position:relative;left:var(--ds-space-200,16px);padding-right:var(--ds-space-200,16px);} /* sc-component-id: sc-jGxEUC */ .jCVVco{margin:16px var(--ds-space-0,0px);padding:var(--ds-space-0,0px);max-height:500px;overflow:auto;} /* sc-component-id: sc-jdeSqf */ .cQNBrn{overflow-wrap:break-word;word-wrap:break-word;} /* sc-component-id: sc-cBrjTV */ .crKIBs{padding-top:var(--ds-space-300,24px);} .crKIBs:first-child{padding-top:var(--ds-space-0,0px);} .crKIBs h1 .heading-anchor-wrapper{position:absolute;height:1.1666666666666667em;margin-left:var(--ds-space-075,6px);} .crKIBs h1 .heading-anchor-wrapper button{padding-left:var(--ds-space-0,0px);padding-right:var(--ds-space-0,0px);} @media (hover:hover) and (pointer:fine){.crKIBs h1 .heading-anchor-wrapper > button{opacity:0;-webkit-transform:translate(-8px,0px);-ms-transform:translate(-8px,0px);transform:translate(-8px,0px);-webkit-transition:opacity 0.2s ease 0s,-webkit-transform 0.2s ease 0s;-webkit-transition:opacity 0.2s ease 0s,transform 0.2s ease 0s;transition:opacity 0.2s ease 0s,transform 0.2s ease 0s;}.crKIBs h1:hover .heading-anchor-wrapper > button{opacity:1;-webkit-transform:none !important;-ms-transform:none !important;transform:none !important;}} .crKIBs h2 .heading-anchor-wrapper{position:absolute;height:1.2em;margin-left:var(--ds-space-075,6px);} .crKIBs h2 .heading-anchor-wrapper button{padding-left:var(--ds-space-0,0px);padding-right:var(--ds-space-0,0px);} @media (hover:hover) and (pointer:fine){.crKIBs h2 .heading-anchor-wrapper > button{opacity:0;-webkit-transform:translate(-8px,0px);-ms-transform:translate(-8px,0px);transform:translate(-8px,0px);-webkit-transition:opacity 0.2s ease 0s,-webkit-transform 0.2s ease 0s;-webkit-transition:opacity 0.2s ease 0s,transform 0.2s ease 0s;transition:opacity 0.2s ease 0s,transform 0.2s ease 0s;}.crKIBs h2:hover .heading-anchor-wrapper > button{opacity:1;-webkit-transform:none !important;-ms-transform:none !important;transform:none !important;}} .crKIBs h3 .heading-anchor-wrapper{position:absolute;height:1.25em;margin-left:var(--ds-space-075,6px);} .crKIBs h3 .heading-anchor-wrapper button{padding-left:var(--ds-space-0,0px);padding-right:var(--ds-space-0,0px);} @media (hover:hover) and (pointer:fine){.crKIBs h3 .heading-anchor-wrapper > button{opacity:0;-webkit-transform:translate(-8px,0px);-ms-transform:translate(-8px,0px);transform:translate(-8px,0px);-webkit-transition:opacity 0.2s ease 0s,-webkit-transform 0.2s ease 0s;-webkit-transition:opacity 0.2s ease 0s,transform 0.2s ease 0s;transition:opacity 0.2s ease 0s,transform 0.2s ease 0s;}.crKIBs h3:hover .heading-anchor-wrapper > button{opacity:1;-webkit-transform:none !important;-ms-transform:none !important;transform:none !important;}} .crKIBs h4 .heading-anchor-wrapper{position:absolute;height:1.1428571428571428em;margin-left:var(--ds-space-075,6px);} .crKIBs h4 .heading-anchor-wrapper button{padding-left:var(--ds-space-0,0px);padding-right:var(--ds-space-0,0px);} @media (hover:hover) and (pointer:fine){.crKIBs h4 .heading-anchor-wrapper > button{opacity:0;-webkit-transform:translate(-8px,0px);-ms-transform:translate(-8px,0px);transform:translate(-8px,0px);-webkit-transition:opacity 0.2s ease 0s,-webkit-transform 0.2s ease 0s;-webkit-transition:opacity 0.2s ease 0s,transform 0.2s ease 0s;transition:opacity 0.2s ease 0s,transform 0.2s ease 0s;}.crKIBs h4:hover .heading-anchor-wrapper > button{opacity:1;-webkit-transform:none !important;-ms-transform:none !important;transform:none !important;}} .crKIBs h5 .heading-anchor-wrapper{position:absolute;height:1.3333333333333333em;margin-left:var(--ds-space-075,6px);} .crKIBs h5 .heading-anchor-wrapper button{padding-left:var(--ds-space-0,0px);padding-right:var(--ds-space-0,0px);} @media (hover:hover) and (pointer:fine){.crKIBs h5 .heading-anchor-wrapper > button{opacity:0;-webkit-transform:translate(-8px,0px);-ms-transform:translate(-8px,0px);transform:translate(-8px,0px);-webkit-transition:opacity 0.2s ease 0s,-webkit-transform 0.2s ease 0s;-webkit-transition:opacity 0.2s ease 0s,transform 0.2s ease 0s;transition:opacity 0.2s ease 0s,transform 0.2s ease 0s;}.crKIBs h5:hover .heading-anchor-wrapper > button{opacity:1;-webkit-transform:none !important;-ms-transform:none !important;transform:none !important;}} .crKIBs h6 .heading-anchor-wrapper{position:absolute;height:1.4545454545454546em;margin-left:var(--ds-space-075,6px);} .crKIBs h6 .heading-anchor-wrapper button{padding-left:var(--ds-space-0,0px);padding-right:var(--ds-space-0,0px);} @media (hover:hover) and (pointer:fine){.crKIBs h6 .heading-anchor-wrapper > button{opacity:0;-webkit-transform:translate(-8px,0px);-ms-transform:translate(-8px,0px);transform:translate(-8px,0px);-webkit-transition:opacity 0.2s ease 0s,-webkit-transform 0.2s ease 0s;-webkit-transition:opacity 0.2s ease 0s,transform 0.2s ease 0s;transition:opacity 0.2s ease 0s,transform 0.2s ease 0s;}.crKIBs h6:hover .heading-anchor-wrapper > button{opacity:1;-webkit-transform:none !important;-ms-transform:none !important;transform:none !important;}} /* sc-component-id: sc-iCwjlJ */ .bIjwqY{display:inline;outline:none;background-color:transparent;border:none;color:#42526E;cursor:pointer;right:var(--ds-space-0,0px);} /* sc-component-id: sc-fkyLDJ */ .jGeTgW{min-height:100vh;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;} /* sc-component-id: sc-jUpvKA */ .kmRqgF{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;} /* sc-component-id: sc-jdfcpN */ .jMPRQO{width:100%;overflow-y:auto;margin:12px var(--ds-space-0,0px) 16px var(--ds-space-0,0px);} /* sc-component-id: sc-kNBZmU */ .lhcjXP{background-color:#F4F5F7;} .lhcjXP.lhcjXP{padding:8px;} /* sc-component-id: sc-eopZyb */ .gzVyrk.gzVyrk{padding:8px;} /* sc-component-id: sc-eNNmBn */ .igxxMf{border-bottom:none;} /* sc-component-id: sc-eEieub */ .jPqTBr{border-bottom:1px solid #C1C7D0;} /* sc-component-id: sc-eNPDpu */ .iARtDw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:fixed;bottom:var(--ds-space-400,32px);left:var(--ds-space-400,32px);z-index:1;} /* sc-component-id: sc-hARARD */ .hrxrbx{text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;margin-left:16px;margin-top:var(--ds-space-500,40px);margin-bottom:var(--ds-space-500,40px);} /* sc-component-id: sc-ccLTTT */ .gfLKuW{font-size:14px;color:#6B778C;margin:var(--ds-space-0,0px) var(--ds-space-050,4px) var(--ds-space-0,0px) var(--ds-space-0,0px);} /* sc-component-id: sc-TuwoP */ .hKiNSh{max-height:100px;background-color:#DEEBFF;} /* sc-component-id: sc-fQkuQJ */ .iuGVGX{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#DEEBFF;color:#172B4D;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;fill:#DEEBFF;font-weight:600;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding:12px;text-align:center;margin:auto;max-width:876px;} /* sc-component-id: sc-epGmkI */ .bCtJbM{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;} /* sc-component-id: sc-dphlzf */ .fFirge{max-height:0px;overflow:hidden;-webkit-transition:max-height 0.25s ease-in-out;transition:max-height 0.25s ease-in-out;} /* sc-component-id: sc-fCPvlr */ .hwrSXl{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;padding:4px;overflow:hidden;} /* sc-component-id: sc-gAmQfK */ .hSXbpc{color:black;position:relative;z-index:100;} .hSXbpc div[data-testid='navigation-site-title']{color:#172B4D;font-size:16px;} /* sc-component-id: sc-hvvHee */ .APFeF{margin-top:var(--ds-space-400,32px) padding:var(--ds-space-200,16px) var(--ds-space-100,8px);background:#F4F5F7;color:white;min-height:100px;} .APFeF,.APFeF *{box-sizing:border-box;} @media (min-width:768px){.APFeF{padding:var(--ds-space-400,32px) var(--ds-space-100,8px);}} /* sc-component-id: sc-eSePXt */ .hbQcmX{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:80rem;margin-left:auto;margin-right:auto;padding-left:0.9375rem;padding-right:0.9375rem;} @media (min-width:860px){.hbQcmX{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}} /* sc-component-id: sc-dXfzlN */ .insOyI{-webkit-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;} @media (min-width:860px){.insOyI{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}} @media (max-width:1024px){.insOyI{font-size:14px;}} /* sc-component-id: sc-aewfc */ .fDSCxc{color:#0a0a0a;display:inline-block;line-height:1;padding:var(--ds-space-150,12px) var(--ds-space-400,32px) var(--ds-space-150,12px) var(--ds-space-0,0px);} @media (min-width:768px){.fDSCxc{padding:var(--ds-space-150,12px) var(--ds-space-200,16px);}} @media (max-width:1024px){.fDSCxc{font-size:14px;}} /* sc-component-id: sc-iIHjhz */ .RSHIw{color:#0057d8;display:inline-block;line-height:1;padding:var(--ds-space-150,12px) var(--ds-space-400,32px) var(--ds-space-150,12px) var(--ds-space-0,0px);} @media (min-width:768px){.RSHIw{padding:var(--ds-space-150,12px) var(--ds-space-200,16px);}} .RSHIw.hide-optanon-link{display:none;} /* sc-component-id: sc-eQGPmX */ .ebjqXf a[type='button']{line-height:18px;height:auto;padding:var(--ds-space-0,0px);text-align:left;} /* sc-component-id: sc-dAOnuy */ .gupbxx{white-space:normal;} /* sc-component-id: sc-hMjcWo */ .jOJzhX{padding:4px var(--ds-space-0,0px) 2px;} .jOJzhX > a[type='button']{font-weight:inherit;color:inherit;} .jOJzhX > a[type='button']:before{content:" ";display:inline-block;line-height:18px;min-width:0.5rem;} .jOJzhX > a[type='button']:hover{background-color:inherit;color:rgb(0,82,204) !important;}.launBt{padding:4px var(--ds-space-0,0px) 2px;} .launBt > a[type='button']{font-weight:700;color:rgb(0,82,204) !important;} .launBt > a[type='button']:before{content:"•";display:inline-block;line-height:18px;min-width:0.5rem;} .launBt > a[type='button']:hover{background-color:inherit;color:rgb(0,82,204) !important;} /* sc-component-id: sc-eAudoH */ .kiTwuh{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;cursor:inherit;} /* sc-component-id: sc-hgzKov */ .cTROs{border-top:1px solid #EBECF0;margin:var(--ds-space-0,0px);padding:12px var(--ds-space-0,0px);position:relative;} .cTROs:last-child{border-bottom:1px solid #EBECF0;} /* sc-component-id: sc-hCbubC */ .bCnCXc{color:#253858;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;font-weight:700;line-height:22px;text-transform:uppercase;} /* sc-component-id: sc-kMBllD */ .fdgUza{-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;height:24px;text-align:center;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);visibility:hidden;width:24px;} /* sc-component-id: sc-enfXDO */ .bHbcZi{height:auto;list-style:none;margin:var(--ds-space-0,0px);overflow:hidden;padding:var(--ds-space-0,0px);} .bHbcZi.bHbcZi{margin-top:var(--ds-space-0,0px);} /* sc-component-id: sc-dBfaGr */ .hMVyQH{list-style:none;margin:var(--ds-space-0,0px);padding:var(--ds-space-0,0px);} /* sc-component-id: sc-jgVwMx */ .ixXsyz{padding:16px 0;} /* sc-component-id: sc-giOsra */ .cEicjz{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-radius:3px;background-color:#DEEBFF;padding:16px;}.hEREHr{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-radius:3px;background-color:#FFFAE6;padding:16px;}.cWyolX{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-radius:3px;background-color:#E3FCEF;padding:16px;} /* sc-component-id: sc-SFOxd */ .KLVHW{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;} /* sc-component-id: sc-jOBXIr */ .ebpAmp{margin:0;font-size:1.1428571428571428em;font-style:inherit;line-height:1.25;color:#172B4D;font-weight:600;-webkit-letter-spacing:-0.006em;-moz-letter-spacing:-0.006em;-ms-letter-spacing:-0.006em;letter-spacing:-0.006em;margin-top:24px;} /* sc-component-id: sc-dzOgQY */ * + .RfwMt{margin-top:8px;} /* sc-component-id: sc-jOVcOr */ .ccUuQb{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:40px;} .ccUuQb > span{margin:-2px 0;vertical-align:top;} /* sc-component-id: sc-hkaZBZ */ .bsbZCT{margin:16px var(--ds-space-0,0px);} .bsbZCT > section > div:last-child{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;overflow-x:auto;} /* sc-component-id: sc-gLdKKF */ .dEUQgS{position:relative;padding-top:56.25%;margin:16px var(--ds-space-0,0px);height:0;overflow:hidden;max-width:100%;} /* sc-component-id: sc-gCUMDz */ .jgvUXc{position:absolute;top:var(--ds-space-0,0px);left:var(--ds-space-0,0px);width:100%;height:100%;} /* sc-component-id: sc-grYksN */ .jGqvBW{display:none;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;margin:var(--ds-space-0,0px) 15px;} @media (min-width:600px){.jGqvBW{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-top:20px;}} /* sc-component-id: sc-frudsx */ .hsaQyA{display:none;} @media (min-width:900px){.hsaQyA{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;color:#6B778C;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}} /* sc-component-id: sc-cBXKeB */ .bWkibq{display:none;padding-right:4px;} @media (min-width:1200px){.bWkibq{display:initial;}} /* sc-component-id: sc-fjNYmT */ .cRavQB{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:3;-webkit-flex-grow:3;-ms-flex-positive:3;flex-grow:3;margin:var(--ds-space-0,0px) auto;max-width:1200px;padding:var(--ds-space-0,0px) var(--ds-space-400,32px);} @media (min-width:900px){.cRavQB{overflow:visible;}} /* sc-component-id: sc-hzOKmB */ .gWIkLp{display:block;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;margin-top:var(--ds-space-0,0px)px;} @media (min-width:900px){.gWIkLp{margin-right:192px;}} /* sc-component-id: sc-jBoNkH */ .eGFUop{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;width:100%;} @media (min-width:900px){.eGFUop{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}} /* sc-component-id: sc-fPbjcq */ .bNgsgj{box-sizing:border-box;-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:350px;width:20%;border-right:1px solid rgba(9,30,66,0.08);display:none;padding:32px;padding-top:8px;padding-right:16px;} @media (min-width:900px){.bNgsgj{display:block;}} /* sc-component-id: sc-hdNmWC */ .huMuzN{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:3;-webkit-flex-grow:3;-ms-flex-positive:3;flex-grow:3;margin:15px;margin-top:8px;width:80%;} /* sc-component-id: sc-hBcjXN */ .iLnIWi{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;} .iLnIWi h1 + h2{margin-top:12px;} .iLnIWi h1 + h3{margin-top:16px;} /* sc-component-id: sc-gVZiCL */ .BlNLE img{max-width:100%;} .BlNLE tr{border-bottom:1px solid #C1C7D0;} .BlNLE thead{border-bottom:none;} .BlNLE th{background-color:#F4F5F7;padding:8px;} .BlNLE td{padding:8px;} .BlNLE .aui-lozenge{background:#42526E;border:0;border-radius:3px;color:#FFFFFF;box-sizing:border-box;display:inline-block;font-size:11px;font-weight:700;line-height:1;max-width:200px;padding:var(--ds-space-025,2px) var(--ds-space-050,4px) var(--ds-space-025,2px);text-transform:uppercase;vertical-align:baseline;} .BlNLE .aui-lozenge-subtle{background-color:#DFE1E6;color:#42526E;} .BlNLE .aui-lozenge-success{background-color:#00875A;color:#FFFFFF;} .BlNLE .aui-lozenge-error,.BlNLE .aui-lozenge-removed{background-color:#BF2600;color:#FFFFFF;} .BlNLE .aui-lozenge-inprogress{background-color:#0052CC;color:#FFFFFF;} .BlNLE .aui-lozenge-new{background-color:#5243AA;color:#FFFFFF;} .BlNLE .aui-lozenge-moved{background-color:#FF991F;color:#172B4D;} .BlNLE .aui-lozenge-current{background-color:#FFC400;color:#42526E;} .BlNLE .aui-lozenge-complete{background-color:#5E6C84;color:#FFFFFF;} .BlNLE .aui-lozenge-success.aui-lozenge-subtle{background-color:#E3FCEF;color:#006644;} .BlNLE .aui-lozenge-error.aui-lozenge-subtle,.BlNLE .aui-lozenge-removed.aui-lozenge-subtle{background-color:#FFEBE6;color:#BF2600;} .BlNLE .aui-lozenge-current.aui-lozenge-subtle,.BlNLE .aui-lozenge-inprogress.aui-lozenge-subtle{background-color:#DEEBFF;color:#0747A6;} .BlNLE .aui-lozenge-complete.aui-lozenge-subtle,.BlNLE .aui-lozenge-new.aui-lozenge-subtle{background-color:#EAE6FF;color:#403294;} .BlNLE .aui-lozenge-moved.aui-lozenge-subtle{background-color:#FFF0B3;color:#172B4D;} .BlNLE .aui-message{position:relative;margin:16px var(--ds-space-0,0px);border-radius:3px;padding:16px;padding-left:56px;} .BlNLE .aui-message p strong,.BlNLE .aui-message p.title{font-size:1.1428571428571428em;font-style:inherit;line-height:1.25;color:#172B4D;font-weight:600;-webkit-letter-spacing:-0.006em;-moz-letter-spacing:-0.006em;-ms-letter-spacing:-0.006em;letter-spacing:-0.006em;margin-top:24px;font-size:16px;margin-top:var(--ds-space-0,0px);} .BlNLE .aui-message p.title{margin-bottom:8px;} .BlNLE .aui-message p.title + p{margin-top:var(--ds-space-0,0px);} .BlNLE .aui-message.tip{background-color:#E3FCEF;} .BlNLE .aui-message.note,.BlNLE .aui-message.info{background-color:#DEEBFF;} .BlNLE .aui-message.warning{background-color:#FFFAE6;} .BlNLE .aui-message-tip{background-color:#E3FCEF;} .BlNLE .aui-message-note,.BlNLE .aui-message-tip{background-color:#DEEBFF;} .BlNLE .aui-message-warning{background-color:#FFFAE6;} .BlNLE blockquote{padding:8px 16px var(--ds-space-0,0px) 16px;border-left:1px solid #C1C7D0;margin:var(--ds-space-0,0px) var(--ds-space-0,0px) 16px;color:#97A0AF;} .BlNLE blockquote:after,.BlNLE blockquote:before{content:'';} /* sc-component-id: sc-imDdex */ @media (min-width:900px){.hYifdp{position:relative;margin-right:192px;}} /* sc-component-id: sc-lffWgi */ @media (min-width:900px){.iLIKSx{position:absolute;left:100%;height:100%;margin-top:12px;}} /* sc-component-id: sc-fGSyRc */ .eysgIS{border-left:4px solid #0052CC;padding:8px;margin:30px var(--ds-space-0,0px);} .eysgIS:empty{display:none;} .eysgIS > :first-child{margin-bottom:32px;} @media (min-width:900px){.eysgIS{position:-webkit-sticky;position:sticky;top:82px;border-left:none;margin:var(--ds-space-0,0px);padding:var(--ds-space-0,0px);box-sizing:border-box;width:192px;}} /* sc-component-id: sc-dCVVYJ */ .rJVhP{display:'flex';-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;} /* sc-component-id: sc-jkPxnQ */ .cLWHVF{padding-left:28px;} /* sc-component-id: sc-cyQzhP */ .cEunxv{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;} /* sc-component-id: sc-keyframes-eZnlXi */ @-webkit-keyframes eZnlXi{from{opacity:0;-webkit-transform:translateY(-10px);-ms-transform:translateY(-10px);transform:translateY(-10px);}to{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}} @keyframes eZnlXi{from{opacity:0;-webkit-transform:translateY(-10px);-ms-transform:translateY(-10px);transform:translateY(-10px);}to{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}} /* sc-component-id: sc-global-2906074290 */ @font-face{font-family:'Charlie Display';font-weight:400;src:url('/font/charlie-display/CharlieDisplay-Regular.otf') format('opentype');} @font-face{font-family:'Charlie Display';font-weight:500;src:url('/font/charlie-display/CharlieDisplay-Semibold.otf') format('opentype');} /* sc-component-id: sc-global-4218966353 */ *{box-sizing:border-box;}</style> <link href="https://dac-static.atlassian.com/_static/documentation-changelogs-docs-index-rest-api-docs-rest-docs-search-graphql-docs-graphql-sandbox-jsapi-connect-module-pages-analytics-and-cookie-preferences-homepage-errors-supportdesk.dfe18eccc22cf5b32118.chunk.css" rel="stylesheet"><link href="https://dac-static.atlassian.com/_static/documentation-changelogs-docs-index-rest-api-docs-rest-docs-search-graphql-docs-graphql-sandbox-jsapi-connect-module-pages-homepage-errors-supportdesk.c67a7555063c3b00faae.chunk.css" rel="stylesheet"><link href="https://dac-static.atlassian.com/_static/documentation.ce5deedee0b24a12eac1.css" rel="stylesheet"> <!-- Algolia Search Insights --> <script nonce="vm3bayHfecgzV2jhqqtzGhJEBqfZmrZrGufG58TWGCA="> const ALGOLIA_INSIGHTS_SRC = "https://cdn.jsdelivr.net/npm/search-insights@2.2.1"; window.ALGOLIA_DAC_INDEX_NAME = 'developer.atlassian.com-dac-prod'; window.ALGOLIA_DAC_APP_ID = '41O4X7L3MX'; !function(e,a,t,n,s,i,c){e.AlgoliaAnalyticsObject=s,e[s]=e[s]||function(){ (e[s].queue=e[s].queue||[]).push(arguments)},i=a.createElement(t),c=a.getElementsByTagName(t)[0], i.async=1,i.src=n,c.parentNode.insertBefore(i,c) }(window,document,"script",ALGOLIA_INSIGHTS_SRC,"algoliaAnalytics"); algoliaAnalytics('init', { appId: '41O4X7L3MX', apiKey: 'Y2ZkNTM4MDg5M2QyMDUzOTBlMGEwZTU5OGQ0NGQ1MTA0ZmM1MjM5NzUzODdjNDZmYTRjYzkwMGFlYmIwMDE0MnJlc3RyaWN0SW5kaWNlcz1kZXZlbG9wZXIuYXRsYXNzaWFuLmNvbS1kYWMtcHJvZCUyQ2RldmVsb3Blci5hdGxhc3NpYW4uY29tLWRhYy1zdGFnaW5nJTJDZGV2ZWxvcGVyLmF0bGFzc2lhbi5jb20tZGFjLWRldiZmaWx0ZXJzPXByaXZpbGVnZSUzQU5PTkU=', useCookie: true, }); </script> <!-- End Algolia Search Insights --> <script nonce="vm3bayHfecgzV2jhqqtzGhJEBqfZmrZrGufG58TWGCA="> window.ALGOLIA_DAC_API_KEY = 'Y2ZkNTM4MDg5M2QyMDUzOTBlMGEwZTU5OGQ0NGQ1MTA0ZmM1MjM5NzUzODdjNDZmYTRjYzkwMGFlYmIwMDE0MnJlc3RyaWN0SW5kaWNlcz1kZXZlbG9wZXIuYXRsYXNzaWFuLmNvbS1kYWMtcHJvZCUyQ2RldmVsb3Blci5hdGxhc3NpYW4uY29tLWRhYy1zdGFnaW5nJTJDZGV2ZWxvcGVyLmF0bGFzc2lhbi5jb20tZGFjLWRldiZmaWx0ZXJzPXByaXZpbGVnZSUzQU5PTkU='; window.ALGOLIA_DAC_API_KEY_EXPIRY = Date.now() + 28800000; window.ENABLE_AI = false; </script><script nonce="vm3bayHfecgzV2jhqqtzGhJEBqfZmrZrGufG58TWGCA="> window.DAC_CDN_HOST = 'https://dac-static.atlassian.com'; window.ENABLED_VERSION = '1.7726.0-0.1319.0'; </script></head> <body> <div id="root"><div class="sc-cyQzhP cEunxv"><div class="sc-fkyLDJ jGeTgW"><div><div class="sc-gAmQfK hSXbpc"><div class="sc-dphlzf fFirge"><div class="sc-TuwoP hKiNSh" aria-hidden="true" data-testid="banner-container" role="alert"><div class="sc-fQkuQJ iuGVGX"><span class="sc-epGmkI bCtJbM"><style data-emotion-css="14fi9av">.css-14fi9av{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}.css-14fi9av::-moz-focus-inner{border:0;margin:0;padding:0;}.css-14fi9av:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><button aria-label="close-icon" type="button" class="css-14fi9av"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="noix33">.css-noix33{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:0;font-size:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin:0 -2px;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-noix33"><style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="close-icon" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M12 10.586L6.707 5.293a1 1 0 00-1.414 1.414L10.586 12l-5.293 5.293a1 1 0 001.414 1.414L12 13.414l5.293 5.293a1 1 0 001.414-1.414L13.414 12l5.293-5.293a1 1 0 10-1.414-1.414L12 10.586z" fill="currentColor"/></svg></span></span></span></button></span><span class="sc-fCPvlr hwrSXl"><span></span></span></div></div></div><style data-emotion-css="1cychdt">.css-1cychdt{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-sizing:border-box;height:56px;padding-right:12px;padding-left:12px;position:relative;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}[data-theme="light"] .css-1cychdt,[data-theme="dark"] .css-1cychdt{border-bottom:1px solid var(--ds-border,#091E4224);}[data-theme="light"] .css-1cychdt::after,[data-theme="dark"] .css-1cychdt::after{content:none;}.css-1cychdt::after{height:4px;position:absolute;top:100%;right:0;left:0;background:linear-gradient(180deg,rgba(9,30,66,0.13) 0,rgba(9,30,66,0.13) 1px,rgba(9,30,66,0.08) 1px,rgba(9,30,66,0) 4px);content:"";}</style><header style="background-color:var(--ds-surface, #FFFFFF);color:var(--ds-text-subtlest, #6B778C)" role="banner" class="css-1cychdt"><style data-emotion-css="vtikxo">.css-vtikxo{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:0;height:inherit;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}.css-vtikxo > *{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}</style><nav aria-label="Atlassian Developer Navigation" class="css-vtikxo"><div role="presentation"><style data-emotion="css b7sh1q">.css-b7sh1q,.css-b7sh1q:hover,.css-b7sh1q:active,.css-b7sh1q:focus,.css-b7sh1q:visited,.css-b7sh1q:disabled,.css-b7sh1q[disabled]{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;border-radius:100%;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:inherit;font-style:normal;font-family:inherit;font-weight:500;max-width:100%;position:relative;text-align:center;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38);white-space:nowrap;background:var(--ds-background-brand-bold, #0052CC);color:var(--ds-text-subtle, #344563);cursor:pointer;height:auto;line-height:2.2857142857142856em;padding:4px;vertical-align:middle;width:auto;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;outline:none;margin:0 2px;background-color:transparent;}.css-b7sh1q::-moz-focus-inner,.css-b7sh1q:hover::-moz-focus-inner,.css-b7sh1q:active::-moz-focus-inner,.css-b7sh1q:focus::-moz-focus-inner,.css-b7sh1q:visited::-moz-focus-inner,.css-b7sh1q:disabled::-moz-focus-inner,.css-b7sh1q[disabled]::-moz-focus-inner{border:0;margin:0;padding:0;}.css-b7sh1q:hover,.css-b7sh1q:hover:hover,.css-b7sh1q:active:hover,.css-b7sh1q:focus:hover,.css-b7sh1q:visited:hover,.css-b7sh1q:disabled:hover,.css-b7sh1q[disabled]:hover{color:var(--ds-text-subtle, #0052CC);background-color:var(--ds-background-neutral-hovered, rgba(222, 235, 255, 0.9));}.css-b7sh1q:focus,.css-b7sh1q:hover:focus,.css-b7sh1q:active:focus,.css-b7sh1q:focus:focus,.css-b7sh1q:visited:focus,.css-b7sh1q:disabled:focus,.css-b7sh1q[disabled]:focus{color:var(--ds-text-subtle, #344563);background-color:var(--ds-background-selected-hovered, rgba(222, 235, 255, 0.5));box-shadow:0 0 0 2px var(--ds-border-focused, #2684FF);}.css-b7sh1q >span,.css-b7sh1q:hover >span,.css-b7sh1q:active >span,.css-b7sh1q:focus >span,.css-b7sh1q:visited >span,.css-b7sh1q:disabled >span,.css-b7sh1q[disabled] >span{margin:0;}</style><button class="css-b7sh1q" data-testid="app-switcher" type="button" tabindex="0"><style data-emotion="css 16j5qb5">.css-16j5qb5{opacity:1;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0 2px;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;font-size:0;line-height:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}</style><span class="css-16j5qb5"><style data-emotion="css snhnyn">.css-snhnyn{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;}.css-snhnyn >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-snhnyn >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-snhnyn >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}</style><span role="img" aria-label="Documentation" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-snhnyn"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path fill="currentColor" fill-rule="evenodd" d="M4 5.01C4 4.451 4.443 4 5.01 4h1.98C7.549 4 8 4.443 8 5.01v1.98C8 7.549 7.557 8 6.99 8H5.01C4.451 8 4 7.557 4 6.99V5.01zm0 6c0-.558.443-1.01 1.01-1.01h1.98c.558 0 1.01.443 1.01 1.01v1.98C8 13.549 7.557 14 6.99 14H5.01C4.451 14 4 13.557 4 12.99v-1.98zm6-6c0-.558.443-1.01 1.01-1.01h1.98c.558 0 1.01.443 1.01 1.01v1.98C14 7.549 13.557 8 12.99 8h-1.98C10.451 8 10 7.557 10 6.99V5.01zm0 6c0-.558.443-1.01 1.01-1.01h1.98c.558 0 1.01.443 1.01 1.01v1.98c0 .558-.443 1.01-1.01 1.01h-1.98c-.558 0-1.01-.443-1.01-1.01v-1.98zm6-6c0-.558.443-1.01 1.01-1.01h1.98c.558 0 1.01.443 1.01 1.01v1.98C20 7.549 19.557 8 18.99 8h-1.98C16.451 8 16 7.557 16 6.99V5.01zm0 6c0-.558.443-1.01 1.01-1.01h1.98c.558 0 1.01.443 1.01 1.01v1.98c0 .558-.443 1.01-1.01 1.01h-1.98c-.558 0-1.01-.443-1.01-1.01v-1.98zm-12 6c0-.558.443-1.01 1.01-1.01h1.98c.558 0 1.01.443 1.01 1.01v1.98C8 19.549 7.557 20 6.99 20H5.01C4.451 20 4 19.557 4 18.99v-1.98zm6 0c0-.558.443-1.01 1.01-1.01h1.98c.558 0 1.01.443 1.01 1.01v1.98c0 .558-.443 1.01-1.01 1.01h-1.98c-.558 0-1.01-.443-1.01-1.01v-1.98zm6 0c0-.558.443-1.01 1.01-1.01h1.98c.558 0 1.01.443 1.01 1.01v1.98c0 .558-.443 1.01-1.01 1.01h-1.98c-.558 0-1.01-.443-1.01-1.01v-1.98z"/></svg></span></span></button></div><style data-emotion-css="1qtw0hy">.css-1qtw0hy{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:4px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:none;border:0;border-radius:3px;color:inherit;cursor:pointer;}.css-1qtw0hy::-moz-focus-inner{border:0;}.css-1qtw0hy:first-of-type{margin-left:0;}.css-1qtw0hy:hover{background-color:var(--product-home-bg-color-hover);box-shadow:var(--product-home-box-shadow-hover);color:var(--product-home-color-hover);}.css-1qtw0hy:active{background-color:var(--product-home-bg-color-active);box-shadow:var(--product-home-box-shadow-active);color:var(--product-home-color-active);}.css-1qtw0hy:focus{background-color:var(--product-home-bg-color-focus);box-shadow:var(--product-home-box-shadow-focus);color:var(--product-home-color-focus);outline:0;}div.css-1qtw0hy{pointer-events:none;}@media (max-width:1279.9px){.css-1qtw0hy{margin:0 8px;}}@media (min-width:1280px){.css-1qtw0hy{margin:0 16px;}}</style><a style="--product-home-color-active:var(--ds-text-subtle, #0052CC);--product-home-bg-color-active:var(--ds-background-neutral-pressed, rgba(222, 235, 255, 0.7));--product-home-box-shadow-active:;--product-home-color-focus:var(--ds-text-subtle, #344563);--product-home-bg-color-focus:;--product-home-box-shadow-focus:0 0 0 2px var(--ds-border-focused, #2684FF);--product-home-color-hover:var(--ds-text-subtle, #0052CC);--product-home-bg-color-hover:var(--ds-background-neutral-hovered, rgba(222, 235, 255, 0.9));--product-home-box-shadow-hover:;--logo-max-width:260px" href="/" data-testid="navigation-container" class="css-1qtw0hy"><style data-emotion-css="3fth2k">.css-3fth2k{max-height:28px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;max-width:var(--logo-max-width);}.css-3fth2k > *{max-width:var(--logo-max-width);max-height:24px;}.css-3fth2k > span > svg{width:100%;}@media (max-width:1279.9px){.css-3fth2k{display:none;}}</style><div data-testid="navigation-logo" class="css-3fth2k"><svg width="261" height="25" viewBox="0 0 261 25" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="260.25" height="24" transform="translate(0 1)" fill="white" fill-opacity="0.01"></rect><path d="M5.3024 9.13208C5.03183 8.83445 4.62597 8.86149 4.43657 9.21323L0.0533155 18.0068C-0.109027 18.3586 0.134487 18.7644 0.513287 18.7644H6.6282C6.8176 18.7644 7.007 18.6562 7.08818 18.4668C8.44103 15.7611 7.62932 11.6213 5.3024 9.13208Z" fill="url(#paint0_linear)"></path><path d="M8.52267 1.15012C6.06047 5.04635 6.22281 9.34842 7.84624 12.5953C9.46967 15.8421 10.7143 18.3044 10.7955 18.4938C10.8766 18.6832 11.066 18.7914 11.2554 18.7914H17.3704C17.7492 18.7914 18.0197 18.3855 17.8303 18.0338C17.8303 18.0338 9.60495 1.58303 9.3885 1.17718C9.25321 0.771318 8.76618 0.771325 8.52267 1.15012Z" fill="#2684FF"></path><path d="M91.6158 14.4351C91.6158 11.8647 90.2359 10.6471 86.3937 9.80834C84.2562 9.34837 83.7422 8.86134 83.7422 8.18492C83.7422 7.34614 84.4998 6.96734 85.9067 6.96734C87.6113 6.96734 89.2889 7.48142 90.8852 8.21197V4.82982C89.7759 4.26162 88.0442 3.82869 86.015 3.82869C82.1999 3.82869 80.2247 5.47919 80.2247 8.21197C80.2247 10.3765 81.2258 12.1082 85.1762 12.8658C87.5301 13.3528 88.0172 13.7316 88.0172 14.5163C88.0172 15.2739 87.5301 15.7609 85.8526 15.7609C83.9315 15.7609 81.6317 15.1115 80.1436 14.2186V17.7631C81.3341 18.3584 82.9034 19.0078 85.8256 19.0078C89.9924 19.0078 91.6158 17.1679 91.6158 14.4351Z" fill="#0052CC"></path><path d="M133.256 4.04523V18.7643H136.395V7.53561L137.721 10.5119L142.158 18.7643H146.108V4.04523H142.97V13.5423L141.779 10.7825L138.208 4.04523H133.256Z" fill="#0052CC"></path><path d="M113.288 4.04523H109.851V18.7643H113.288V4.04523Z" fill="#0052CC"></path><path d="M105.901 14.4351C105.901 11.8647 104.522 10.6471 100.679 9.80834C98.5419 9.34837 98.0278 8.86134 98.0278 8.18492C98.0278 7.34614 98.7854 6.96734 100.192 6.96734C101.897 6.96734 103.575 7.48142 105.171 8.21197V4.82982C104.062 4.26162 102.33 3.82869 100.301 3.82869C96.4855 3.82869 94.5104 5.47919 94.5104 8.21197C94.5104 10.3765 95.5115 12.1082 99.4618 12.8658C101.816 13.3528 102.303 13.7316 102.303 14.5163C102.303 15.2739 101.816 15.7609 100.138 15.7609C98.2172 15.7609 95.9173 15.1115 94.4292 14.2186V17.7631C95.6197 18.3584 97.189 19.0078 100.111 19.0078C104.278 19.0078 105.901 17.1679 105.901 14.4351Z" fill="#0052CC"></path><path d="M53.5997 4.04523V18.7643H60.6616L61.771 15.5986H57.063V4.04523H53.5997Z" fill="#0052CC"></path><path d="M39.6926 4.0453V7.23806H43.5077V18.7644H46.9439V7.23806H51.0296V4.0453H39.6926Z" fill="#0052CC"></path><path d="M34.6874 4.04523H30.1688L25.028 18.7643H28.9512L29.6818 16.275C30.5476 16.5186 31.4676 16.6809 32.4416 16.6809C33.3886 16.6809 34.3086 16.5456 35.2014 16.275L35.932 18.7643H39.8553L34.6874 4.04523ZM32.4146 13.6505C31.7652 13.6505 31.1158 13.5423 30.5206 13.3799L32.4146 6.94033L34.3086 13.3799C33.7133 13.5423 33.0639 13.6505 32.4146 13.6505Z" fill="#0052CC"></path><path d="M72.8113 4.04521H68.2927L63.1519 18.7643H67.0751L67.8057 16.275C68.6715 16.5185 69.5915 16.6809 70.5655 16.6809C71.5125 16.6809 72.4325 16.5456 73.3253 16.275L74.0559 18.7643H77.9792L72.8113 4.04521ZM70.5655 13.6505C69.9161 13.6505 69.2668 13.5423 68.6715 13.3799L70.5655 6.94031L72.4595 13.3799C71.8372 13.5423 71.2149 13.6505 70.5655 13.6505Z" fill="#0052CC"></path><path d="M125.653 4.04521H121.135L115.994 18.7643H119.917L120.648 16.275C121.514 16.5185 122.433 16.6809 123.408 16.6809C124.355 16.6809 125.274 16.5456 126.167 16.275L126.898 18.7643H130.821L125.653 4.04521ZM123.38 13.6505C122.731 13.6505 122.082 13.5423 121.486 13.3799L123.38 6.94031L125.274 13.3799C124.679 13.5423 124.057 13.6505 123.38 13.6505Z" fill="#0052CC"></path><path d="M155.334 2.93684H161.151C166.292 2.93684 168.754 6.12959 168.754 10.8917C168.754 15.6808 166.238 18.7653 161.151 18.7653H155.334V2.93684ZM157.498 5.02023V16.7089H161.178C164.804 16.7089 166.59 14.8149 166.59 10.9728C166.59 7.13069 164.885 5.02023 161.043 5.02023H157.498Z" fill="#253858"></path><path d="M177.062 19.0079C172.57 19.0079 170.595 16.4104 170.595 12.7307C170.595 9.105 172.624 6.48046 176.277 6.48046C179.984 6.48046 181.472 9.05088 181.472 12.7307V13.6777H172.678C172.976 15.734 174.302 17.0598 177.143 17.0598C178.55 17.0598 179.713 16.7892 180.796 16.4104V18.3044C179.794 18.8185 178.279 19.0079 177.062 19.0079ZM172.651 11.8919H179.361C179.253 9.64615 178.225 8.37446 176.169 8.37446C173.977 8.37446 172.868 9.78143 172.651 11.8919Z" fill="#253858"></path><path d="M187.235 18.7644L182.554 6.72401H184.719L188.615 17.0057L192.484 6.72401H194.648L189.968 18.7644H187.235Z" fill="#253858"></path><path d="M201.737 19.0079C197.245 19.0079 195.27 16.4104 195.27 12.7307C195.27 9.105 197.299 6.48046 200.952 6.48046C204.659 6.48046 206.147 9.05088 206.147 12.7307V13.6777H197.354C197.651 15.734 198.977 17.0598 201.818 17.0598C203.225 17.0598 204.388 16.7892 205.471 16.4104V18.3044C204.497 18.8185 202.981 19.0079 201.737 19.0079ZM197.326 11.8919H204.037C203.928 9.64615 202.9 8.37446 200.844 8.37446C198.652 8.37446 197.543 9.78143 197.326 11.8919Z" fill="#253858"></path><path d="M211.829 18.8456C209.854 18.8456 208.61 17.8986 208.61 15.6799V1.69136H210.693V15.4364C210.693 16.5187 211.424 16.8975 212.316 16.8975C212.533 16.8975 212.668 16.8975 212.912 16.8704V18.7374C212.722 18.7915 212.371 18.8456 211.829 18.8456Z" fill="#253858"></path><path d="M214.049 12.7307C214.049 9.105 216.159 6.48046 219.785 6.48046C223.384 6.48046 225.467 9.105 225.467 12.7307C225.467 16.3563 223.384 19.0079 219.785 19.0079C216.159 19.0079 214.049 16.3293 214.049 12.7307ZM216.078 12.7307C216.078 15.0305 217.215 17.0869 219.785 17.0869C222.328 17.0869 223.438 15.0035 223.438 12.7307C223.438 10.4308 222.328 8.42856 219.785 8.42856C217.215 8.40151 216.078 10.4308 216.078 12.7307Z" fill="#253858"></path><path d="M229.931 16.6539V23.4724H227.848V6.72398H229.931V8.88855C230.689 7.29218 232.15 6.48046 233.99 6.48046C237.183 6.48046 238.806 9.21323 238.806 12.7307C238.806 16.1399 237.129 18.9809 233.746 18.9809C232.015 19.0079 230.662 18.2233 229.931 16.6539ZM233.449 8.40151C231.582 8.40151 229.931 9.59205 229.931 12.2436V13.2177C229.931 15.8964 231.447 17.0598 233.205 17.0598C235.532 17.0598 236.75 15.5175 236.75 12.7307C236.75 9.8626 235.613 8.40151 233.449 8.40151Z" fill="#253858"></path><path d="M247.004 19.0079C242.512 19.0079 240.537 16.4104 240.537 12.7307C240.537 9.105 242.566 6.48046 246.219 6.48046C249.926 6.48046 251.414 9.05088 251.414 12.7307V13.6777H242.62C242.918 15.734 244.244 17.0598 247.085 17.0598C248.492 17.0598 249.655 16.7892 250.737 16.4104V18.3044C249.736 18.8185 248.221 19.0079 247.004 19.0079ZM242.593 11.8919H249.303C249.195 9.64615 248.167 8.37446 246.111 8.37446C243.919 8.37446 242.81 9.78143 242.593 11.8919Z" fill="#253858"></path><path d="M255.878 18.7645H253.848V6.7241H255.878V8.83454C256.581 7.40051 257.772 6.39939 260.153 6.53468V8.56396C257.501 8.29339 255.878 9.10511 255.878 11.6485V18.7645Z" fill="#253858"></path><defs><linearGradient id="paint0_linear" x1="7.72023" y1="10.4927" x2="3.08501" y2="18.5211" gradientUnits="userSpaceOnUse"><stop stop-color="#0052CC"></stop><stop offset="0.9228" stop-color="#2684FF"></stop></linearGradient></defs></svg></div><style data-emotion-css="15lsza2">.css-15lsza2{max-height:28px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-15lsza2 > *{max-height:24px;}@media (min-width:1280px){.css-15lsza2{display:none;}}</style><div data-testid="navigation-icon" class="css-15lsza2"><style data-emotion="css 1hj8rln">.css-1hj8rln{display:inline-block;position:relative;color:var(--logo-color);fill:var(--logo-fill);line-height:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:normal;height:32px;}.css-1hj8rln >svg{height:100%;fill:inherit;}.css-1hj8rln stop{stop-color:currentColor;}</style><span style="--logo-color:#2684FF;--logo-fill:currentColor" aria-label="Atlassian" role="img" class="css-1hj8rln"><svg fill="none" height="32" viewBox="0 0 32 32" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"> <path fill="#2684FF" d="M27.545 24.378 16.96 3.208c-.208-.458-.417-.541-.667-.541-.208 0-.458.083-.708.5-1.5 2.375-2.167 5.125-2.167 8 0 4.001 2.042 7.752 5.042 13.795.334.666.584.791 1.167.791h7.335c.541 0 .833-.208.833-.625 0-.208-.042-.333-.25-.75M12.168 14.377c-.834-1.25-1.084-1.334-1.292-1.334s-.333.083-.708.834L4.875 24.46c-.167.334-.208.459-.208.625 0 .334.291.667.916.667h7.46c.5 0 .875-.416 1.083-1.208.25-1 .334-1.876.334-2.917 0-2.917-1.292-5.751-2.292-7.251"/> </svg></span></div></a><style data-emotion-css="sufdiy">.css-sufdiy{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-right:4px;margin-left:4px;padding-right:16px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}</style><div style="border-right:1px solid var(--ds-border, rgba(107, 119, 140, 0.3))" data-testid="navigation-site-title" class="css-sufdiy">Jira Service Management Cloud</div><style data-emotion-css="uiquy5">.css-uiquy5{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%;position:relative;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}.css-uiquy5 > *{margin:0 4px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}</style><div class="css-uiquy5"><style data-emotion-css="le7mka">.css-le7mka{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%;position:relative;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}</style><div style="--button-selected-color:var(--ds-text-selected, #0052CC);--button-selected-border-color:var(--ds-border-selected, #0052CC)" class="css-le7mka"><style data-emotion="css 1nctkyd">.css-1nctkyd,.css-1nctkyd:hover,.css-1nctkyd:active,.css-1nctkyd:focus,.css-1nctkyd:visited,.css-1nctkyd:disabled,.css-1nctkyd[disabled]{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;border-radius:3px;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-family:inherit;font-weight:500;max-width:100%;position:relative;text-align:center;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38);white-space:nowrap;background:var(--ds-background-selected, #253858);color:var(--ds-text-selected, #0052CC);cursor:pointer;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 4px;vertical-align:middle;width:auto;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;outline:none;background-color:var(--ds-background-selected, rgba(222, 235, 255, 0.7));border-color:var(--ds-border-selected, #0052CC);bordor-bottom:4px solid var(--ds-border-selected, #0052CC);margin-left:0;margin-right:0;}.css-1nctkyd::-moz-focus-inner,.css-1nctkyd:hover::-moz-focus-inner,.css-1nctkyd:active::-moz-focus-inner,.css-1nctkyd:focus::-moz-focus-inner,.css-1nctkyd:visited::-moz-focus-inner,.css-1nctkyd:disabled::-moz-focus-inner,.css-1nctkyd[disabled]::-moz-focus-inner{border:0;margin:0;padding:0;}.css-1nctkyd:hover,.css-1nctkyd:hover:hover,.css-1nctkyd:active:hover,.css-1nctkyd:focus:hover,.css-1nctkyd:visited:hover,.css-1nctkyd:disabled:hover,.css-1nctkyd[disabled]:hover{color:var(--ds-text-subtle, #0052CC);background-color:var(--ds-background-neutral-hovered, rgba(222, 235, 255, 0.9));}.css-1nctkyd:focus,.css-1nctkyd:hover:focus,.css-1nctkyd:active:focus,.css-1nctkyd:focus:focus,.css-1nctkyd:visited:focus,.css-1nctkyd:disabled:focus,.css-1nctkyd[disabled]:focus{color:var(--ds-text-subtle, #344563);box-shadow:0 0 0 2px var(--ds-border-focused, #2684FF);}</style><a class="css-1nctkyd" href="/cloud/jira/service-desk/" data-testid="Guides" tabindex="0"><style data-emotion="css 178ag6o">.css-178ag6o{opacity:1;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;margin:0 2px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}</style><span class="css-178ag6o">Guides</span></a></div><div style="--button-selected-color:var(--ds-text-selected, #0052CC);--button-selected-border-color:var(--ds-border-selected, #0052CC)" class="css-le7mka"><style data-emotion="css 4mgr5f">.css-4mgr5f,.css-4mgr5f:hover,.css-4mgr5f:active,.css-4mgr5f:focus,.css-4mgr5f:visited,.css-4mgr5f:disabled,.css-4mgr5f[disabled]{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;border-radius:3px;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-family:inherit;font-weight:500;max-width:100%;position:relative;text-align:center;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38);white-space:nowrap;background:var(--ds-background-brand-bold, #0052CC);color:var(--ds-text-subtle, #344563);cursor:pointer;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 4px;vertical-align:middle;width:auto;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;outline:none;background-color:transparent;margin-left:0;margin-right:0;}.css-4mgr5f::-moz-focus-inner,.css-4mgr5f:hover::-moz-focus-inner,.css-4mgr5f:active::-moz-focus-inner,.css-4mgr5f:focus::-moz-focus-inner,.css-4mgr5f:visited::-moz-focus-inner,.css-4mgr5f:disabled::-moz-focus-inner,.css-4mgr5f[disabled]::-moz-focus-inner{border:0;margin:0;padding:0;}.css-4mgr5f:hover,.css-4mgr5f:hover:hover,.css-4mgr5f:active:hover,.css-4mgr5f:focus:hover,.css-4mgr5f:visited:hover,.css-4mgr5f:disabled:hover,.css-4mgr5f[disabled]:hover{color:var(--ds-text-subtle, #0052CC);background-color:var(--ds-background-neutral-hovered, rgba(222, 235, 255, 0.9));}.css-4mgr5f:focus,.css-4mgr5f:hover:focus,.css-4mgr5f:active:focus,.css-4mgr5f:focus:focus,.css-4mgr5f:visited:focus,.css-4mgr5f:disabled:focus,.css-4mgr5f[disabled]:focus{color:var(--ds-text-subtle, #344563);box-shadow:0 0 0 2px var(--ds-border-focused, #2684FF);}</style><a class="css-4mgr5f" href="/cloud/jira/service-desk/rest/" data-testid="Reference" tabindex="0"><style data-emotion="css 178ag6o">.css-178ag6o{opacity:1;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;margin:0 2px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}</style><span class="css-178ag6o">Reference</span></a></div><div style="--button-selected-color:var(--ds-text-selected, #0052CC);--button-selected-border-color:var(--ds-border-selected, #0052CC)" class="css-le7mka"><style data-emotion="css 4mgr5f">.css-4mgr5f,.css-4mgr5f:hover,.css-4mgr5f:active,.css-4mgr5f:focus,.css-4mgr5f:visited,.css-4mgr5f:disabled,.css-4mgr5f[disabled]{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;border-radius:3px;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-family:inherit;font-weight:500;max-width:100%;position:relative;text-align:center;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38);white-space:nowrap;background:var(--ds-background-brand-bold, #0052CC);color:var(--ds-text-subtle, #344563);cursor:pointer;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 4px;vertical-align:middle;width:auto;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;outline:none;background-color:transparent;margin-left:0;margin-right:0;}.css-4mgr5f::-moz-focus-inner,.css-4mgr5f:hover::-moz-focus-inner,.css-4mgr5f:active::-moz-focus-inner,.css-4mgr5f:focus::-moz-focus-inner,.css-4mgr5f:visited::-moz-focus-inner,.css-4mgr5f:disabled::-moz-focus-inner,.css-4mgr5f[disabled]::-moz-focus-inner{border:0;margin:0;padding:0;}.css-4mgr5f:hover,.css-4mgr5f:hover:hover,.css-4mgr5f:active:hover,.css-4mgr5f:focus:hover,.css-4mgr5f:visited:hover,.css-4mgr5f:disabled:hover,.css-4mgr5f[disabled]:hover{color:var(--ds-text-subtle, #0052CC);background-color:var(--ds-background-neutral-hovered, rgba(222, 235, 255, 0.9));}.css-4mgr5f:focus,.css-4mgr5f:hover:focus,.css-4mgr5f:active:focus,.css-4mgr5f:focus:focus,.css-4mgr5f:visited:focus,.css-4mgr5f:disabled:focus,.css-4mgr5f[disabled]:focus{color:var(--ds-text-subtle, #344563);box-shadow:0 0 0 2px var(--ds-border-focused, #2684FF);}</style><a class="css-4mgr5f" href="/cloud/jira/service-desk/get-help/" data-testid="Resources" tabindex="0"><style data-emotion="css 178ag6o">.css-178ag6o{opacity:1;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;margin:0 2px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}</style><span class="css-178ag6o">Resources</span></a></div><div style="--button-selected-color:var(--ds-text-selected, #0052CC);--button-selected-border-color:var(--ds-border-selected, #0052CC)" class="css-le7mka"><style data-emotion="css 4mgr5f">.css-4mgr5f,.css-4mgr5f:hover,.css-4mgr5f:active,.css-4mgr5f:focus,.css-4mgr5f:visited,.css-4mgr5f:disabled,.css-4mgr5f[disabled]{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;border-radius:3px;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-family:inherit;font-weight:500;max-width:100%;position:relative;text-align:center;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38);white-space:nowrap;background:var(--ds-background-brand-bold, #0052CC);color:var(--ds-text-subtle, #344563);cursor:pointer;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 4px;vertical-align:middle;width:auto;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;outline:none;background-color:transparent;margin-left:0;margin-right:0;}.css-4mgr5f::-moz-focus-inner,.css-4mgr5f:hover::-moz-focus-inner,.css-4mgr5f:active::-moz-focus-inner,.css-4mgr5f:focus::-moz-focus-inner,.css-4mgr5f:visited::-moz-focus-inner,.css-4mgr5f:disabled::-moz-focus-inner,.css-4mgr5f[disabled]::-moz-focus-inner{border:0;margin:0;padding:0;}.css-4mgr5f:hover,.css-4mgr5f:hover:hover,.css-4mgr5f:active:hover,.css-4mgr5f:focus:hover,.css-4mgr5f:visited:hover,.css-4mgr5f:disabled:hover,.css-4mgr5f[disabled]:hover{color:var(--ds-text-subtle, #0052CC);background-color:var(--ds-background-neutral-hovered, rgba(222, 235, 255, 0.9));}.css-4mgr5f:focus,.css-4mgr5f:hover:focus,.css-4mgr5f:active:focus,.css-4mgr5f:focus:focus,.css-4mgr5f:visited:focus,.css-4mgr5f:disabled:focus,.css-4mgr5f[disabled]:focus{color:var(--ds-text-subtle, #344563);box-shadow:0 0 0 2px var(--ds-border-focused, #2684FF);}</style><a class="css-4mgr5f" href="/cloud/jira/service-desk/changelog/" data-testid="Changelog" tabindex="0"><style data-emotion="css 178ag6o">.css-178ag6o{opacity:1;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;margin:0 2px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}</style><span class="css-178ag6o">Changelog</span></a></div><style data-emotion-css="1ozpmrm">.css-1ozpmrm{width:100%;min-width:1px;margin:0px;position:relative;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;}</style><div class="css-1ozpmrm"><div style="display:block;width:100%;position:absolute"></div></div></div></nav><style data-emotion-css="d4blq8">.css-d4blq8{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}.css-d4blq8 > *{margin-right:4px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}</style><div class="css-d4blq8"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="16" height="16" viewBox="0 0 24 24" role="presentation"><path d="M16.436 15.085l3.94 4.01a1 1 0 01-1.425 1.402l-3.938-4.006a7.5 7.5 0 111.423-1.406zM10.5 16a5.5 5.5 0 100-11 5.5 5.5 0 000 11z" fill="currentColor" fill-rule="evenodd"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button><div class="sc-eNPDpu iARtDw"></div><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/support" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf">Support</span></span></a><style data-emotion-css="9b4v41">a.css-9b4v41{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:rgba(9,30,66,0.04);border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-9b4v41::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-9b4v41:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/account/login?returnTo=%2Fcloud%2Fjira%2Fservice-desk%2F" type="button" class="css-9b4v41"><span class="css-j8fq0c"><span class="css-t5emrf">Log in</span></span></a></div></header></div></div><div class="sc-gVZiCL BlNLE sc-hBcjXN iLnIWi"><div class="sc-jBoNkH eGFUop"><nav class="sc-fPbjcq bNgsgj"><ul class="sc-jgVwMx ixXsyz sc-dBfaGr hMVyQH"><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Integrating with Jira Service Management Cloud</span></span></span></a></div></li></ul><ul class="sc-dBfaGr hMVyQH"><li class="sc-hgzKov cTROs"><div class="sc-eAudoH kiTwuh"><div class="sc-hCbubC bCnCXc">Introduction and basics</div><div class="sc-kMBllD fdgUza"><style data-emotion="css snhnyn">.css-snhnyn{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;}.css-snhnyn >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-snhnyn >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-snhnyn >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}</style><span role="img" aria-label="hide" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-snhnyn"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></div><ul class="sc-enfXDO bHbcZi"><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/getting-started-with-forge/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Getting started with Forge</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/getting-started-with-connect/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Getting started with Connect</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/architecture-overview/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Architecture overview</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/storing-data-with-entity-properties/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Storing data with entity properties</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/frameworks-and-tools/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Frameworks and tools</span></span></span></a></div></li></ul></li><li class="sc-hgzKov cTROs"><div class="sc-eAudoH kiTwuh"><div class="sc-hCbubC bCnCXc">Security</div><div class="sc-kMBllD fdgUza"><style data-emotion="css snhnyn">.css-snhnyn{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;}.css-snhnyn >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-snhnyn >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-snhnyn >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}</style><span role="img" aria-label="hide" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-snhnyn"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></div><ul class="sc-enfXDO bHbcZi"><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/security-overview/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Security overview</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/security-for-forge-apps/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Security for Forge apps</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/scopes-for-oauth-2-3LO-and-forge-apps/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Scopes for OAuth 2.0 (3LO) and Forge apps</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/security-for-connect-apps/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Security for Connect apps</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/scopes-for-connect-apps/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Scopes for Connect apps</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/user-impersonation-for-connect-apps/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">User impersonation for Connect apps</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/understanding-jwt/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Understanding JWT for Connect apps</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/oauth-2-authorization-code-grants-3lo-for-apps/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">OAuth 2.0 (3LO) apps</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/basic-auth-for-rest-apis/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Basic auth for REST APIs</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/jira-rest-api-oauth-authentication/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">OAuth 1.0a for REST APIs (Legacy)</span></span></span></a></div></li></ul></li><li class="sc-hgzKov cTROs"><div class="sc-eAudoH kiTwuh"><div class="sc-hCbubC bCnCXc">Learning</div><div class="sc-kMBllD fdgUza"><style data-emotion="css snhnyn">.css-snhnyn{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;}.css-snhnyn >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-snhnyn >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-snhnyn >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}</style><span role="img" aria-label="hide" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-snhnyn"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></div><ul class="sc-enfXDO bHbcZi"><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/tutorials-example-apps-and-guides/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Tutorials and guides</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/connect-cookbook/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Connect cookbook</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/patterns-and-examples/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Patterns and examples</span></span></span></a></div></li></ul></li><li class="sc-hgzKov cTROs"><div class="sc-eAudoH kiTwuh"><div class="sc-hCbubC bCnCXc">Privacy guidelines</div><div class="sc-kMBllD fdgUza"><style data-emotion="css snhnyn">.css-snhnyn{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;}.css-snhnyn >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-snhnyn >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-snhnyn >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}</style><span role="img" aria-label="hide" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-snhnyn"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></div><ul class="sc-enfXDO bHbcZi"><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/user-privacy-developer-guide/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">User privacy guide for app developers</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/profile-visibility/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Profile visibility</span></span></span></a></div></li></ul></li><li class="sc-hgzKov cTROs"><div class="sc-eAudoH kiTwuh"><div class="sc-hCbubC bCnCXc">Building blocks</div><div class="sc-kMBllD fdgUza"><style data-emotion="css snhnyn">.css-snhnyn{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;}.css-snhnyn >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-snhnyn >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-snhnyn >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}</style><span role="img" aria-label="hide" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-snhnyn"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></div><ul class="sc-enfXDO bHbcZi"><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/app-descriptor/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">App descriptor</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/conditions/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Conditions</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/context-parameters/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Context parameters</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/dynamic-modules/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Dynamic modules</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/jira-entity-properties/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Entity properties</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/internationalization/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Internationalization</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/jira-expressions/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Jira expressions</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo launBt"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/cloud/jira/service-desk/webhooks/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Webhooks</span></span></span></a></div></li></ul></li><li class="sc-hgzKov cTROs"><div class="sc-eAudoH kiTwuh"><div class="sc-hCbubC bCnCXc">Other considerations</div><div class="sc-kMBllD fdgUza"><style data-emotion="css snhnyn">.css-snhnyn{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;}.css-snhnyn >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-snhnyn >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-snhnyn >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}</style><span role="img" aria-label="hide" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-snhnyn"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></div><ul class="sc-enfXDO bHbcZi"><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="https://design.atlassian.com/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Atlassian Design Guidelines</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="https://atlaskit.atlassian.com/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Atlaskit</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/platform/marketplace/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Atlassian Marketplace</span></span></span></a></div></li><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/platform/marketplace/cloud-app-licensing/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">Cloud app licensing</span></span></span></a></div></li></ul></li></ul></nav><div class="sc-fjNYmT cRavQB"><div class="sc-hzOKmB gWIkLp"><div class="sc-grYksN jGqvBW"><span class="sc-frudsx hsaQyA"><span class="sc-cBXKeB bWkibq">Last updated Feb 14, 2025</span></span></div></div><div class="sc-hdNmWC huMuzN"><div class="sc-imDdex hYifdp"><div class="sc-cBrjTV crKIBs"><h1 id="webhooks">Webhooks<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h1><div class="sc-lffWgi iLIKSx"><div class="sc-fGSyRc eysgIS" width="192"><div class="sc-jkPxnQ cLWHVF"></div></div></div><p>A webhook is a user-defined callback over HTTPS. You can use Jira webhooks to notify your app or web application when certain events occur in Jira. For example, you might want to alert your remote application when an issue has been updated or when sprint has been started. Using a webhook to do this means that your remote application doesn&#x27;t have to periodically poll Jira (via the REST APIs) to determine whether changes have occurred.</p> <h2 id="overview">Overview<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h2> <p>A webhook in Jira is defined by the following information, which you need to provide when registering (i.e. creating) a new webhook:</p> <ul> <li>a <strong>name</strong> for webhooks created in <a href="https://support.atlassian.com/jira-cloud-administration/docs/manage-webhooks/" target="_blank">Jira Administration<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a> or <a href="#registering-a-webhook-using-the-jira-rest-api--other-integrations-" class="uri" target="_self">registered by <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>/rest/webhooks/1.0/webhook</code></span></span></a></li> <li>the <strong>URL</strong> where the callback should be sent. Only secure HTTPS URLs and up to 5 redirects per URL are allowed. Additionally, you can indicate any port in the range from 1 to 65535 (except for 80) for webhooks created in <a href="https://support.atlassian.com/jira-cloud-administration/docs/manage-webhooks/" target="_blank">Jira Administration<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a> or <a href="#registering-a-webhook-using-the-jira-rest-api--other-integrations-" class="uri" target="_self">registered by <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>/rest/webhooks/1.0/webhook</code></span></span></a>. The receiving web server must have a valid SSL/TLS certificate, signed by a globally trusted certificate authority.</li> <li>(optional) the <strong>scope</strong> of the webhook, for example either &quot;all issues&quot; or a limited set of issues specified by JQL <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>(&quot;project = TEST and fixVersion = future&quot;)</code></span></span></li> <li>the <strong>events</strong> to post to the URL, either &quot;all events&quot; or a specific set of events</li> </ul> <p>Webhooks created in <a href="https://support.atlassian.com/jira-cloud-administration/docs/manage-webhooks/" target="_blank">Jira Administration<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a> or <a href="#registering-a-webhook-using-the-jira-rest-api--other-integrations-" class="uri" target="_self">registered by <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>/rest/webhooks/1.0/webhook</code></span></span></a> are called <strong>admin webhooks</strong> in this documentation.</p> <h3 id="registering-a-webhook">Registering a webhook<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <p>To register (i.e. create) a webhook, you can use any of the following methods:</p> <ul> <li><a href="https://support.atlassian.com/jira-cloud-administration/docs/manage-webhooks/" target="_blank">Create a webhook in Jira Administration<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a></li> <li>Declare a <a href="/cloud/jira/platform/modules/webhook/" target="_self">webhook module in the descriptor of your Atlassian Connect app</a> (this will register the webhook for your app automatically and ensures webhooks are signed with your app&#x27;s <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>sharedSecret</code></span></span>)</li> <li><a href="#registering-a-webhook-using-the-rest-api--for-connect-and-oauth-2-0-apps-" target="_self">Register a webhook using the REST API: Connect and Oauth 2.0 apps</a> <em>Note,</em> restrictions apply.</li> <li><a href="#registering-a-webhook-using-the-jira-rest-api--other-integrations-" target="_self">Register a webhook using the REST API: Other integrations</a> <em>Note,</em> Connect apps cannot register webhooks via this Jira REST API.</li> </ul> <h3 id="configuring-a-webhook">Configuring a webhook<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <p>The information in this section will help you configure a webhook, whether you are creating a new one or modifying an existing one.</p> <h2 id="available-webhook-events">Available webhook events<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h2> <p>The following events are available for Jira webhooks. The string in parentheses is the name of the <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>webhookEvent</code></span></span> in the response.</p> <h4 id="restricting-your-events-to-a-subset-of-issues-via-jql">Restricting your events to a subset of issues via JQL<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h4> <p>If you only want your webhook events to fire for a specific set of issues, you can specify a JQL query in your webhook to send only events triggered by matching issues. For example, you could register for all Issue Deleted events on issues in the Test (&quot;TEST&quot;) Project with the Performance component.</p> <p>JQL filtering is only supported by a subset of webhook events. Refer to the event sections below for details.</p> <p>Note, although the JQL that uses standard Jira fields is very performant, some custom fields, because of their implementation, can take multiple seconds to query. You should take this into account when using JQL for a webhook, as the query will be run with each event.</p> <div class="sc-hkaZBZ bsbZCT"><section class="sc-giOsra hEREHr"><div class="sc-jOVcOr ccUuQb"><style data-emotion="css snhnyn">.css-snhnyn{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;}.css-snhnyn &gt;svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-snhnyn &gt;svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-snhnyn &gt;svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}</style><span aria-hidden="true" style="--icon-primary-color:#FF8B00;--icon-secondary-color:#FFFAE6" class="css-snhnyn"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill-rule="evenodd"><path d="M12.938 4.967c-.518-.978-1.36-.974-1.876 0L3.938 18.425c-.518.978-.045 1.771 1.057 1.771h14.01c1.102 0 1.573-.797 1.057-1.771L12.938 4.967z" fill="currentColor"></path><path d="M12 15a1 1 0 01-1-1V9a1 1 0 012 0v5a1 1 0 01-1 1m0 3a1 1 0 010-2 1 1 0 010 2" fill="inherit"></path></g></svg></span></div><div class="sc-SFOxd KLVHW"><div class="sc-dzOgQY RfwMt"> <p>If you leave the JQL query empty, it&#x27;ll match all issues from all projects.</p> <p>This means the webhooks we&#x27;ll send may reveal sensitive information.</p> </div></div></section></div> <h3 id="platform-webhooks">Platform webhooks<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <ul> <li>app access blocked to one or more projects (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>app_access_to_objects_blocked</code></span></span>)</li> <li>app access blocked to one or more issues (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>app_access_to_objects_in_container_blocked</code></span></span>)</li> </ul> <h3 id="issue-webhooks">Issue webhooks<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <ul> <li>created (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>jira:issue_created</code></span></span>)</li> <li>updated (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>jira:issue_updated</code></span></span>)</li> <li>deleted (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>jira:issue_deleted</code></span></span>)</li> </ul> <p>JQL filtering supported.</p> <h3 id="issue-property-webhooks">Issue property webhooks<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <ul> <li>created or updated (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>issue_property_set</code></span></span>)</li> <li>deleted (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>issue_property_deleted</code></span></span>)</li> </ul> <p>JQL filtering supported.</p> <h3 id="worklog-webhooks">Worklog webhooks<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <ul> <li>created (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>worklog_created</code></span></span>)</li> <li>updated (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>worklog_updated</code></span></span>)</li> <li>deleted (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>worklog_deleted</code></span></span>)</li> </ul> <p>JQL filtering supported.</p> <h3 id="comment-webhooks">Comment webhooks<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <ul> <li>created (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>comment_created</code></span></span>)</li> <li>updated (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>comment_updated</code></span></span>)</li> <li>deleted (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>comment_deleted</code></span></span>)</li> </ul> <p>JQL filtering supported.</p> <h3 id="attachment-webhooks">Attachment webhooks<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <ul> <li>created (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>attachment_created</code></span></span>)</li> <li>deleted (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>attachment_deleted</code></span></span>)</li> </ul> <p>JQL filtering supported.</p> <h3 id="issue-link-webhooks">Issue link webhooks<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <ul> <li>created (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>issuelink_created</code></span></span>)</li> <li>deleted (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>issuelink_deleted</code></span></span>)</li> </ul> <h3 id="issue-type-webhooks">Issue type webhooks<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <ul> <li>created (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>issuetype_created</code></span></span>)</li> <li>updated (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>issuetype_updated</code></span></span>)</li> <li>deleted (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>issuetype_deleted</code></span></span>)</li> </ul> <h3 id="project-webhooks">Project webhooks<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <ul> <li>created (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>project_created</code></span></span>)</li> <li>updated (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>project_updated</code></span></span>)</li> <li>deleted (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>project_deleted</code></span></span>)</li> <li>moved to trash (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>project_soft_deleted</code></span></span>)</li> <li>restored from trash (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>project_restored_deleted</code></span></span>)</li> <li>archived (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>project_archived</code></span></span>)</li> <li>restored from archive (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>project_restored_archived</code></span></span>)</li> </ul> <h3 id="version-webhooks">Version webhooks<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <ul> <li>released (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>jira:version_released</code></span></span>)</li> <li>unreleased (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>jira:version_unreleased</code></span></span>)</li> <li>created (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>jira:version_created</code></span></span>)</li> <li>moved (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>jira:version_moved</code></span></span>)</li> <li>updated (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>jira:version_updated</code></span></span>)</li> <li>deleted (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>jira:version_deleted</code></span></span>)</li> <li>merged (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>jira:version_deleted</code></span></span>) note, this is the same webhook event name as the &#x27;deleted&#x27; event, but the response will include a <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>mergedTo</code></span></span> property*</li> </ul> <h3 id="filter-webhooks">Filter webhooks<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <ul> <li>created (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>filter_created</code></span></span>)</li> <li>updated (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>filter_updated</code></span></span>)</li> <li>deleted (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>filter_deleted</code></span></span>)</li> </ul> <h3 id="user-webhooks">User webhooks<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <ul> <li>created (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>user_created</code></span></span>)</li> <li>updated (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>user_updated</code></span></span>)</li> <li>deleted (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>user_deleted</code></span></span>)</li> </ul> <h3 id="jira-system-configuration-webhooks">Jira system configuration webhooks<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <ul> <li>voting (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>option_voting_changed</code></span></span>)</li> <li>watching (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>option_watching_changed*</code></span></span>)</li> <li>unassigned issues (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>option_unassigned_issues_changed</code></span></span>)</li> <li>subtasks (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>option_subtasks_changed</code></span></span>)</li> <li>issue links (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>option_issuelinks_changed</code></span></span>)</li> <li>time tracking (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>option_timetracking_changed</code></span></span>)</li> <li>time tracking provider (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>option_timetracking_provider_changed</code></span></span>)</li> </ul> <h3 id="sprint-webhooks">Sprint webhooks<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <ul> <li>created (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>sprint_created</code></span></span>)</li> <li>deleted (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>sprint_deleted</code></span></span>)</li> <li>updated (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>sprint_updated</code></span></span>)</li> <li>started (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>sprint_started</code></span></span>)</li> <li>closed (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>sprint_closed</code></span></span>)</li> </ul> <h3 id="board-webhooks">Board webhooks<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <ul> <li>created (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>board_created</code></span></span>)</li> <li>updated (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>board_updated</code></span></span>)</li> <li>deleted (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>board_deleted</code></span></span>)</li> <li>configuration changed (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>board_configuration_changed</code></span></span>)</li> </ul> <h3 id="jira-expressions-webhooks">Jira expressions webhooks<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <ul> <li>evaluation failed (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>jira_expression_evaluation_failed</code></span></span>)</li> </ul> <p>Read more about monitoring Jira expressions here: <a href="../jira-expressions#monitoring" target="_self">Monitoring Jira expressions</a>.</p> <h4 id="choosing-events-for-your-webhook">Choosing events for your webhook<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h4> <p>If you are unsure which events to register your webhook for, then the simplest approach is to register your webhook for all events for the relevant entity (e.g. all issue-related events). Then you won&#x27;t need to update the webhook if you need to handle these events in future; you can just add code in your app or web application once you want to react to them.</p> <h4 id="variable-substitution-in-the-webhook-url">Variable substitution in the webhook URL<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h4> <p>You can append variables to the webhook URL when creating or updating a webhook. The variables are listed below:</p> <ul> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{attachment.id}</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{board.id}</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{comment.id}</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{destinationIssue.key}</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{destinationIssue.id}</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{destinationProject.key}</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{destinationProject.id}</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{issue.id}</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{issue.key}</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{issuetype.id}</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{mergedVersion.id}</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{modifiedUser.accountId}</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{modifiedUser.key}</code></span></span> (deprecated)</li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{modifiedUser.name}</code></span></span> (deprecated)</li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{project.id}</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{project.key}</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{property.key}</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{sourceIssue.key}</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{sourceIssue.id}</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{sourceProject.key}</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{sourceProject.id}</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{sprint.id}</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{version.id}</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{worklog.id}</code></span></span></li> </ul> <p>You can use these variables to dynamically insert the value of the current issue key, sprint ID, project key, etc, into the webhook URL when it is triggered. Consider the following example:</p> <p>Say you specified the URL for your webhook with the <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{issue.key}</code></span></span> variable, like this:</p> <pre><div class="sc-jGxEUC jCVVco"><div class="sc-cZBZkQ fypsmc"><div class="sc-gbzWSY jgxetf"><div class="sc-jqIZGH vudGk"><pre>1 2</pre><pre><code class="text">https://service.example.com/webhook/{issue.key} </code></pre></div></div></div></div></pre> <p>If an issue with the key <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>EXA-1</code></span></span> triggers a webhook, then the URL that will be used is:</p> <pre><div class="sc-jGxEUC jCVVco"><div class="sc-cZBZkQ fypsmc"><div class="sc-gbzWSY jgxetf"><div class="sc-jqIZGH vudGk"><pre>1 2</pre><pre><code class="text">https://service.example.com/webhook/EXA-1 </code></pre></div></div></div></div></pre> <p>Note that variables are only available to a webhook in the context of its registered events. For example, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{issue.key}</code></span></span> and <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>{issue.id}</code></span></span> are available to webhooks registered for events related to issues.</p> <h2 id="retry-policy">Retry policy<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h2> <p>If a webhook is sent to its callback URL but fails, Jira Cloud will attempt to resend it up to <strong>five times</strong>. Each attempt following the failure is delayed with a randomized back-off algorithm and can happen between 5 and 15 minutes after the previous one.</p> <p>Retries are attempted when any of the following are true:</p> <ul> <li>the callback server returns any of the following status codes: 408, 409, 425, 429, 5xx.</li> <li>the connection fails or times out.</li> </ul> <p>This means that some webhooks might be delivered more than once (if the delivery acknowledgment fails).</p> <p>Every webhook contains the <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>X-Atlassian-Webhook-Identifier</code></span></span> header that provides an identifier for a webhook. This identifier is unique within a Jira Cloud tenant and is the same across retries. After you have processed a webhook, you can use the identifier to filter out retries.</p> <p>The <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>X-Atlassian-Webhook-Retry</code></span></span> header with the current retry count is included with webhooks that have been retried. Monitor this header and cross-reference it with the callback server logs to stay on top of any unexpected reliability problems.</p> <p>After we send a webhook and receive a failure, we log the time of failure. Every successful response from the recipient removes that log entry. However, if the recipient doesn’t respond successfully within 30 minutes, we only try to deliver a single attempt per webhook until we record a successful delivery.</p> <p>Webhooks that are not delivered after the maximum number of retries can be found with the <a href="/cloud/jira/platform/rest/v2/#api-rest-api-2-webhook-failed-get" target="_self">Get failed webhooks</a> operation.</p> <h2 id="reliability-and-performance">Reliability and performance<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h2> <p>Each webhook contains <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>X-Atlassian-Webhook-Flow</code></span></span> header with <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>Primary</code></span></span> or <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>Secondary</code></span></span> value.</p> <p>All <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>Primary</code></span></span> webhooks should be delivered within 30 seconds.</p> <p>All <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>Secondary</code></span></span> webhooks are a result of long-lasting bulk or cascade operation (bulk issue update, project deletion, issue deletion etc.). For those webhooks, the expected delivery time requirements are relaxed, and the delivery should take no more than 15 minutes.</p> <p><em>Note</em>, in those cases, the top level webhook is transferred via <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>Primary</code></span></span> flow, and all dependent webhooks are transferred using the <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>Secondary</code></span></span> flow. For example, when deleting an issue, the <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>issue_deleted</code></span></span> event is transferred as <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>Primary</code></span></span> but all dependent <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>commend_deleted</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>attachment_deleted</code></span></span> <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>issuelink_deleted</code></span></span> etc. are <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>Secondary</code></span></span>.</p> <h2 id="concurrency-limiting">Concurrency limiting<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h2> <p>To make it easier for apps to process a large number of webhooks sent as a result of a sudden influx of events in Jira, a concurrency limiter is applied. For <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>Primary</code></span></span> webhooks, a default maximum number of <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>20</code></span></span> concurrent requests per <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>tenant + webhook URL host</code></span></span> pair is allowed. For <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>Secondary</code></span></span> webhooks the default limit is <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>10</code></span></span>.</p> <p>These limits can be changed without notice, depending on the tenant and the webhook host.</p> <h2 id="consuming-webhooks">Consuming webhooks<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h2> <p>When integrating with Jira webhooks, it&#x27;s important to understand that the scale of webhook traffic varies depending on the size of the Jira Cloud instance where the app is installed. Larger instances generate higher traffic, especially during batch operations or cascade effects, such as project or issue deletion, which can lead to significant traffic spikes.</p> <p>Webhook recipients should ideally respond to webhook requests as quickly as possible and schedule their work on their end for further asynchronous processing (for example by enqueuing the message). This approach is crucial for maintaining high throughput, as it allows Jira to send subsequent webhooks without additional delay, working efficiently within the <a href="/cloud/jira/platform/webhooks/#concurrency-limiting" target="_self">concurrency limits set by Jira Cloud</a>.</p> <p>Failing to consume webhook traffic quickly enough could result in recipient errors, which may exhaust the number of retries Jira attempts. This leads to missed webhooks and may degrade the user experience of the app. Therefore, your system must take traffic spikes into account and ensure reliable processing when these occur.</p> <h2 id="webhook-tracing--connect-apps-">Webhook tracing (Connect apps)<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h2> <p>To trace the origin of a webhook, Connect apps can attach the additional <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>X-Atlassian-Webhook-Trace</code></span></span> HTTP header with any value consisting of a string of up to 1024 printable ASCII characters to a REST API request.</p> <p>The header and its value are then attached to every webhook sent from Jira for the REST API request.</p> <p>The app can use the webhook trace header to, for example:</p> <ul> <li>Differentiate between webhooks triggered by various REST API requests.</li> <li>Track a webhook’s delivery.</li> <li>Attach other data for use when a webhook arrives.</li> </ul> <h2 id="registering-a-webhook-using-the-rest-api--for-connect-and-oauth-2-0-apps-">Registering a webhook using the REST API (for Connect and OAuth 2.0 apps)<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h2> <p>In addition to <a href="/cloud/jira/platform/modules/webhook/" target="_self">declaring webhooks statically in the app descriptor</a>, Connect and OAuth 2.0 apps can register webhooks dynamically using the REST API. This is useful where you need to observe issues based on how users define and amend the issues&#x27; content. For example, you may want to initiate other processing when an issue is given a certain label.</p> <h3 id="restrictions">Restrictions<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <p>Limitations apply to the REST API in order to guarantee stability and performance of Jira Cloud for all apps and users.</p> <h4 id="supported-events">Supported events<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h4> <p>The following subset of webhook events is supported:</p> <ul> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>jira:issue_created</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>jira:issue_updated</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>jira:issue_deleted</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>comment_created</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>comment_updated</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>comment_deleted</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>issue_property_set</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>issue_property_deleted</code></span></span></li> </ul> <p>These are all events that allow JQL filtering. Webhooks for other events can be registered in the <a href="../modules/webhook" target="_self">app descriptor</a>.</p> <h4 id="supported-jql-queries">Supported JQL queries<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h4> <p>Only a subset of JQL clauses is supported. This enables us to optimize event matching on the Jira side.</p> <p>Supported clauses (left-hand side values):</p> <ul> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>issueKey</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>project</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>issuetype</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>status</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>priority</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>assignee</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>reporter</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>issue.property</code></span></span> (any <a href="../modules/entity-property" target="_self">indexed</a> issue property can be queried)</li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>cf[id]</code></span></span> (for custom fields – currently only the ID of the <strong>Epic</strong> custom field is supported here)</li> </ul> <p>Supported operators: <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>=</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>!=</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>IN</code></span></span>, and <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>NOT IN</code></span></span>.</p> <p>If you would like to use more clauses or operators, please contact <a href="https://developer.atlassian.com/support" target="_self">Developer and Marketplace support</a>.</p> <h4 id="registration-restrictions">Registration restrictions<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h4> <ul> <li>A maximum of <strong>100</strong> webhooks per app per tenant is allowed for a Connect app. For an OAuth 2.0 app, the limit is <strong>5</strong> webhooks per app per user on a tenant.</li> </ul> <h4 id="webhook-expiration">Webhook expiration<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h4> <p>In order to avoid sending webhooks no one listens to anymore, we assign each webhook an expiration date after which the webhook becomes inactive. The expiration period is <strong>30 days</strong> from the time the webhook was created or refreshed using the <a href="/cloud/jira/platform/rest/v3/api-group-webhooks/#api-rest-api-3-webhook-refresh-put" target="_self">Extend webhook life</a> REST resource.</p> <p>Webhooks are available for up to <strong>3 months</strong> after they expire. It is not necessary to keep a Webhook alive during this period, you can refresh it when it is needed again.</p> <h3 id="using-the-rest-api--registration">Using the REST API: Registration<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <p><a href="/cloud/jira/platform/rest/v3/api-group-webhooks/#api-rest-api-3-webhook-post" target="_self">POST /rest/api/3/webhook</a></p> <p>To register webhooks through the REST API, make a <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>POST</code></span></span> request to <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>https://your-domain.atlassian.net/rest/api/2/webhook</code></span></span>. The registered URL must use the same base URL as the app. An example request body is shown below:</p> <pre><div class="sc-jGxEUC jCVVco"><div class="sc-cZBZkQ fypsmc"><div class="sc-gbzWSY jgxetf"><div class="sc-jqIZGH vudGk"><pre>1 2</pre><pre><code class="json">{ &quot;url&quot;: &quot;https://your-app-base-url.com/webhook-received&quot;, &quot;webhooks&quot;: [ { &quot;jqlFilter&quot;: &quot;project = PRJ AND status = Done&quot;, &quot;events&quot;: [&quot;jira:issue_created&quot;, &quot;jira:issue_updated&quot;] }, { &quot;jqlFilter&quot;: &quot;status = Done&quot;, &quot;events&quot;: [&quot;jira:issue_updated&quot;] }, { &quot;jqlFilter&quot;: &quot;myClause = something&quot;, &quot;events&quot;: [&quot;jira:issue_deleted&quot;] } ] } </code></pre></div></div></div></div></pre> <p>This request will try to register three webhooks. The response will be a JSON array with a result for every webhook. In this case, we will likely succeed in registering the first two, while the third one will fail due to the unsupported JQL clause. The response will then look like this:</p> <pre><div class="sc-jGxEUC jCVVco"><div class="sc-cZBZkQ fypsmc"><div class="sc-gbzWSY jgxetf"><div class="sc-jqIZGH vudGk"><pre>1 2</pre><pre><code class="json">[ { &quot;createdWebhookId&quot;: 1000 }, { &quot;createdWebhookId&quot;: 1001 }, { &quot;errors&quot;: [&quot;The clause myClause is unsupported&quot;] } ] </code></pre></div></div></div></div></pre> <p>To receive a registered webhook, an app must be granted all the scopes for all the events in the webhook. This table shows the scopes required for each event.</p> <div class="sc-jdfcpN jMPRQO"><table node="[object Object]"><thead class="sc-eNNmBn igxxMf"><tr class="sc-eEieub jPqTBr"><th class="sc-kNBZmU lhcjXP">Webhook type</th><th class="sc-kNBZmU lhcjXP">Required scopes</th></tr></thead><tbody><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk"><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>jira:issue_created</code></span></span></td><td class="sc-eopZyb gzVyrk"><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:issue-details:jira</code></span></span></td></tr><tr class="sc-eEieub jPqTBr"></tr><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk"><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>jira:issue_updated</code></span></span></td><td class="sc-eopZyb gzVyrk"><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:issue-details:jira</code></span></span></td></tr><tr class="sc-eEieub jPqTBr"></tr><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk"><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>jira:issue_deleted</code></span></span></td><td class="sc-eopZyb gzVyrk"><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:issue-details:jira</code></span></span></td></tr><tr class="sc-eEieub jPqTBr"></tr><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk"><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>comment_created</code></span></span></td><td class="sc-eopZyb gzVyrk"><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:comment.property:jira</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:comment:jira</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:epic:jira-software</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:group:jira</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:issue.property:jira</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:issue-type:jira</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:project:jira</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:project-role:jira</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:status:jira</code></span></span>, and <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:user:jira</code></span></span></td></tr><tr class="sc-eEieub jPqTBr"></tr><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk"><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>comment_updated</code></span></span></td><td class="sc-eopZyb gzVyrk"><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:comment.property:jira</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:comment:jira</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:epic:jira-software</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:group:jira</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:issue.property:jira</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:issue-type:jira</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:project:jira</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:project-role:jira</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:status:jira</code></span></span>, and <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:user:jira</code></span></span></td></tr><tr class="sc-eEieub jPqTBr"></tr><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk"><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>comment_deleted</code></span></span></td><td class="sc-eopZyb gzVyrk"><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:comment.property:jira</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:comment:jira</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:epic:jira-software</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:group:jira</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:issue.property:jira</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:issue-type:jira</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:project:jira</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:project-role:jira</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:status:jira</code></span></span>, and <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:user:jira</code></span></span></td></tr><tr class="sc-eEieub jPqTBr"></tr><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk"><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>issue_property_set</code></span></span></td><td class="sc-eopZyb gzVyrk"><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:epic:jira-software</code></span></span>,<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:issue.property:jira</code></span></span>,<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:issue-type:jira</code></span></span>,<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:project:jira</code></span></span>,<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:status:jira</code></span></span>, and <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:user:jira</code></span></span></td></tr><tr class="sc-eEieub jPqTBr"></tr><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk"><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>issue_property_deleted</code></span></span></td><td class="sc-eopZyb gzVyrk"><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:epic:jira-software</code></span></span>,<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:issue.property:jira</code></span></span>,<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:issue-type:jira</code></span></span>,<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:project:jira</code></span></span>,<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:status:jira</code></span></span>, and <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>read:user:jira</code></span></span></td></tr><tr class="sc-eEieub jPqTBr"></tr></tbody></table></div> <h3 id="using-the-rest-api--fetching-registered-webhooks">Using the REST API: Fetching registered webhooks<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <p><a href="/cloud/jira/platform/rest/v3/api-group-webhooks/#api-rest-api-3-webhook-get" target="_self">GET /rest/api/3/webhook</a></p> <p>To fetch webhooks registered through the REST API, make a <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>GET</code></span></span> request to <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>https://your-domain.atlassian.net/rest/api/2/webhook</code></span></span>. This API uses pagination. The query parameters <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>startAt</code></span></span> and <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>maxResults</code></span></span> can be provided to specify the desired page, or the default values of <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>0</code></span></span> and <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>100</code></span></span> will be used.</p> <h3 id="using-the-rest-api--deleting-registered-webhooks">Using the REST API: Deleting registered webhooks<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <p><a href="/cloud/jira/platform/rest/v3/api-group-webhooks/#api-rest-api-3-webhook-delete" target="_self">DELETE /rest/api/3/webhook</a></p> <p>To delete webhooks registered through the REST API, a <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>DELETE</code></span></span> request can be made to <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>https://your-domain.atlassian.net/rest/api/2/webhook</code></span></span>.</p> <p>In your request, include the IDs of the webhooks to be deleted:</p> <pre><div class="sc-jGxEUC jCVVco"><div class="sc-cZBZkQ fypsmc"><div class="sc-gbzWSY jgxetf"><div class="sc-jqIZGH vudGk"><pre>1 2</pre><pre><code class="json">{ &quot;webhookIds&quot;: [1000, 1001] } </code></pre></div></div></div></div></pre> <p>IDs corresponding to non-existent webhooks are ignored.</p> <h3 id="using-the-rest-api--refreshing-registered-webhooks">Using the REST API: refreshing registered webhooks<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <p><a href="/cloud/jira/platform/rest/v3/api-group-webhooks/#api-rest-api-3-webhook-refresh-put" target="_self">PUT /rest/api/3/webhook</a></p> <p>Webhooks registered with the REST API expire after 30 days. Because of that, it&#x27;s necessary to periodically call the <a href="/cloud/jira/platform/rest/v3/api-group-webhooks/#api-rest-api-3-webhook-refresh-put" target="_self">Extend webhook life</a> API to keep them alive. Each call to the API extends the expiration date by another 30 days.</p> <h3 id="format-of-the-webhook-data-sent-by-jira">Format of the webhook data sent by Jira<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <p>The format is the same as for webhooks declared in the Connect app descriptor, but with an additional property specifying which webhooks were matched for the event. For example, if an event happens in Jira that matches both JQL filters of the webhooks <a href="#using-the-rest-api--registration" target="_self">registered</a>, which were successfully registered and assigned the IDs of <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>1000</code></span></span> and <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>1001</code></span></span>, the webhook data JSON will contain the additional <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>matchedWebhookIds</code></span></span> root level property:</p> <pre><div class="sc-jGxEUC jCVVco"><div class="sc-cZBZkQ fypsmc"><div class="sc-gbzWSY jgxetf"><div class="sc-jqIZGH vudGk"><pre>1 2</pre><pre><code class="json">{ ... usual webhook data ..., &quot;matchedWebhookIds&quot;: [1000, 1001] } </code></pre></div></div></div></div></pre> <h3 id="example-connect-app-using-this-rest-api">Example Connect app using this REST API<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <p>An example Connect app that uses the REST API to register webhooks, fetch registered webhooks, delete them, and handle them, can be found <a href="https://bitbucket.org/atlassianlabs/webhook-management-example-app" target="_blank">here<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a>.</p> <h3 id="webhooks-authentication-for-oauth-2-0-apps">Webhooks authentication for OAuth 2.0 apps<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <p>Webhooks for OAuth 2.0 apps are secured by bearer authentication. The token is present in the <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>Authorization</code></span></span> header and is signed with the app&#x27;s client secret. Remember to verify the token to keep your integration secure. The use of a library to verify the token is recommended. A list of suitable libraries can be found on the <a href="https://jwt.io/" target="_blank">JWT website<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a>.</p> <h2 id="registering-a-webhook-using-the-jira-rest-api--other-integrations-">Registering a webhook using the Jira REST API (other integrations)<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h2> <h3 id="webhook-json-format">Webhook JSON format<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <ul> <li> <p>Example of a valid request body</p> <pre><div class="sc-jGxEUC jCVVco"><div class="sc-cZBZkQ fypsmc"><div class="sc-gbzWSY jgxetf"><div class="sc-jqIZGH vudGk"><pre>1 2</pre><pre><code class="json"> { &quot;name&quot;: &quot;my first webhook via rest&quot;, &quot;description&quot;: &quot;description of my first webhook&quot;, &quot;url&quot;: &quot;https://www.example.com/webhooks&quot;, &quot;events&quot;: [ &quot;jira:issue_created&quot;, &quot;jira:issue_updated&quot; ], &quot;filters&quot;: { &quot;issue-related-events-section&quot;: &quot;Project = JRA AND resolution = Fixed&quot; }, &quot;excludeBody&quot; : false, &quot;secret&quot; : &quot;G8j4166a5OkXRD4WbqV3&quot; } </code></pre></div></div></div></div></pre> <p>Where <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>secret</code></span></span> is an optional string used to <a href="#secure-admin-webhooks" target="_self">generate a signature</a> and verify incoming webhook payloads. You can’t retrieve your secret after you generate it - if you lose it, you have to get a new one.</p> </li> <li> <p>Example of a valid response body</p> <pre><div class="sc-jGxEUC jCVVco"><div class="sc-cZBZkQ fypsmc"><div class="sc-gbzWSY jgxetf"><div class="sc-jqIZGH vudGk"><pre>1 2</pre><pre><code class="json"> { &quot;name&quot;: &quot;my first webhook via rest&quot;, &quot;description&quot;: &quot;description of my first webhook&quot;, &quot;url&quot;: &quot;https://www.example.com/webhooks&quot;, &quot;excludeBody&quot;: false, &quot;events&quot;: [ &quot;jira:issue_created&quot;, &quot;jira:issue_updated&quot; ], &quot;filters&quot;: { &quot;issue-related-events-section&quot;: &quot;Project = JRA AND resolution = Fixed&quot; }, &quot;enabled&quot;: true, &quot;self&quot;: &quot;https://your-domain.atlassian.net/rest/webhooks/1.0/webhook/72&quot;, &quot;lastUpdated&quot;: 1706692865788, &quot;isSigned&quot;: true } </code></pre></div></div></div></div></pre> <p>Where <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>isSigned</code></span></span> is true if a <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>secret</code></span></span> is defined.</p> </li> </ul> <p><strong>To register a webhook using REST:</strong></p> <ol> <li> <p>POST a <a href="#webhook-json-format" target="_self">webhook in JSON format</a> to: <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>https://your-domain.atlassian.net/rest/webhooks/1.0/webhook</code></span></span></p> </li> <li> <p>The response will return the webhook in JSON with additional information, including the user that created the webhook, the created timestamp, etc.</p> </li> </ol> <p><strong>To update a webhook using REST:</strong></p> <ol> <li>PUT a <a href="#webhook-json-format" target="_self">webhook in JSON format</a> to: <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>https://your-domain.atlassian.net/rest/webhooks/1.0/webhook/{webhookId}</code></span></span></li> </ol> <p>Pass null or an empty string to remove the <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>secret</code></span></span>. Omitting the <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>secret</code></span></span> field in a request body for PUT will cause it to stay intact.</p> <p><strong>To unregister (that is, delete) a webhook using REST:</strong></p> <ul> <li> <p>Execute a DELETE to the following URL: <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>https://your-domain.atlassian.net/rest/webhooks/1.0/webhook/{webhookId}</code></span></span></p> <p>The following would delete the webhook with an ID of 70:</p> <pre><div class="sc-jGxEUC jCVVco"><div class="sc-cZBZkQ fypsmc"><div class="sc-gbzWSY jgxetf"><div class="sc-jqIZGH vudGk"><pre>1 2</pre><pre><code class="bash">curl --user username:password \ -X DELETE \ -H &quot;Content-Type: application/json&quot; \ https://your-domain.atlassian.net/rest/webhooks/1.0/webhook/70 </code></pre></div></div></div></div></pre> </li> </ul> <p><strong>To query a webhook using REST:</strong></p> <ul> <li> <p>To get all webhooks for a Jira instance, perform a GET with the following URL: <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>https://your-domain.atlassian.net/rest/webhooks/1.0/webhook. </code></span></span></p> <pre><div class="sc-jGxEUC jCVVco"><div class="sc-cZBZkQ fypsmc"><div class="sc-gbzWSY jgxetf"><div class="sc-jqIZGH vudGk"><pre>1 2</pre><pre><code class="bash">curl --user username:password \ -X GET \ -H &quot;Content-Type: application/json&quot; \ https://your-domain.atlassian.net/rest/webhooks/1.0/webhook </code></pre></div></div></div></div></pre> </li> <li> <p>To get a specific webhook by its ID, perform a GET with the following URL: <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>https://your-domain.atlassian.net/rest/webhooks/1.0/webhook/{webhookId}</code></span></span></p> <p>The following would get a webhook with an ID of 72:</p> <pre><div class="sc-jGxEUC jCVVco"><div class="sc-cZBZkQ fypsmc"><div class="sc-gbzWSY jgxetf"><div class="sc-jqIZGH vudGk"><pre>1 2</pre><pre><code class="bash">curl --user username:password \ -X GET \ -H &quot;Content-Type: application/json&quot; \ https://your-domain.atlassian.net/rest/webhooks/1.0/webhook/72 </code></pre></div></div></div></div></pre> </li> </ul> <h2 id="secure-admin-webhooks">Secure admin webhooks<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h2> <p>You can secure webhooks registered through the <a href="#registering-a-webhook-using-the-jira-rest-api-other-integrations" target="_self">REST API</a> or <a href="https://support.atlassian.com/jira-cloud-administration/docs/manage-webhooks/" target="_blank">webhooks page<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a> by passing the <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>secret</code></span></span> field.</p> <p>In some instances, imported admin webhooks with a secret won’t be delivered until you rotate the secret. For more details, see our documentation:</p> <ul> <li>Webhooks imported from a different site: <a href="https://support.atlassian.com/jira-cloud-administration/docs/export-issues/" target="_blank">Export data from Jira Cloud<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a></li> <li>Webhooks imported from a different instance: <a href="https://support.atlassian.com/organization-administration/docs/copy-product-data/" target="_blank">Copy data from one instance of a cloud product to another<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a></li> </ul> <p><strong>About webhook deliveries</strong></p> <p>Once your server is configured to receive payloads, it will listen for any delivery that&#x27;s sent to the endpoint you configured. For security reasons, you should only process deliveries from Jira Cloud. To ensure your server only processes deliveries from Jira Cloud, you need to:</p> <ol> <li>Create a secret token for your webhook.</li> <li>Store the token securely on your server.</li> <li>Validate incoming webhook payloads against the token to verify they&#x27;re coming from Jira Cloud.</li> </ol> <p><strong>Creating a secret token</strong></p> <p>You can create a new webhook with a secret token, or you can add a secret token to an existing webhook. When creating a secret token, you should choose a random string of text with high entropy. You can also use the “Generate secret” button to let us generate the secret for you. Make sure to record the secret somewhere secure - it can&#x27;t be viewed or retrieved once the webhook is saved.</p> <p><strong>Updating a secret token</strong></p> <p>You can update the secret token of an existing webhook by editing the webhook. However, be aware that you’ll need to update any integrations using this secret.</p> <p><strong>Validating webhook deliveries</strong></p> <p>Jira Cloud will use your secret token to create a <a href="https://en.wikipedia.org/wiki/HMAC" target="_blank">HMAC<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a> signature and include it in a <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>X-Hub-Signature</code></span></span> header, formatted as <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>method=signature</code></span></span>, as defined by <a href="https://www.w3.org/TR/websub/#signing-content" target="_blank">WebSub<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a>.</p> <p>In your code that handles webhook deliveries, you should calculate the HMAC of the body using your secret token and the hash algorithm specified as the <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>method</code></span></span>. Then, compare the HMAC that Jira Cloud sent with the expected HMAC that you calculated, and ensure that they match. For examples showing how to validate the hashes in various programming languages, see the <a href="#examples" target="_self">Examples</a> section.</p> <p>There are a few important things to keep in mind when validating webhook payloads:</p> <ul> <li>The HMAC is generated using your webhook&#x27;s secret token, the payload contents, and the hash algorithm listed in <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>method</code></span></span>.</li> <li>If your language and server implementation specifies a character encoding, ensure that you handle the payload as UTF-8. Webhook payloads can contain Unicode characters.</li> </ul> <p><strong>Testing the webhook payload validation</strong></p> <p>You can use the following secret, payload, and method values to verify that your implementation is correct:</p> <ul> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>secret</code></span></span>: <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>It&#x27;s a Secret to Everybody</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>payload</code></span></span>: <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>Hello World!</code></span></span></li> <li><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>method</code></span></span>: <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>sha256</code></span></span></li> </ul> <p>If your implementation is correct, the signatures that you generate should match the following signature values:</p> <p>signature: <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>a4771c39fbe90f317c7824e83ddef3caae9cb3d976c214ace1f2937e133263c9</code></span></span></p> <p><span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>X-Hub-Signature</code></span></span>: <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>sha256=a4771c39fbe90f317c7824e83ddef3caae9cb3d976c214ace1f2937e133263c9</code></span></span></p> <h3 id="examples">Examples<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <p>You can use your programming language of choice to implement HMAC verification in your code. Following are some examples showing how an implementation might look in various programming languages. Note that these examples assume that Jira is using the <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>sha256</code></span></span> hash algorithm. Jira might start using another method for the HMAC in the future. The example code here will start failing if this happens.</p> <p><em><strong>Java example</strong></em></p> <pre><div class="sc-jGxEUC jCVVco"><div class="sc-cZBZkQ fypsmc"><div class="sc-gbzWSY jgxetf"><div class="sc-jqIZGH vudGk"><pre>1 2</pre><pre><code class="java">import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; import java.nio.charset.StandardCharsets; import java.security.InvalidKeyException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.HexFormat; public class Main { public static void main(String[] args) throws NoSuchAlgorithmException, InvalidKeyException { final String secret = &quot;It&#x27;s a Secret to Everybody&quot;; final String payload = &quot;Hello World!&quot;; final String givenSignature = &quot;sha256=a4771c39fbe90f317c7824e83ddef3caae9cb3d976c214ace1f2937e133263c9&quot;; final SecretKeySpec keySpec = new SecretKeySpec(secret.getBytes(StandardCharsets.UTF_8), &quot;HmacSHA256&quot;); final Mac mac = Mac.getInstance(&quot;HmacSHA256&quot;); mac.init(keySpec); final byte[] digest = mac.doFinal(payload.getBytes(StandardCharsets.UTF_8)); final HexFormat hex = HexFormat.of(); final String calculatedSignature = &quot;sha256=&quot; + hex.formatHex(digest); if (!MessageDigest.isEqual(calculatedSignature.getBytes(), givenSignature.getBytes())) { System.out.println(&quot;Signatures do not match\nExpected signature:&quot; + calculatedSignature + &quot;\nActual: signature: &quot; + givenSignature); } else { System.out.println(&quot;Signatures match&quot;); } } } </code></pre></div></div></div></div></pre> <p><em><strong>Python example</strong></em></p> <pre><div class="sc-jGxEUC jCVVco"><div class="sc-cZBZkQ fypsmc"><div class="sc-gbzWSY jgxetf"><div class="sc-jqIZGH vudGk"><pre>1 2</pre><pre><code class="python">import hashlib import hmac secret = &quot;It&#x27;s a Secret to Everybody&quot; payload = &quot;Hello World!&quot; given_signature = &quot;sha256=a4771c39fbe90f317c7824e83ddef3caae9cb3d976c214ace1f2937e133263c9&quot; hash_object = hmac.new( secret.encode(&quot;utf-8&quot;), msg=payload.encode(&quot;utf-8&quot;), digestmod=hashlib.sha256, ) calculated_signature = &quot;sha256=&quot; + hash_object.hexdigest() if not hmac.compare_digest(calculated_signature, given_signature): print( &quot;Signatures do not match\nExpected signature:&quot; f&quot; {calculated_signature}\nActual: signature: {given_signature}&quot; ) else: print(&quot;Signatures match&quot;) </code></pre></div></div></div></div></pre> <h2 id="adding-webhooks-to-workflow-post-functions">Adding webhooks to workflow post functions<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h2> <p>Webhooks can be attached as a <a href="https://support.atlassian.com/jira-cloud-administration/docs/configure-advanced-issue-workflows/#Post-functions" target="_blank">workflow post function<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a>. This makes it easy to trigger a webhook when an issue makes a workflow transition, for instance when it gets rejected from QA or when it gets resolved.</p> <p><strong>To add a webhook as a post function to a workflow:</strong></p> <ol> <li>Configure your workflow and select the desired transition in the workflow designer. For more details, see <a href="https://support.atlassian.com/jira-cloud-administration/docs/work-with-issue-workflows/" target="_blank">Work with issue workflows<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a>.</li> <li>Click <strong>Post functions</strong>, then click <strong>Add post function</strong>.</li> <li>Select <strong>Trigger a Webhook</strong> from the list of post functions and click <strong>Add</strong>.</li> <li>Select the desired webhook from the list of webhooks and click <strong>Add</strong> to add the webhook as a post function.</li> </ol> <p>Notes:</p> <ul> <li>If the webhook you choose is <strong>also</strong> configured to listen to events, then the webhook will be triggered twice: once for the event and once for the workflow transition. For this reason, you should always unselect all events from the webhook admin screen.</li> <li>If a webhook is associated with a post-function, you will not be able to delete the webhook. You must disassociate it from the post-function first.</li> </ul> <h2 id="executing-a-webhook">Executing a webhook<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h2> <p>Webhooks will be run without a specific user context, for example, all issues will be available to the webhook, rather than having them scoped to a single user.</p> <p>By default, a webhook will send a request with a JSON callback when it is triggered. If you don&#x27;t want the JSON body sent, then you will need to select <strong>Exclude body</strong> when configuring the webhook.</p> <p>Every callback contains the <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>webhookEvent</code></span></span> ID, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>timestamp</code></span></span>, and information about the entity associated with the event (for example issue, project, or board). The callback can have additional information, depending on the type of event associated with it. For example, issue-related events contain the <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>issue_event_type_name</code></span></span> field. This field indicates the Jira event that triggered the callback. This is the structure of a callback for an issue-related event:</p> <pre><div class="sc-jGxEUC jCVVco"><div class="sc-cZBZkQ fypsmc"><div class="sc-gbzWSY jgxetf"><div class="sc-jqIZGH vudGk"><pre>1 2</pre><pre><code class="json">{ &quot;timestamp&quot;, &quot;webhookEvent&quot;, &quot;issue_event_type_name&quot;, &quot;user&quot;: { --&gt; See User shape in table below }, &quot;issue&quot;: { --&gt; See Issue shape in table below }, &quot;changelog&quot; : { --&gt; See Changelog shape in table below } } </code></pre></div></div></div></div></pre> <br/> <div class="sc-jdfcpN jMPRQO"><table node="[object Object]"><colgroup> <col width="20%"/> <col width="80%"/> </colgroup><tbody><tr class="odd sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk"><strong>Issue shape</strong></td><td class="sc-eopZyb gzVyrk"><ul> <li>The same shape returned from the Jira REST API when an issue is retrieved with NO expand parameters.</li> <li>See <a href="https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-issue-issueIdOrKey-get" class="uri" target="_self">Get issue</a> in the REST API documentation, for more details.</li> <li>Example: <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>https://your-domain.atlassian.net/rest/api/2/issue/JRA-2000</code></span></span></li> </ul></td></tr><tr class="even sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk"><strong>User shape</strong></td><td class="sc-eopZyb gzVyrk"><ul> <li>The same shape returned from the Jira REST API when a user is retrieved, but without the <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>locale</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>emailAddress</code></span></span>, <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>groups</code></span></span>, and <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>applicationRoles</code></span></span> fields. <ul> <li>The shape of the user returned is a condensed shape from the normal user API in REST, but similar to what is returned when the user is embedded in another response.</li> <li>For the full user details, use the Jira REST API and query with the username.</li> </ul></li> <li>See <a href="https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-user-get" class="uri" target="_self">Get user</a> in the REST API documentation, for more details.</li> <li>Example: <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>https://your-domain.atlassian.net/rest/api/3/user?accountId=99:27935d01-92a7-4687-8272-a9b8d3b2ae2e</code></span></span> </li> <li>The user is always present in a webhook POST for issue events.</li> <li>The user includes an <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>accountType</code></span></span> field that is used to distinguish different types of users, such as normal users (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>atlassian</code></span></span>), app users (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>app</code></span></span>), and Jira Service Management customers (<span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>customer</code></span></span>).</li> </ul></td></tr><tr class="odd sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk"><strong>Changelog shape</strong></td><td class="sc-eopZyb gzVyrk"><ul> <li>An array of changed items, with one entry for each field that has been changed.</li> <li>The changelog is only provided for the <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>jira:issue_updated</code></span></span> event.</li> <li><p>This is similar in format to the changelog you would retrieve from a Jira issue, but without the user (since that is already in the JSON) and without the created timestamp (since that is also already in the JSON for a webhook event) </p></li> </ul> </td></tr><tr class="even sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk"><strong>Comment shape</strong></td><td class="sc-eopZyb gzVyrk"><ul> <li>The same shape returned from the Jira REST API when a comment is retrieved.</li> <li>See <a href="https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-comments/#api-rest-api-3-issue-issueidorkey-comment-id-get" class="uri" target="_self">Get comment</a> in the REST API documentation, for more details.</li> <li>Example: <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>https://your-domain.atlassian.net/rest/api/3/issue/JRA-9/comment/252789</code></span></span></li> <li>The comment is provided for comment related webhooks.</li> </ul></td></tr></tbody></table></div> <h4 id="webhook-payload">Webhook payload<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h4> <p>The returned fields depend on the webhook type.</p> <p>The following is an example of the JSON sent in an issue update callback:</p> <pre><div class="sc-jGxEUC jCVVco"><div class="sc-cZBZkQ fypsmc"><div class="sc-gbzWSY jgxetf"><div class="sc-jqIZGH vudGk"><pre>1 2</pre><pre><code class="json">{ &quot;issue&quot;: { &quot;id&quot;:&quot;99291&quot;, &quot;self&quot;:&quot;https://your-domain.atlassian.net/rest/api/2/issue/99291&quot;, &quot;key&quot;:&quot;JRA-20002&quot;, &quot;fields&quot;:{ &quot;summary&quot;:&quot;I feel the need for speed&quot;, &quot;created&quot;:&quot;2009-12-16T23:46:10.612-0600&quot;, &quot;description&quot;:&quot;Make the issue nav load 10x faster&quot;, &quot;labels&quot;:[&quot;UI&quot;, &quot;dialogue&quot;, &quot;move&quot;], &quot;priority&quot;: { &quot;self&quot;: &quot;https://your-domain.atlassian.net/rest/api/2/priority/3&quot;, &quot;iconUrl&quot;: &quot;https://your-domain.atlassian.net/images/icons/priorities/minor.svg&quot;, &quot;name&quot;: &quot;Minor&quot;, &quot;id&quot;: &quot;3&quot; }, } }, &quot;user&quot;: { &quot;self&quot;:&quot;https://your-domain.atlassian.net/rest/api/2/user?accountId=99:27935d01-92a7-4687-8272-a9b8d3b2ae2e&quot;, &quot;accoundId&quot;: &quot;99:27935d01-92a7-4687-8272-a9b8d3b2ae2e&quot;, &quot;accountType&quot;: &quot;atlassian&quot;, &quot;avatarUrls&quot;:{ &quot;16x16&quot;:&quot;https://your-domain.atlassian.net/secure/useravatar?size=small&amp;avatarId=10605&quot;, &quot;48x48&quot;:&quot;https://your-domain.atlassian.net/secure/useravatar?avatarId=10605&quot; }, &quot;displayName&quot;:&quot;Bryan Rollins [Atlassian]&quot;, &quot;active&quot; : &quot;true&quot;, &quot;timeZone&quot;: &quot;Europe/Warsaw&quot;, }, &quot;changelog&quot;: { &quot;items&quot;: [ { &quot;toString&quot;: &quot;A new summary.&quot;, &quot;to&quot;: null, &quot;fromString&quot;: &quot;What is going on here?????&quot;, &quot;from&quot;: null, &quot;fieldtype&quot;: &quot;jira&quot;, &quot;field&quot;: &quot;summary&quot; }, { &quot;toString&quot;: &quot;New Feature&quot;, &quot;to&quot;: &quot;2&quot;, &quot;fromString&quot;: &quot;Improvement&quot;, &quot;from&quot;: &quot;4&quot;, &quot;fieldtype&quot;: &quot;jira&quot;, &quot;field&quot;: &quot;issuetype&quot; } ], &quot;id&quot;: 10124 }, &quot;timestamp&quot;: 1606480436302, &quot;webhookEvent&quot;: &quot;jira:issue_updated&quot;, &quot;issue_event_type_name&quot;: &quot;issue_generic&quot; } </code></pre></div></div></div></div></pre> <p>If a bulk operation triggers the webhook, the field <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>bulkOperationMetaData</code></span></span> is added to the webhook payload. For example:</p> <pre><div class="sc-jGxEUC jCVVco"><div class="sc-cZBZkQ fypsmc"><div class="sc-gbzWSY jgxetf"><div class="sc-jqIZGH vudGk"><pre>1 2</pre><pre><code class="json">{ ... usual webhook data ..., &quot;bulkOperationMetaData&quot;: { &quot;sendMail&quot;: false } } </code></pre></div></div></div></div></pre> <h4 id="response-codes">Response codes<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h4> <p>If a webhook is triggered successfully, a response code of 200 is returned. All other response codes should be treated as an unsuccessful attempt to trigger the webhook.</p> <h2 id="known-issues">Known issues<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h2> <ul> <li>Post function web hooks will not fire if added to the <strong>Create Issue</strong> workflow transition. We recommend that you configure your web hook to fire from the <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>issue_created</code></span></span> event instead.</li> <li>Webhooks larger than 25MBs are not delivered. This limit may change without notice.</li> <li>Project deletion cascade does not send <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>issue_deleted</code></span></span> webhooks.</li> <li>Attachments added on create issue dialog don’t trigger <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>attachment_created</code></span></span> webhooks, but they are listed in attachment field in <span class="sc-jdeSqf cQNBrn"><span style="font-family:function () { return &quot;&#x27;SFMono-Medium&#x27;, &#x27;SF Mono&#x27;, &#x27;Segoe UI Mono&#x27;, &#x27;Roboto Mono&#x27;, &#x27;Ubuntu Mono&#x27;, Menlo, Consolas, Courier, monospace&quot;; };font-size:inherit;background:#F4F5F7;color:#172B4D;border-radius:3px;display:inline;overflow-x:auto;white-space:pre-wrap;padding:2px 4px;line-height:inherit"><code>jira:issue_created</code></span></span> webhook’s body.</li> </ul></div><div class="sc-dCVVYJ rJVhP"><div class="sc-hARARD hrxrbx"><p class="sc-ccLTTT gfLKuW">Rate this page:</p><style data-emotion-css="fwv93l">.css-fwv93l{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:0;}.css-fwv93l [data-rating-icon-checked]{display:inline-block;}.css-fwv93l [data-rating-icon]{display:none;}.css-fwv93l label:hover ~ label [data-rating-icon-checked][data-rating-icon-checked],.css-fwv93l input:checked ~ label [data-rating-icon-checked]{display:none;}.css-fwv93l label:hover ~ label [data-rating-icon][data-rating-icon],.css-fwv93l input:checked ~ label [data-rating-icon]{display:inline-block;}.css-fwv93l:hover [data-rating-icon-checked][data-rating-icon-checked]{display:inline-block;}.css-fwv93l:hover [data-rating-icon][data-rating-icon]{display:none;}</style><div class="css-fwv93l"><style data-emotion-css="i9qcsw">.css-i9qcsw{border:0 !important;-webkit-clip:rect(1px,1px,1px,1px) !important;clip:rect(1px,1px,1px,1px) !important;height:1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important;}</style><label for="rating-bottom--empty" class="css-i9qcsw"></label><input type="radio" id="rating-bottom--empty" name="rating-bottom" checked="" class="css-i9qcsw"/><label for="rating-bottom--0" style="transition:transform 100ms cubic-bezier(0.15,1,0.3,1)"><div role="presentation"><div><span class="css-i9qcsw">Unusable</span><span aria-hidden="true" data-rating-icon="true"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span aria-hidden="true" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M12 16.373l3.98 2.193-.76-4.655 3.276-3.347-4.524-.69L12 5.687l-1.972 4.189-4.524.689L8.78 13.91l-.762 4.655L12 16.373zm0 2.283l-3.016 1.662a2 2 0 01-2.939-2.075l.599-3.656-2.57-2.624a2 2 0 011.129-3.377l3.47-.528 1.518-3.224a2 2 0 013.618 0l1.519 3.224 3.47.528a2 2 0 011.127 3.377l-2.569 2.624.599 3.656a2 2 0 01-2.94 2.075L12 18.656z" fill="currentColor"/></svg></span></span><span aria-hidden="true" data-rating-icon-checked="true"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span aria-hidden="true" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M12.072 17.284l-3.905 2.053a1 1 0 01-1.451-1.054l.745-4.349-3.159-3.08a1 1 0 01.554-1.705l4.366-.635 1.953-3.956a1 1 0 011.794 0l1.952 3.956 4.366.635a1 1 0 01.555 1.705l-3.16 3.08.746 4.349a1 1 0 01-1.45 1.054l-3.906-2.053z" fill="currentColor" fill-rule="evenodd"/></svg></span></span></div></div></label><input type="radio" id="rating-bottom--0" value="1" name="rating-bottom" class="css-i9qcsw"/><label for="rating-bottom--1" style="transition:transform 100ms cubic-bezier(0.15,1,0.3,1)"><div role="presentation"><div><span class="css-i9qcsw">Poor</span><span aria-hidden="true" data-rating-icon="true"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span aria-hidden="true" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M12 16.373l3.98 2.193-.76-4.655 3.276-3.347-4.524-.69L12 5.687l-1.972 4.189-4.524.689L8.78 13.91l-.762 4.655L12 16.373zm0 2.283l-3.016 1.662a2 2 0 01-2.939-2.075l.599-3.656-2.57-2.624a2 2 0 011.129-3.377l3.47-.528 1.518-3.224a2 2 0 013.618 0l1.519 3.224 3.47.528a2 2 0 011.127 3.377l-2.569 2.624.599 3.656a2 2 0 01-2.94 2.075L12 18.656z" fill="currentColor"/></svg></span></span><span aria-hidden="true" data-rating-icon-checked="true"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span aria-hidden="true" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M12.072 17.284l-3.905 2.053a1 1 0 01-1.451-1.054l.745-4.349-3.159-3.08a1 1 0 01.554-1.705l4.366-.635 1.953-3.956a1 1 0 011.794 0l1.952 3.956 4.366.635a1 1 0 01.555 1.705l-3.16 3.08.746 4.349a1 1 0 01-1.45 1.054l-3.906-2.053z" fill="currentColor" fill-rule="evenodd"/></svg></span></span></div></div></label><input type="radio" id="rating-bottom--1" value="2" name="rating-bottom" class="css-i9qcsw"/><label for="rating-bottom--2" style="transition:transform 100ms cubic-bezier(0.15,1,0.3,1)"><div role="presentation"><div><span class="css-i9qcsw">Okay</span><span aria-hidden="true" data-rating-icon="true"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span aria-hidden="true" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M12 16.373l3.98 2.193-.76-4.655 3.276-3.347-4.524-.69L12 5.687l-1.972 4.189-4.524.689L8.78 13.91l-.762 4.655L12 16.373zm0 2.283l-3.016 1.662a2 2 0 01-2.939-2.075l.599-3.656-2.57-2.624a2 2 0 011.129-3.377l3.47-.528 1.518-3.224a2 2 0 013.618 0l1.519 3.224 3.47.528a2 2 0 011.127 3.377l-2.569 2.624.599 3.656a2 2 0 01-2.94 2.075L12 18.656z" fill="currentColor"/></svg></span></span><span aria-hidden="true" data-rating-icon-checked="true"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span aria-hidden="true" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M12.072 17.284l-3.905 2.053a1 1 0 01-1.451-1.054l.745-4.349-3.159-3.08a1 1 0 01.554-1.705l4.366-.635 1.953-3.956a1 1 0 011.794 0l1.952 3.956 4.366.635a1 1 0 01.555 1.705l-3.16 3.08.746 4.349a1 1 0 01-1.45 1.054l-3.906-2.053z" fill="currentColor" fill-rule="evenodd"/></svg></span></span></div></div></label><input type="radio" id="rating-bottom--2" value="3" name="rating-bottom" class="css-i9qcsw"/><label for="rating-bottom--3" style="transition:transform 100ms cubic-bezier(0.15,1,0.3,1)"><div role="presentation"><div><span class="css-i9qcsw">Good</span><span aria-hidden="true" data-rating-icon="true"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span aria-hidden="true" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M12 16.373l3.98 2.193-.76-4.655 3.276-3.347-4.524-.69L12 5.687l-1.972 4.189-4.524.689L8.78 13.91l-.762 4.655L12 16.373zm0 2.283l-3.016 1.662a2 2 0 01-2.939-2.075l.599-3.656-2.57-2.624a2 2 0 011.129-3.377l3.47-.528 1.518-3.224a2 2 0 013.618 0l1.519 3.224 3.47.528a2 2 0 011.127 3.377l-2.569 2.624.599 3.656a2 2 0 01-2.94 2.075L12 18.656z" fill="currentColor"/></svg></span></span><span aria-hidden="true" data-rating-icon-checked="true"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span aria-hidden="true" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M12.072 17.284l-3.905 2.053a1 1 0 01-1.451-1.054l.745-4.349-3.159-3.08a1 1 0 01.554-1.705l4.366-.635 1.953-3.956a1 1 0 011.794 0l1.952 3.956 4.366.635a1 1 0 01.555 1.705l-3.16 3.08.746 4.349a1 1 0 01-1.45 1.054l-3.906-2.053z" fill="currentColor" fill-rule="evenodd"/></svg></span></span></div></div></label><input type="radio" id="rating-bottom--3" value="4" name="rating-bottom" class="css-i9qcsw"/><label for="rating-bottom--4" style="transition:transform 100ms cubic-bezier(0.15,1,0.3,1)"><div role="presentation"><div><span class="css-i9qcsw">Excellent</span><span aria-hidden="true" data-rating-icon="true"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span aria-hidden="true" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M12 16.373l3.98 2.193-.76-4.655 3.276-3.347-4.524-.69L12 5.687l-1.972 4.189-4.524.689L8.78 13.91l-.762 4.655L12 16.373zm0 2.283l-3.016 1.662a2 2 0 01-2.939-2.075l.599-3.656-2.57-2.624a2 2 0 011.129-3.377l3.47-.528 1.518-3.224a2 2 0 013.618 0l1.519 3.224 3.47.528a2 2 0 011.127 3.377l-2.569 2.624.599 3.656a2 2 0 01-2.94 2.075L12 18.656z" fill="currentColor"/></svg></span></span><span aria-hidden="true" data-rating-icon-checked="true"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span aria-hidden="true" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M12.072 17.284l-3.905 2.053a1 1 0 01-1.451-1.054l.745-4.349-3.159-3.08a1 1 0 01.554-1.705l4.366-.635 1.953-3.956a1 1 0 011.794 0l1.952 3.956 4.366.635a1 1 0 01.555 1.705l-3.16 3.08.746 4.349a1 1 0 01-1.45 1.054l-3.906-2.053z" fill="currentColor" fill-rule="evenodd"/></svg></span></span></div></div></label><input type="radio" id="rating-bottom--4" value="5" name="rating-bottom" class="css-i9qcsw"/></div></div><div class="sc-eNPDpu iARtDw"></div></div></div></div></div><div class="sc-eNPDpu iARtDw"></div></div></div><div class="sc-jUpvKA kmRqgF"><footer class="sc-hvvHee APFeF"><div class="sc-eSePXt hbQcmX sc-fvLVrH dUcFyG"><a class="sc-iIHjhz RSHIw" href="https://www.atlassian.com/"><style data-emotion="css 1gskvga">.css-1gskvga{display:inline-block;position:relative;color:var(--logo-color);fill:var(--logo-fill);line-height:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:normal;height:24px;}.css-1gskvga >svg{height:100%;fill:inherit;}.css-1gskvga stop{stop-color:currentColor;}</style><span style="--logo-color:#5E6C84;--logo-fill:#5E6C84" aria-label="Atlassian" role="img" class="css-1gskvga"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 198 32" focusable="false" aria-hidden="true" height="32" fill="none"> <path fill=#5E6C84 d="M22.878 24.378 12.293 3.208c-.208-.458-.416-.541-.666-.541-.209 0-.459.083-.709.5-1.5 2.375-2.167 5.125-2.167 8 0 4.001 2.042 7.752 5.043 13.794.333.667.583.792 1.166.792h7.335c.542 0 .833-.208.833-.625 0-.208-.041-.333-.25-.75M7.501 14.377c-.833-1.25-1.083-1.334-1.292-1.334s-.333.083-.708.834L.208 24.46c-.166.334-.208.459-.208.625 0 .334.292.667.917.667h7.46c.5 0 .874-.416 1.083-1.208.25-1 .333-1.876.333-2.917 0-2.917-1.292-5.751-2.292-7.251z"/> <path fill=#5E6C84 d="M107.447 10.828c0 2.972 1.345 5.308 6.795 6.37 3.185.707 3.893 1.203 3.893 2.265 0 1.061-.708 1.698-2.973 1.698-2.619 0-5.733-.92-7.785-2.123v4.813c1.627.778 3.751 1.698 7.785 1.698 5.662 0 7.856-2.548 7.856-6.228m0 .07c0-3.538-1.84-5.166-7.148-6.298-2.902-.637-3.61-1.274-3.61-2.194 0-1.133 1.062-1.628 2.973-1.628 2.335 0 4.6.708 6.794 1.698v-4.6c-1.557-.779-3.892-1.345-6.653-1.345-5.237 0-7.927 2.265-7.927 5.945m72.475-5.803v20.17h4.318V9.979l1.769 4.035 6.087 11.324h5.379V5.166h-4.247v13.022l-1.628-3.821-4.883-9.201zm-27.319 0h-4.671v20.17h4.671zm-10.05 14.154c0-3.538-1.841-5.166-7.149-6.298-2.902-.637-3.609-1.274-3.609-2.194 0-1.133 1.061-1.628 2.972-1.628 2.336 0 4.601.708 6.795 1.699v-4.6c-1.557-.78-3.893-1.346-6.653-1.346-5.238 0-7.927 2.265-7.927 5.946 0 2.972 1.344 5.308 6.794 6.37 3.185.707 3.893 1.203 3.893 2.264 0 1.062-.708 1.699-2.973 1.699-2.618 0-5.733-.92-7.785-2.123v4.812c1.628.779 3.751 1.699 7.785 1.699 5.592 0 7.857-2.548 7.857-6.3M71.069 5.166v20.17h9.625l1.486-4.387h-6.44V5.166zm-19.039 0v4.317h5.167v15.854h4.741V9.483h5.592V5.166zm-6.866 0h-6.157L32 25.336h5.379l.99-3.396c1.204.353 2.478.566 3.752.566s2.548-.213 3.751-.567l.991 3.398h5.379c-.07 0-7.078-20.171-7.078-20.171M42.05 18.259c-.92 0-1.77-.141-2.548-.354L42.05 9.13l2.548 8.776a9.6 9.6 0 0 1-2.548.354zM97.326 5.166H91.17l-7.078 20.17h5.38l.99-3.396c1.203.353 2.477.566 3.751.566s2.548-.213 3.751-.567l.991 3.398h5.379zm-3.114 13.093c-.92 0-1.77-.141-2.548-.354l2.548-8.776 2.548 8.776a9.6 9.6 0 0 1-2.548.354m75.306-13.093h-6.157l-7.007 20.17h5.379l.991-3.396c1.203.353 2.477.566 3.751.566s2.548-.213 3.751-.567l.991 3.398h5.379zm-3.043 13.093c-.92 0-1.77-.141-2.548-.354l2.548-8.776 2.548 8.776a10 10 0 0 1-2.548.354"/> </svg></span></a><nav class="sc-dXfzlN insOyI"><a class="sc-iIHjhz RSHIw" href="/changelog/">Changelog</a><a class="sc-iIHjhz RSHIw" target="_blank" href="https://status.developer.atlassian.com">System status</a><a class="sc-iIHjhz RSHIw" target="_blank" href="https://www.atlassian.com/legal/privacy-policy">Privacy</a><a class="atl-policy-link atl-policy-link-text sc-iIHjhz RSHIw" target="_blank" href="https://www.atlassian.com/legal/privacy-policy#additional-disclosures-for-ca-residents">Notice at Collection</a><a class="sc-iIHjhz RSHIw" target="_blank" href="/platform/marketplace/atlassian-developer-terms/">Developer Terms</a><a class="sc-iIHjhz RSHIw" target="_blank" href="https://www.atlassian.com/legal/trademark">Trademark</a><a class="optanon-toggle-display hide-optanon-link sc-iIHjhz RSHIw">Cookie preferences</a><span class="sc-aewfc fDSCxc">© <!-- -->2025<!-- --> Atlassian</span></nav></div></footer></div></div><script nonce="vm3bayHfecgzV2jhqqtzGhJEBqfZmrZrGufG58TWGCA=" type="text/javascript">(function(){var g=function(e,h,f,g){ this.get=function(a){for(var a=a+"=",c=document.cookie.split(";"),b=0,e=c.length;b<e;b++){for(var d=c[b];" "==d.charAt(0);)d=d.substring(1,d.length);if(0==d.indexOf(a))return d.substring(a.length,d.length)}return null}; this.set=function(a,c){var b="",b=new Date;b.setTime(b.getTime()+6048E5);b="; expires="+b.toGMTString();document.cookie=a+"="+c+b+"; path=/; "}; this.check=function(){var a=this.get(f);if(a)a=a.split(":");else if(100!=e)"v"==h&&(e=Math.random()>=e/100?0:100),a=[h,e,0],this.set(f,a.join(":"));else return!0;var c=a[1];if(100==c)return!0;switch(a[0]){case "v":return!1;case "r":return c=a[2]%Math.floor(100/c),a[2]++,this.set(f,a.join(":")),!c}return!0}; this.go=function(){if(this.check()){var a=document.createElement("script");a.type="text/javascript";a.src=g;document.body&&document.body.appendChild(a)}}; this.start=function(){var t=this;"complete"!==document.readyState?window.addEventListener?window.addEventListener("load",function(){t.go()},!1):window.attachEvent&&window.attachEvent("onload",function(){t.go()}):t.go()};}; try{(new g(100,"r","QSI_S_ZN_basBS9dBHxSA2iN","https://znbasbs9dbhxsa2in-atlassian.siteintercept.qualtrics.com/SIE/?Q_ZID=ZN_basBS9dBHxSA2iN")).start()}catch(i){}})();</script><div id="ZN_basBS9dBHxSA2iN"></div></div></div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10