ちょっと調べていたのでメモしておく。
- 今のところApproveされているかどうかは拾えなさそう。mergeableであるかどうかのチェックで代用するのが正解かな。mergeableは pull_request データ構造に存在する。
- ワークフロー中、人間の承認を要求するようにするのは Env を利用すると良さそう。
- GitHub Actions の環境を試してみたメモ
- Env において、人間の承認が必要と設定する、Actions でそのEnvを指定する、という具合になる。
workflow_dispatchで手動実行する際にパラメータ指定ができるようになってた- GitHub Actionsの手動実行パラメータのUI改善について速報で解説する
- 2021/11らしい。
- 手でもイベントトリガーでも実行しようと思ったら、ちょっと工夫する必要がありそう。
- issue_comment とかでPRの内容に応じた処理をしたい場合には PR の head を取得したあと checkout を実行する
- uses: actions/github-script@v6
id: pull_request_info
with:
script: |
const pull_request = await github.request(context.payload.issue.pull_request.url)
function setOutput(name, value){
console.log(`::set-output name=${name}::${value}`)
}
setOutput("head_ref", pull_request.data.head.ref)
setOutput("base_ref", pull_request.data.base.ref)
setOutput("merged_at", pull_request.merged_at)
- uses: actions/checkout@v2
with:
ref: ${{ steps.pull_request_info.outputs.head_ref }}
- comment-ops的なことをやろうとすると create時だけでいいか、editも対応しようか迷う。
- edit の際は
github.event.changesで変更元がやってくるので、例えばコメントの編集であれば、github.event.changes.body.fromとgithub.event.comment.bodyを併せて記載してあげると親切かもしれない。
- edit の際は