前回、GitHub CLI を使ってみた - はんなりと、ゆるやかに の記事で初めて GitHub CLI を使ってみました。今回はGitHub CLI を使ってGitHub Actions をコントロールしてみたいと思います。
リポジトリはこちらを使っていきます。
なお、GitHub CLIのバージョンは「v2.0.0」を使っています。
また、サンプルコマンドはワークフローID(12307731)を指定していますが、ワークフロー名(powershell.yml)でも同じ結果です。
ワークフロー の一覧を知る
gh workflow list
を実行すると一覧が取得できます。-a
というオプションがあり、ワークフロー が有効か無効かによって結果が異なります。以下の結果を見てください。PowerShellTest というワークフローが一つあるため、gh workflow list
を実行するとPowerShellTest が取得できています。しかし、そのワークフローをdisable にするとgh workflow list
では取得できません。gh workflow list -a
を実行することで取得できます。
> gh workflow list PowerShellTest active 12307731 > gh workflow list -a PowerShellTest active 12307731 > gh workflow disable 12307731 Disabled PowerShellTest > gh workflow list > gh workflow list -a PowerShellTest disabled_manually 12307731
ワークフロー を実行する
gh workflow run
を実行するとワークフローが実行できます。ここで、1点注意があります。実行するワークフローのonトリガーにworkflow_dispatch が設定されていないと実行されません。設定されていない場合は「could not create workflow dispatch event: HTTP 422: Workflow does not have 'workflow_dispatch' trigger」というエラーが発生します。workflow_dispatch をお忘れなく設定してください。
gh workflow run
を実行した結果はgh run list --workflow=
で確認できます。
> gh workflow run 12307731 ✓ Created workflow_dispatch event for powershell.yml at master > gh run list --workflow=12307731 STATUS N AME WORKFLOW BRANCH EVENT ID ELAPSED AGE - on に workflow_dispatch を追加 PowerShellTest master workflow_dispatch 1213868779 9s 0m
ワークフローの詳細を知る
gh workflow view
を実行すると指定ワークフローの詳細が確認できます。オプションなしの場合は直近の実行したJobが表示され、-y
をつけるとyamlファイルが確認できます。
> gh workflow view 12307731 PowerShellTest - powershell.yml ID: 12307731 Total runs 6 Recent runs ✓ Jobの名前が分かりにくかったので修正 PowerShellTest master push 1143428361 ✓ pwsh から ps1 ファイルを実行するとどうなるのか確認する PowerShellTest master push 1143418024 ・・・省略・・・ > gh workflow view 12307731 -y PowerShellTest - powershell.yml ID: 12307731 name: PowerShellTest on: push: workflow_dispatch: jobs: first_job: runs-on: windows-2019 steps: - name: Checkout uses: actions/checkout@v2 ・・・省略・・・