Github Actions - trigger another action after one action is competed

怎甘沉沦 提交于 2020-08-26 07:13:21

问题


I have one action (a yaml file) for deploying a docker image to Google Cloud Run.

I would like to receive Slack or Email messages informing the build and push results.

How could the message action be triggered after build action is completed?

Is it possible to get the result of the build action?


回答1:


First, you are mixing terms here. According to GitHub Actions documentation a single YAML file is called a workflow (not an action) and consists of jobs. Jobs contain a sequence of steps (including actions) that are executed one after another. A particular workflow execution is called a run. Having that in mind lets go the questions.

How could the message workflow be triggered after build workflow is completed?

You can use GitHub API to trigger a webhook event called repository_dispatch. This can be easily done using a dedicated Repository Dispach action in your build workflow.

Is it possible to get the result of the build workflow?

Yes, the result of the workflow run can be obtained using GitHub API

But if you only want to send the build result notification of the currently executed workflow you don't need to create a separate workflow and trigger it from the parent. You can use dedicated Slack actions or e-mail actions.




回答2:


How could the message action be triggered after build action is completed?

This should now (August 2020) be possible with "GitHub Actions improvements for fork and pull request workflows"

Another frequently-requested feature for Actions is a way to trigger one workflow based on the completion of another workflow.
For example, you may want to take the results of a CI workflow and run some further analysis.

The new workflow_run event enables you to trigger a new workflow when one or more workflows are requested or completed.
Runs triggered by the workflow_run event always use the default branch for the repository, and have access to a read/write token as well as secrets.
As an example, as a maintainer you could set up a workflow that takes the artifacts generated by the pull request workflow, do some analysis, and post comments back to the pull request.
This event is also available as a web hook.



来源:https://stackoverflow.com/questions/62750603/github-actions-trigger-another-action-after-one-action-is-competed

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!