Webhooks

Task Deleted (Webhook Callback)

BugHerd sends this POST request to your registered target_url whenever a task is permanently deleted. The payload includes the task ID and deletion timestamp. Your server should respond with any 2xx status code to acknowledge receipt.

postWebhooktask_destroy

Payload

Example payload

{
  "task": {
    "id": 98765,
    "local_task_id": 42,
    "project_id": 1000,
    "created_at": "2024-01-15T09:30:00Z",
    "updated_at": "2024-01-20T14:45:00Z",
    "title": "Button not aligned on mobile",
    "description": "The submit button overlaps the footer on screens under 375px.",
    "status": "todo",
    "status_id": 1,
    "priority": "normal",
    "priority_id": 3,
    "site": "https://www.example.com",
    "url": "/checkout",
    "tag_names": [
      "ui",
      "mobile"
    ],
    "external_id": "JIRA-123",
    "requester_email": "reporter@example.com",
    "attachments": [],
    "screenshot_url": "https://bugherd.com/screenshots/abc.png",
    "secret_link": "https://bugherd.com/tasks/secret/abc123",
    "admin_link": "https://bugherd.com/projects/1000/tasks/42",
    "assigned_to": {
      "id": 4561,
      "email": "jane@example.com",
      "display_name": "Jane Smith",
      "avatar_url": "https://bugherd.com/avatars/jane.png"
    },
    "requester": {
      "id": 4561,
      "email": "jane@example.com",
      "display_name": "Jane Smith",
      "avatar_url": "https://bugherd.com/avatars/jane.png"
    },
    "project_name": "BugHerd",
    "assignee_ids": [],
    "assignees": [
      {
        "id": 4561,
        "email": "jane@example.com",
        "display_name": "Jane Smith",
        "avatar_url": "https://bugherd.com/avatars/jane.png"
      }
    ],
    "requester_id": 851,
    "updater": {
      "id": 4561,
      "email": "jane@example.com",
      "display_name": "Jane Smith",
      "avatar_url": "https://bugherd.com/avatars/jane.png"
    },
    "metadata": {
      "rails_page": "pages#home",
      "user_id": "851"
    },
    "screenshot_data": {
      "screenshot_width": 1214,
      "screenshot_height": 1214,
      "screenshot_pin_x": 633,
      "screenshot_pin_y": 514
    },
    "requester_os": "Mac",
    "requester_browser": "Chrome 26",
    "requester_browser_size": "1214 x 806 px",
    "requester_resolution": "1440 x 900 px",
    "selector_info": {
      "path": "html>body...",
      "html": "<img...>",
      "version": 2
    }
  }
}

Response

Webhook acknowledged

Changes

Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.