feat(webhook): add workflow_step webhook events for step-level CI notifications

Adds HookEventWorkflowStep event type that fires on every step state
transition (queued -> in_progress -> completed). Follows the same
pattern as the existing workflow_job events.

- New WorkflowStepPayload struct with run/job/step context
- WorkflowStepStatusUpdate notifier interface + dispatch
- Step state change detection in UpdateTask runner endpoint
- Fix: register workflow_step in updateHookEvents API mapping
- Full test coverage mirroring workflow_job tests

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-06 17:47:14 -05:00
parent a39af1a829
commit bb6faa4c5d
30 changed files with 504 additions and 3 deletions
@@ -346,6 +346,16 @@
</div>
</div>
</div>
<!-- Workflow Step Event -->
<div class="seven wide column">
<div class="field">
<div class="ui checkbox">
<input name="workflow_step" type="checkbox" {{if .Webhook.HookEvents.Get "workflow_step"}}checked{{end}}>
<label>{{ctx.Locale.Tr "repo.settings.event_workflow_step"}}</label>
<span class="help">{{ctx.Locale.Tr "repo.settings.event_workflow_step_desc"}}</span>
</div>
</div>
</div>
</div>
</div>