Open cthu1hoo opened 1 year ago
Any plans to update?
Don't know whether Github has implemented this.
Hope the action started / action completed / action failed webhook trigger can be set on a per-workflow basis.
Currently looking at implementing this feature. Hoping for some guidance on what should be returned as the webhook payload for a workflow_run
inspired hook.
type HookWorkflowRunAction string
const (
HookWorkflowRunRequested HookWorkflowRunAction = "requested"
HookWorkflowRunInProgress HookWorkflowRunAction = "in_progress"
HookWorkflowRunCompleted HookWorkflowRunAction = "completed"
)
type WorkflowRunPayload struct {
Action HookWorkflowRunAction `json:"action"`
Repository *Repository `json:"repository"`
Sender *User `json:"sender"`
ActionRun *ActionRun `json:"action_run"`
Artifacts *[]Artifact `json:"artifacts"`
}
type ActionRun struct {
ID int64 `json:"id"`
Title string `json:"title"`
TriggerUser *User `json:"trigger_user"`
WorkflowID string `json:"workflow_id"`
Index int64 `json:"index"`
Ref string `json:"ref"`
CommitSHA string `json:"commit_sha"`
Branch string `json:"branch"`
Status string `json:"status"`
Version int `json:"version"`
Started string `json:"time_started"`
Stopped string `json:"time_stopped"`
Created string `json:"time_created"`
Updated string `json:"time_updated"`
}
type Artifact struct {
ID int64 `json:"id"`
Name string `json:"name"`
}
These structs should provide a starting point.
Should this webhook provide fully formed URLs to the hook for:
Thanks!
Have just found this #26673 which defines an ActionTask
which is very similar to the structure as defined above.
The main omission from ActionTask
is the time when the action stopped.
Why did #28047 get closed ? @lunny ? any chance this still gets implemented? would be awesome.
for now a good workaround is a DIY web call with CURL using the if: always() rule:
notify:
runs-on: ubuntu-latest
if: always()
steps:
- name: Notify
run: echo "Run hooks here"
and then use the apis from #26673 on the receiving end
Why did #28047 get closed ? @lunny ? any chance this still gets implemented? would be awesome.
for now a good workaround is a DIY web call with CURL using the if: always() rule:
notify: runs-on: ubuntu-latest if: always() steps: - name: Notify run: echo "Run hooks here"
and then use the apis from #26673 on the receiving end
I have no enough time to continue the work. Please pick up my code if somebody would like to continue.
Feature Description
I'm missing a webhook trigger for CI builds, i.e. action started / action completed / action failed. It would be great if this was a thing.
I'm sorry if this was requested before. Thanks in advance.
Screenshots
No response