■ はじめに
https://dk521123.hatenablog.com/entry/2024/01/28/004128
の分冊。 Github Actions の workflow_dispatch を使って実装してたら エラー「you may only define up to 10 `inputs` for a `workflow_dispatch` event」 とか見舞われたりしたので、ここらでまとめておく。
目次
【1】workflow_dispatch 【2】構文 1)on - イベント部分 - 2)inputs - 入力部分 - 【3】使用上の注意 1)デフォルトブランチではないと実行ボタンが表示されない 2)デフォルトブランチ以外で新規作成したWorkflowが一覧に表示されない 3)workflow_call の inputs は 10個まで 【4】サンプル 例1:入力パラメータ付き手動実行
【1】workflow_dispatch
* ワークフロー手動実行 * GitHubのブラウザ上からマニュアル実行できる * inputs により入力値の指定も可能
https://docs.github.com/ja/actions/using-workflows/events-that-trigger-workflows#workflow_dispatch
【2】構文
1)on - イベント部分 -
# こんだけ on: workflow_call:
2)inputs - 入力部分 -
https://docs.github.com/ja/actions/learn-github-actions/contexts#inputs-context
https://docs.github.com/ja/enterprise-cloud@latest/actions/using-workflows/workflow-syntax-for-github-actions#onworkflow_dispatchinputs
https://docs.github.com/ja/actions/creating-actions/metadata-syntax-for-github-actions#inputs
on: workflow_call: # ★ここ追加 inputs: sample_value: # [Required] 入力ID(input_id) description: [Required] This is just a sample # 説明文 type: number # データ型(boolean, choice, number, environment or string) required: false # [Optional] 必須かどうか (true/false) default: 1 # [Optional] デフォルト値 deprecationMessage: [Optional] This value is deprecation #
補足:データ型「environment」について
* Github の environment を設定した場合の値
=> 詳しくは、以下のURL参照
https://zenn.dev/kitoketa/articles/f98a082e233c29
【3】使用上の注意
1)デフォルトブランチではないと実行ボタンが表示されない
* デフォルトブランチではないと、Githubの画面上に 実行ボタンが出てこない
https://dev.classmethod.jp/articles/github-actions-workflow-dispatch-default-branch/
https://dev.classmethod.jp/articles/github-actions-running-a-workflow-for-a-workflowdispatch-trigger-that-is-not-on-the-default-branch/
https://jousys-force.deepapex.com/blogs/run-github-actions-workflow
回避策
* GitHub CLI「gh workflow run [ワークフロー] --repo [リポジトリ名] --ref [ブランチ名]」 を使って実行する => GitHub CLIの詳細は、以下の関連記事を参照のこと
GitHub CLI ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2024/02/17/233836
2)デフォルトブランチ以外で新規作成したWorkflowが一覧に表示されない
workflow_dispatch 固有の問題ではないのだが、 デフォルトブランチ以外でworkflow_dispatch だけのWorkflowだと、 Workflow一覧に表示されず、実行できない。 なお、1)であった「GitHub CLI」でも解決できなかった。
回避策
https://zenn.dev/kappaz/articles/5303fb3ce621e6
に書いてある通り。 ~~~~~ Github Actionsにおいて、新規作成したworkflowファイルの動作確認しようとして branchをpushしても、Actionsに該当のワークフローが表示されないことがある。 その場合は以下のように記載すると、pushのタイミングでworkflowが実施される。 ~~~~~
追加例
on: push: branches: [my_branch]
3)workflow_call の inputs は 10個まで
* inputs の数が 10個を超えて定義すると、 以下「エラー内容」のように怒られる、、、
エラー内容
you may only define up to 10 `inputs` for a `workflow_dispatch` event
https://docs.github.com/ja/actions/using-workflows/events-that-trigger-workflows#providing-inputs
注: ・・・略・・・ inputs の最上位レベルのプロパティの最大数は 10 です。 inputs のペイロードの最大数は 65,535 文字です。
【4】サンプル
例1:入力パラメータ付き手動実行
name: DemoWorkflow on: # Allows you to run this workflow manually from the Actions tab # push: # branches: # - your-branch workflow_dispatch: inputs: # ここの変数の個数が10個まで(【2】使用上の注意の3)参照) chosen-hello-world: required: true type: choice options: - Hello - World jobs: sample-job: runs-on: ubuntu-latest steps: - name: Run a one-line script run: echo Hello, world! - ${{ inputs.chosen-hello-world }}
関連記事
Github ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2019/07/18/234652
Github Actions ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2021/11/04/142835
Github Actions ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2022/06/16/151443
Github Actions ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2023/12/22/195715
Github Actions ~ ワークフロー制御 ~
https://dk521123.hatenablog.com/entry/2024/01/28/004128
Github Actions ~ workflow_run / workflow_call ~
https://dk521123.hatenablog.com/entry/2024/02/14/232546
GitHub CLI ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2024/02/17/233836