前回、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
・・・省略・・・