fix(actions): reject workflow_dispatch for workflows without that trigger (#37660)
## Summary
Fixes #37528
This PR makes the workflow dispatch API reject workflows that do not
declare `workflow_dispatch`. Previously, `POST
/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches` could
create an `ActionRun` for a workflow that only declared another event
such as `push`.
The service now validates that the target workflow has a
`workflow_dispatch` trigger before inserting the run. The API maps that
validation failure to `422 Unprocessable Entity`, matching existing
validation failures in this handler.
The regression test creates a push-only workflow, dispatches it through
the public API, asserts the `workflow_dispatch` validation message, and
verifies that no run was inserted.
## Disclosure
Developed with assistance from OpenAI Codex.
---------
Co-authored-by: Nicolas <bircni@icloud.com> J
Jorge Ortiz committed
90d443b46c6163fd15608bbbcb14593cc95d4546
Parent: 428ee9f
Committed by GitHub <noreply@github.com>
on 5/28/2026, 11:40:43 PM