Skip to main content
Plan requirement: This feature requires an On-call Standard or higher subscription. Learn more
Use a Gitea repository or organization webhook to sync Gitea Actions workflow runs and releases to Flashduty On-call. Each workflow run and each release becomes one Flashduty change; every state of a run, from running to success, failure or cancellation, updates that same change. A Gitea webhook cannot filter workflow runs by workflow or by branch (its Branch filter applies only to push and branch events), so every run of every workflow in the repository becomes a change, including workflows that only build or test. Use the workflow and ref labels to route or filter deployment runs in Flashduty. This page covers Gitea. Forgejo names its Actions events differently and sends a different payload, so it is not supported; connect it through custom change events instead.

In Flashduty On-call


  1. In the Flashduty console, go to Integration Center → Change Events
  2. Select Gitea and enter an integration name
  3. To assign changes to specific channels, add rules under the integration’s Routes that match labels such as repo or workflow
  4. Click Save and copy the generated Push URL

Configure Gitea


1

Open webhook settings

  • Repository: go to the repository’s Settings → Webhooks and click Add Webhook → Gitea
  • Organization: go to the organization’s Settings → Webhooks and click Add Webhook → Gitea; events from every repository in the organization are sent
You need admin permission on the repository or organization. The repository must have Gitea Actions enabled and an available runner.
2

Enter the Push URL

  1. Target URL: paste the complete Flashduty integration Push URL
  2. HTTP Method: select POST
  3. POST Content Type: select application/json (application/x-www-form-urlencoded is also accepted)
  4. Secret: leave empty; Flashduty authenticates with the integration_key in the Push URL
3

Select events

  1. Under Trigger On, select Custom Events…
  2. Check Workflow Run and Release and uncheck the others; do not check Workflow Jobs, which does not produce changes
  3. Leave Branch filter empty; it does not apply to workflow runs
  4. Keep Active checked and click Add Webhook
Gitea’s Test Push Event sends a fake push event; Flashduty returns success and records no change.

What one change is


Status mapping


Done, Failed and Canceled are end statuses; Flashduty records the change’s end time. These deliveries return success and record nothing: every other Gitea event type (including workflow_job and the push sent by the test button), the release updated action, draft releases, and a queued run (the requested event with state queued, pending or requested; the change starts when the run starts).

Change content


Labels can be used for routing and for filtering the change list:

FAQ


  • Make sure the webhook has Workflow Run checked and that your Gitea version offers that event
  • Open the webhook page’s delivery history to see the request and Flashduty’s response
No. An event with the same state and time is recorded once.
Gitea cannot filter webhook events by workflow. The Branch filter does not apply to workflow runs either. Use the integration’s Routes to send deployment workflows to the right channel by the workflow or ref label.
  • unsupported action, unsupported workflow_run.status or unsupported workflow_run.conclusion: a run state Flashduty does not support yet was received; please contact us
  • workflow_run.id is missing or release.id is missing: the payload is incomplete; make sure it comes from a native Gitea webhook