AI approval gates for pull requests
AI approval gates for pull requests: hold the pipeline until a human approves, or auto-run only labelled tickets under an AI spend limit.
Volath sends AI pipeline webhooks for Slack and Teams. Report what happens in a project to other tools as signed JSON, control Volath from Slack or Teams with two-way Chat-Ops, and manage the webhooks through the API.
Benefits
How it works
It runs on your own machine. Your code, tickets and settings live in a local SQLite database, or in your own MySQL or MariaDB.
In Project settings › Webhooks, add a URL, pick the events and optionally a secret.
Events: ticket.status_changed, pr.opened, ci.failed, deploy.finished, budget.exceeded, approval.requested, ticket.updated, ticket.deleted, ticket.timeline, ticket.activity, ai.job and notification.
Each event is sent as a JSON POST with the header X-Volath-Event. With a secret, it also carries X-Volath-Signature: sha256=<HMAC-SHA256 of the raw body>.
A receiver that is down is tried again twice.
Set Send as to Slack or Teams for a readable message instead of JSON, and use Test to check it.
Add the Slack signing secret or the Teams security token to make it two-way Chat-Ops: create, status, approve and reject from the chat, plus Approve and Reject buttons on Slack approval messages.
Webhooks can also be managed through the API at /api/webhooks.
Open /api/docs on the address of your local Volath.
The documentation is OpenAPI, generated from the NestJS decorators at build time.
Example
Send ci.failed and approval.requested events to a Slack channel by setting Send as to Slack.
It runs on your own machine. Your code, tickets and settings live in a local SQLite database, or in your own MySQL or MariaDB.