Skip to content

Requesting team as reviewer doesn't respect auto assignment upon PR creation #308

Open
@uccmen

Description

@uccmen

Describe the bug
My team has auto-assignment enabled. However, when requesting team as reviewer in a workflow step, it doesn't behave as documented.

When you enable auto assignment, any time your team has been requested to review a pull request, the team is removed as a reviewer and a specified subset of team members are assigned in the team's place.

github.rest.pulls.requestReviewers({
    owner: context.repo.owner,
    repo: context.repo.repo,
    pull_number: context.payload.pull_request.number,
    team_reviewers: ["awesomeTeamSlug"]
});

To Reproduce
Steps to reproduce the behavior:

  1. Enable auto-assignment with Round Robin strategy for your team on Github
  2. Create a workflow file that requests your team as reviewer when a PR is created in a repo
name: Sample workflow

on:
  pull_request:
    types:
      - opened
      - reopened

permissions:
  pull-requests: write

jobs:
  assign:
    runs-on: ubuntu-latest
    steps:
      - name: Set team as reviewer
        uses: actions/github-script@v6
        with:
          github-token: ${{inputs.custom-github-token}} # need a PAT to add team as reviewer
          script: |
            github.rest.pulls.requestReviewers({
              owner: context.repo.owner,
              repo: context.repo.repo,
              pull_number: context.payload.pull_request.number,
              team_reviewers: ["awesomeTeamSlug"]
            });
  1. Make any change and open a PR
  2. Observe that the team as an entity is assigned to the PR instead of a specified subset of team member.

Expected behavior

  • "the team is removed as a reviewer and a specified subset of team members are assigned in the team's place"

Additional context
This bug/odd behavior seems to only occur when PR is initially created. If I configure the workflow to run upon PR reopened, it works as expected.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions