Skip to content

Latest commit

 

History

History

webhooks

Webhooks

Introduction

Welcome to the Qase.io 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.

{% hint style="info" %} Webhooks are available in Startup, Business, and Enterprise subscriptions {% endhint %}

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:

Parameter Type Description
event_name string Event name
timestamp integer Time when event has been triggered
payload object An object with payload data related to event
team_member_id integer Action initiator
project_code string Project code where the event takes place

\