X Tutup
Skip to content

Commit d70358e

Browse files
committed
Support GitHub Team in requested reviewers
1 parent 502f670 commit d70358e

File tree

5 files changed

+24
-4
lines changed

5 files changed

+24
-4
lines changed

api/queries_pr.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ type PullRequest struct {
6666
RequestedReviewer struct {
6767
TypeName string `json:"__typename"`
6868
Login string
69+
Name string
6970
}
7071
}
7172
TotalCount int
@@ -373,6 +374,9 @@ func PullRequestByNumber(client *Client, repo ghrepo.Interface, number int) (*Pu
373374
...on User {
374375
login
375376
}
377+
...on Team {
378+
name
379+
}
376380
}
377381
}
378382
totalCount
@@ -470,6 +474,9 @@ func PullRequestForBranch(client *Client, repo ghrepo.Interface, baseBranch, hea
470474
...on User {
471475
login
472476
}
477+
...on Team {
478+
name
479+
}
473480
}
474481
}
475482
totalCount

command/pr.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -431,6 +431,9 @@ func prReviewerList(pr api.PullRequest) string {
431431
return reviewerList
432432
}
433433

434+
// Ref. https://developer.github.com/v4/union/requestedreviewer/
435+
const teamTypeName = "Team"
436+
434437
// parseReviewers parses given Reviews and ReviewRequests
435438
func parseReviewers(pr api.PullRequest) []*reviewerState {
436439
reviewerStates := make(map[string]*reviewerState)
@@ -446,8 +449,12 @@ func parseReviewers(pr api.PullRequest) []*reviewerState {
446449

447450
// Overwrite reviewer's state if a review request for the same reviewer exists.
448451
for _, reviewRequest := range pr.ReviewRequests.Nodes {
449-
reviewerStates[reviewRequest.RequestedReviewer.Login] = &reviewerState{
450-
Name: reviewRequest.RequestedReviewer.Login,
452+
name := reviewRequest.RequestedReviewer.Login
453+
if reviewRequest.RequestedReviewer.TypeName == teamTypeName {
454+
name = reviewRequest.RequestedReviewer.Name
455+
}
456+
reviewerStates[name] = &reviewerState{
457+
Name: name,
451458
State: requestedReviewState,
452459
}
453460
}

command/pr_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -442,7 +442,7 @@ func TestPRView_Preview(t *testing.T) {
442442
fixture: "../test/fixtures/prViewPreviewWithReviewersByNumber.json",
443443
expectedOutputs: []string{
444444
`Blueberries are from a fork`,
445-
`Reviewers: DEF \(Commented\), def \(Changes requested\), xyz \(Approved\), 123 \(Requested\), abc \(Requested\)\n`,
445+
`Reviewers: DEF \(Commented\), def \(Changes requested\), xyz \(Approved\), 123 \(Requested\), Team 1 \(Requested\), abc \(Requested\)\n`,
446446
`blueberries taste good`,
447447
`View this pull request on GitHub: https://github.com/OWNER/REPO/pull/12\n`,
448448
},

test/fixtures/prViewPreviewWithMetadataByNumber.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"nodes": [
1515
{
1616
"requestedReviewer": {
17-
"__typename": "user",
17+
"__typename": "User",
1818
"login": "1"
1919
}
2020
}

test/fixtures/prViewPreviewWithReviewersByNumber.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,12 @@
1818
"login": "123"
1919
}
2020
},
21+
{
22+
"requestedReviewer": {
23+
"__typename": "Team",
24+
"name": "Team 1"
25+
}
26+
},
2127
{
2228
"requestedReviewer": {
2329
"__typename": "user",

0 commit comments

Comments
 (0)
X Tutup