4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GitHub Actionsをもっと使いやすく! workflow_dispatchことはじめ

Posted at

要約

GitHub_Actions-workflow_dispatch
on:
  workflow_dispatch:
    inputs:  # オプション項目
      piyopiyo:
        description: "hogehoge"
        required: true
        default: fugafuga

待望の新機能 workflow_dispatch とは?

2020/07/06 に待望の機能、 workflow_dispatch がリリースされました!
GitHub Actions で設定したワークフローを好きな時に実行できるイベントです。

GitHub Actions: Manual triggers with workflow_dispatch

Events that trigger workflows#workflow_dispatch

なにが嬉しいのか

それまでは「任意タイミングでの実行」ができなかったんですよね。
どうしてもGitHub上のイベントのいずれかをトリガーにする必要がありました。

なので、ワークフローを実行するためには、
デプロイのためだけのPRを作成したりとか、
コメントの投稿をトリガーにしてワークフローを実行したりとか……手間でした。

使ってみましょう! 設定編

では、workflowのファイルを編集して、workflow_dispatch を使えるようにしましょう。

GitHub_Actions-workflow_file
on:
  workflow_dispatch:

# jobs以降は省略

はい、これで使えるようになりました! 簡単ですね。
デフォルトブランチにこの workflow が反映されれば workflow_dispatch が使えます。

inputs はオプションになります。

使ってみましょう! 実行編

  1. GitHubのリポジトリをブラウザで開きます
  2. Actionsタブを選択します
  3. workflow_dispatch を設定した workflowを選択しましょう
select workflow.png 4. [Run workflow] のプルダウンボタンをクリックします 5. プルダウン内の [Run workflow] ボタンをクリックします run workflow.png

実行ブランチは自由に選択可能です
select branch.png

inputsを使う

workflow_dispatch 実行時に、任意の文字列を入力できます。
入力した文字はワークフロー内で利用することが可能です。
最大10項目まで設定できます。

inputsの設定方法

GitHub_Actions-workflow_dispatch
on:
  workflow_dispatch:
    inputs:
      piyopiyo:
        description: "hogehoge"
        required: true
        default: hugahuga

inputsの利用方法

ワークフローのスクリプト内では、以下のようにして利用が可能です。

use_input
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - name: check inputs
        run: echo "${{ github.event.inputs.piyopiyo }}"

actions/github-script の中でも利用することができます

use_input
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - name: use inputs in script
        uses: actions/github-script@v2
        id: use-inputs
        with:
          result-encoding: string
          script: |
            return context.payload.inputs.piyopiyo

inputsがある場合の入力項目

inputsがある場合 [Run workflow] のプルダウンは次のようになります。
set inputs.png

参考

以上です。
指摘や、追加の情報があればコメントをいただけると幸いです!

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?