3
2

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.

GitHubActionsでプルリクエストのReviewersとAssigneesを自動で設定させる

Posted at

はじめに

過去、以下の記事で調べたことを応用して、使えそうな汎用GitHubActionsを実際に作ってみるというのをやってみました。

今回作ったもの

プルリクエストを作成後にReviewersとAssigneeを逐次設定するのですが、わたしのプロジェクトにおいて毎回同じ設定なので自動化できないかなというところで、以下の2つのActionを組み合わせました。

動作

以下の図のようにプルリクエストをAさんが作成すると、Assigneesに自動で作成者のAさん本人と
事前に設定していた yus-sasaki(私) というメンバーがReviewersとAssigneesの両方に設定されます。
※設定はReviewersとAssigneesに対して個別にできます。以下の例は両方に私を設定した感じです。

image.png

作成したymlファイル

設定ファイルとAction本体とで2つファイルがあります。今回は以下のように配置してます。
.githubフォルダ
・workflowsフォルダ - autoassignees.yml
・auto_assign_myteams.yml

アクション本体ですが、2つのActionを呼んでいるのみです。

autoassignees.yml
name: 'Auto Assign'
on:
  pull_request:
    types: [opened, ready_for_review]
jobs:
  add-reviews:
    runs-on: ubuntu-latest
    steps:
      - name: Assignees and Reviewers to PR
        uses: kentaro-m/auto-assign-action@v1.2.1
        with:
          repo-token: "${{ secrets.GITHUB_TOKEN }}"
          configuration-path: ".github/auto_assign_myteams.yml"
      - name: Assign author to PR
        uses: technote-space/assign-author@v1

以下が Reviewers と Assignee の設定になります。
reviewers:assignees:にGithubのメンバを追加すれば、そのメンバが設定されるようになります。
他の項目は基本いじらなくていいと思います。

auto_assign_myteams.yml
# プルリクエスト作成者は別途Assigneesに追加されるようになっています。

# プルリクエストにReviewersを追加するには true に設定します。
addReviewers: true

# プルリクエストにAssigneesを追加する場合は true に設定します。
addAssignees: true

# Reviewerに設定するメンバを追加します。
reviewers:
  - yus-sasaki

# Reviewersに追加するメンバ数を指定できます。
# 追加メンバより設定数が少ない場合、ランダムで追加されます。
# 0に設定すると全てのReviewersのメンバが追加されます。
numberOfReviewers: 0

# Assigneesrに設定するメンバを追加します。
assignees:
  - yus-sasaki

# Assigneessに追加するメンバ数を指定できます。
# 追加メンバより設定数が少ない場合、ランダムで追加されます。
# 0に設定すると全てのAssigneesのメンバが追加されます。
numberOfAssignees: 0

おわり

結構いろんな方が便利なGithubActionsを作成してくれてますので、さらにそれらをプロジェクトのかたちに応用していけば小さな手間をどんどん自動化でき、より効率化できそうですね。

3
2
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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?