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

Reference