2022-10-08 [GitHub Actions]workflow_run / workflow_dispatch
workflow_run
Github Actions の workflow run について
下記のように組めば Hello → Completed のワークフローが組める。
name: Hello
on: push
jobs:
hello:
runs-on: ubuntu-latest
steps:
- run: echo "Hello World!"
name: Completed
on:
workflow_run:
workflows:
- Hello
types:
- completed
jobs:
on-success:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' }}
steps:
- run: echo 'success'
on-failure:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'failure' }}
steps:
- run: echo 'failure'
注意点
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
Events that trigger workflows - GitHub Docs
default branch で workflow_run
の設定がされている必要がある。
workflow_dispatch
workflow_dispatch という新しい Trigger が発表されました。これは、GitHub 上の GitHub Actions の画面から、Workflow を実行できるようにする Trigger です。
以下のことができるようになります Web UI から任意のタイミングで実行 実行時にパラメータを渡す repository_dispatch のように curl でも呼び出せる(?)
ref. GitHub Actions の Workflow Dispatch 最高だよ|watura|note
API で呼び出す場合
$ curl \
-X POST \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/octocat/hello-world/actions/workflows/42/dispatches \
-d '{"ref":"main"}'
ref. How to trigger a workflow_dispatch
from Github API? - Stack Overflow