webhooks
This skill covers Jira Cloud webhook registration, event types, payload formats, and security.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
This skill covers Jira Cloud webhook registration, event types, payload formats, and security.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
This skill covers batch create, update, delete, and transition operations for the Jira Cloud REST API.
This skill covers pagination strategies for the Jira Cloud REST API, including offset-based and cursor-based pagination.
Complete endpoint reference for the Jira Cloud REST API v3.
This skill covers all authentication methods for the Jira Cloud REST API.
This skill covers HTTP error codes, error response formats, and troubleshooting strategies for the Jira Cloud REST API.
Complete JQL (Jira Query Language) syntax reference for searching issues in Jira Cloud.
| name | webhooks |
| description | This skill covers Jira Cloud webhook registration, event types, payload formats, and security. |
This skill covers Jira Cloud webhook registration, event types, payload formats, and security.
Jira Cloud supports two webhook approaches:
POST /rest/api/3/webhook
curl -X POST \
-H "Authorization: Basic $(echo -n '$JIRA_USER_EMAIL:$JIRA_API_TOKEN' | base64)" \
-H "Content-Type: application/json" \
"https://{domain}.atlassian.net/rest/api/3/webhook" \
-d '{
"webhooks": [
{
"url": "https://your-app.example.com/webhooks/jira",
"events": [
"jira:issue_created",
"jira:issue_updated",
"jira:issue_deleted"
],
"jqlFilter": "project = PROJ",
"fieldIdsFilter": ["summary", "status", "assignee"]
}
]
}'
GET /rest/api/3/webhook
DELETE /rest/api/3/webhook
curl -X DELETE \
-H "Authorization: Basic $(echo -n '$JIRA_USER_EMAIL:$JIRA_API_TOKEN' | base64)" \
-H "Content-Type: application/json" \
"https://{domain}.atlassian.net/rest/api/3/webhook" \
-d '{
"webhookIds": [10001, 10002]
}'
PUT /rest/api/3/webhook/refresh
Dynamic webhooks expire after 30 days. Refresh them before expiry:
curl -X PUT \
-H "Authorization: Basic $(echo -n '$JIRA_USER_EMAIL:$JIRA_API_TOKEN' | base64)" \
-H "Content-Type: application/json" \
"https://{domain}.atlassian.net/rest/api/3/webhook/refresh" \
-d '{
"webhookIds": [10001, 10002]
}'
GET /rest/api/3/webhook/failed
| Event | Triggered When |
|---|---|
jira:issue_created | An issue is created |
jira:issue_updated | An issue is updated (fields, status, etc.) |
jira:issue_deleted | An issue is deleted |
| Event | Triggered When |
|---|---|
comment_created | A comment is added |
comment_updated | A comment is edited |
comment_deleted | A comment is removed |
| Event | Triggered When |
|---|---|
issuelink_created | Issues are linked |
issuelink_deleted | An issue link is removed |
| Event | Triggered When |
|---|---|
attachment_created | A file is attached |
attachment_deleted | An attachment is removed |
| Event | Triggered When |
|---|---|
sprint_created | A sprint is created |
sprint_updated | A sprint is updated |
sprint_started | A sprint is started |
sprint_closed | A sprint is completed |
sprint_deleted | A sprint is deleted |
| Event | Triggered When |
|---|---|
board_created | A board is created |
board_updated | A board is updated |
board_deleted | A board is deleted |
board_configuration_changed | Board config changes |
| Event | Triggered When |
|---|---|
project_created | A project is created |
project_updated | A project is updated |
project_deleted | A project is deleted |
project_soft_deleted | A project is moved to trash |
project_restored_deleted | A project is restored from trash |
| Event | Triggered When |
|---|---|
user_created | A user is added |
user_updated | A user is updated |
user_deleted | A user is removed |
| Event | Triggered When |
|---|---|
worklog_created | Work is logged |
worklog_updated | A worklog is updated |
worklog_deleted | A worklog is removed |
{
"timestamp": 1711843200000,
"webhookEvent": "jira:issue_created",
"issue_event_type_name": "issue_created",
"user": {
"accountId": "user-account-id",
"displayName": "John Doe",
"emailAddress": "john@example.com"
},
"issue": {
"id": "10001",
"key": "PROJ-123",
"fields": {
"summary": "New issue summary",
"status": {
"name": "Open",
"statusCategory": {
"key": "new",
"name": "To Do"
}
},
"issuetype": {
"name": "Task"
},
"project": {
"key": "PROJ",
"name": "My Project"
},
"assignee": {
"accountId": "assignee-account-id",
"displayName": "Jane Smith"
},
"priority": {
"name": "High"
},
"created": "2026-03-19T00:00:00.000+0000",
"updated": "2026-03-19T00:00:00.000+0000"
}
},
"changelog": {
"items": [
{
"field": "status",
"fieldtype": "jira",
"from": "1",
"fromString": "Open",
"to": "3",
"toString": "In Progress"
}
]
}
}
Webhooks can include a jqlFilter to receive events only for matching issues:
{
"jqlFilter": "project = PROJ AND issuetype = Bug AND priority = High"
}
Only jira:issue_created, jira:issue_updated, and jira:issue_deleted events support JQL filtering.
Use fieldIdsFilter to limit the fields included in webhook payloads:
{
"fieldIdsFilter": ["summary", "status", "assignee", "priority"]
}
This reduces payload size and improves processing efficiency.
GET /rest/api/3/webhook/failed to check for delivery failures