Skip to content

Pipelines That Run on Their Own

2 min read

The inbound webhook lets your CI tell Hawzu that a build Hawzu started has finished, so the results are imported a little sooner. Hawzu already checks those builds regularly until they finish, so you don’t need the webhook for results to arrive.

This is not the same feature as Webhooks. Those are Hawzu calling your systems when things change in a workspace. The signature scheme is the same for both.


Each automated test run’s pipeline has its own webhook URL and secret. No screen in Hawzu shows them yet, so contact support to get them for your pipeline.


When a build finishes, your CI posts its standard build notification as JSON, for example:

  • Jenkins: the Notification plugin’s payload.
  • GitHub Actions: a workflow_run event.
  • GitLab CI: a Pipeline Event.

Hawzu reads the build number and its result from it. Notifications for a build that is still running are accepted, and the build keeps being checked until it finishes.

Request bodies can be up to 1 MB.


Sign each request with an HMAC-SHA256 of the raw request body, using the pipeline’s webhook secret as the key. Send it in the X-Hawzu-Signature header as the hex digest prefixed with the algorithm:

X-Hawzu-Signature: sha256=<hex digest of HMAC-SHA256(secret, raw body)>

A missing or wrong signature gets a 401 response.


SituationUse
QA decides when the suite runsRun from the test run. See Create an Automated Test Run.
Hawzu started the build and you want results to arrive soonerThis webhook
The pipeline runs on its own schedule, or Hawzu didn’t start the buildImporting CI Results: post the report itself
Your CI isn’t Jenkins, GitHub Actions or GitLab CIImporting CI Results