Comment on page



Welcome to the Webhooks documentation! Webhooks provide a way to notify your services about changes in Qase. A webhook consists of:
  • An entity - the resource that generates the events (e.g. Test Case).
  • One or more events (e.g. created).
  • A URL - the endpoint where you want Qase to send the event payloads when a matching event happens.
This documentation describes the structure of events and their payloads.
Webhooks are available in Startup, Business, and Enterprise subscriptions

How to set up webhooks?

Setting up a webhook is easy: navigate to the Settings of a project where webhooks will be needed, then select "Webhooks" and hit "Create new webhook":
There are a few parameters you need to define for a new webhook:
  • Basic:
    • Title: a name for your webhook.
    • Endpoint: a URL address that is configured on your side and is accessible to the public web; this address will be where Qase sends a request upon a defined event happening.
    • Secret: we are sending this text as an X-Qase-Secret header so that you can authenticate your webhook,
  • Events: in this section, you will set up a trigger for Qase to send a request to the endpoint; there are several to choose from, and it is also possible to enable multiple event-triggers for a single endpoint.
    • Test Cases:
      • Create test case
      • Update test case
      • Delete test case
      • Clone test case
    • Test Suites:
      • Create test suite
      • Update test suite
      • Delete test suite
      • Clone test suite
    • Test Plans:
      • Create test plan
      • Update test plan
      • Delete test plan
    • Shared Steps:
      • Create shared step
      • Update shared step
      • Delete shared step
    • Milestones:
      • Create milestone
      • Update milestone
      • Delete milestone
    • Custom Fields:
      • Create custom field
      • Update custom field
      • Delete custom field
    • Test Runs:
      • Test run start
      • Test run aborted
      • Test cases added to run
      • Delete test run
      • Complete test run
      • Public link turned on
    • Defects:
      • Create defect
      • Resolve defect
      • Delete defect
    • Reviews:
      • Create test review
      • Update test review
      • Approval status change
      • Reviewer added
      • Reviewer removed
      • Merge test review
      • Reopen test review
      • Comment test review
      • Decline test review
      • Delete test review

Event structure

Request example:
"event_name": "shared_step.created",
"timestamp": 1650540646,
"payload": {
"hash": "2563d587b756110934vea4185ce31b2b0dbf457c",
"title": "test",
"steps": [
"hash": "ed285acb6c7e575bce2576810c195ed8335e2812",
"action": "action",
"expected_result": "",
"data": "",
"attachments": []
"team_member_id": 40,
"project_code": "ID"
All requests that are produced by Qase are POST requests with data in JSON format with following data structure:
Event name
Time when event has been triggered
An object with payload data related to event
Action initiator
Project code where the event takes place
Last modified 7mo ago