Open3

【Github Actions】dependabot運用について

heyhey1028heyhey1028

モチベーション

dependabotがPRを自動作成する際、特定のユーザーからランダムで一人選び自動でアサインして欲しい。理由としてはdependabotのPRが有志ベースの場合、放置され気味になる為。

アプローチ

  • github actionsにて、dependabotのPR自動作成イベントに対してフックする
  • 特定のユーザーからランダムで1人選び自動でアサインするアクションズを走らせる
heyhey1028heyhey1028

実装

ドラフト(未検証) でも多分これで動くはず

dependabot_auto_assign.yaml
name: Dependabot auto-assign
on: pull_request_target

permissions:
  pull-requests: write
  contents: write
  
jobs:
  dependabot:
    runs-on: ubuntu-latest
    if: ${{ github.actor == 'dependabot[bot]' }}
    timeout-minutes: 5
    steps:
      - uses: actions/github-script@v6
        with:
          script: |
            const names = [
              // MEMO: change members accordingly
              'foo-',
              'bar-',
              'baz-',
            ]
            const index = Math.floor(Math.random() * names.length)
            const assignee = names[index]
            github.rest.issues.addAssignees({
              issue_number: context.issue.number,
              owner: context.repo.owner,
              repo: context.repo.repo,
              assignees: [assignee]
            })
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        if: ${{ toJSON(github.event.pull_request.assignees) == '[]' }}

https://gist.github.com/heyhey1028/ea2d60455d5bf01dab394f8fbce23063