DependaBotによって作成されたPRに独自のToDoを追加してみる

GitHubのDependaBotによる脆弱性対策のPRは対応コストが省けるスグレモノですが、そのままMergeした場合に起こりうるトラブルまでは防げないこともあります。確認しておきたい事項をPR作成に連動させてコメントとして追加できるようにしてみました。
2021.09.21

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ライブラリの脆弱性対応はトラブルが発生する前に着手しておきたいものですが、各ライブラリの最新情報キャッチアップまでは中々手が届きません。そんな時に役に立つのがDependaBot。

ただ「このbotを導入すれば夢のように全てが片付く」というわけでもありません。実際の実務にうまく取り込む際にやっておきたい事をToDoとしてコメント追加してみました。

コメントでToDoを追加する

DependaBotによるPRはあくまでもライブラリの依存状態に関する情報のみ記載されます。プロジェクトでの確認事項をTODOとして自動で追加しておくと手間が省けます。

dependabotによるPR作成時に限定して、直後にToDo一覧をコメントとして追記してみます。

name: "Comment on pr"

on:
  pull_request_target:

jobs:
  addtodo:
    runs-on: ubuntu-latest
    if: ${{ github.event_name == 'pull_request_target'  && github.actor == 'dependabot[bot]' }}
    steps:
      - uses: actions/checkout@v2
      - uses: actions/github-script@v4
        with:
          script: |
            github.issues.createComment({
              owner: context.repo.owner,
              repo: context.repo.repo,
              issue_number: context.payload.number,
              body: '- [ ] 単体テスト完了\n- [ ] 結合テスト完了\n- [ ] 検証環境へのデプロイ完了\n- [ ] 検証環境での動作完了'
            })

github.issues.createComment となっていますが、IssuesとPRはベースが同じとなっているためか問題なく動作します。

あとがき

DependaBotを使うことで脆弱性を察知するためのコストを効率よく削減できます。更に今回挙げたようなプロジェクト向け設定を追加し、効率よく且つ安全な運用に活用するのも手です。