Support GitHub Team in requested reviewers
This commit is contained in:
parent
502f6709af
commit
d70358ea34
5 changed files with 24 additions and 4 deletions
|
|
@ -66,6 +66,7 @@ type PullRequest struct {
|
|||
RequestedReviewer struct {
|
||||
TypeName string `json:"__typename"`
|
||||
Login string
|
||||
Name string
|
||||
}
|
||||
}
|
||||
TotalCount int
|
||||
|
|
@ -373,6 +374,9 @@ func PullRequestByNumber(client *Client, repo ghrepo.Interface, number int) (*Pu
|
|||
...on User {
|
||||
login
|
||||
}
|
||||
...on Team {
|
||||
name
|
||||
}
|
||||
}
|
||||
}
|
||||
totalCount
|
||||
|
|
@ -470,6 +474,9 @@ func PullRequestForBranch(client *Client, repo ghrepo.Interface, baseBranch, hea
|
|||
...on User {
|
||||
login
|
||||
}
|
||||
...on Team {
|
||||
name
|
||||
}
|
||||
}
|
||||
}
|
||||
totalCount
|
||||
|
|
|
|||
|
|
@ -431,6 +431,9 @@ func prReviewerList(pr api.PullRequest) string {
|
|||
return reviewerList
|
||||
}
|
||||
|
||||
// Ref. https://developer.github.com/v4/union/requestedreviewer/
|
||||
const teamTypeName = "Team"
|
||||
|
||||
// parseReviewers parses given Reviews and ReviewRequests
|
||||
func parseReviewers(pr api.PullRequest) []*reviewerState {
|
||||
reviewerStates := make(map[string]*reviewerState)
|
||||
|
|
@ -446,8 +449,12 @@ func parseReviewers(pr api.PullRequest) []*reviewerState {
|
|||
|
||||
// Overwrite reviewer's state if a review request for the same reviewer exists.
|
||||
for _, reviewRequest := range pr.ReviewRequests.Nodes {
|
||||
reviewerStates[reviewRequest.RequestedReviewer.Login] = &reviewerState{
|
||||
Name: reviewRequest.RequestedReviewer.Login,
|
||||
name := reviewRequest.RequestedReviewer.Login
|
||||
if reviewRequest.RequestedReviewer.TypeName == teamTypeName {
|
||||
name = reviewRequest.RequestedReviewer.Name
|
||||
}
|
||||
reviewerStates[name] = &reviewerState{
|
||||
Name: name,
|
||||
State: requestedReviewState,
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -442,7 +442,7 @@ func TestPRView_Preview(t *testing.T) {
|
|||
fixture: "../test/fixtures/prViewPreviewWithReviewersByNumber.json",
|
||||
expectedOutputs: []string{
|
||||
`Blueberries are from a fork`,
|
||||
`Reviewers: DEF \(Commented\), def \(Changes requested\), xyz \(Approved\), 123 \(Requested\), abc \(Requested\)\n`,
|
||||
`Reviewers: DEF \(Commented\), def \(Changes requested\), xyz \(Approved\), 123 \(Requested\), Team 1 \(Requested\), abc \(Requested\)\n`,
|
||||
`blueberries taste good`,
|
||||
`View this pull request on GitHub: https://github.com/OWNER/REPO/pull/12\n`,
|
||||
},
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
"nodes": [
|
||||
{
|
||||
"requestedReviewer": {
|
||||
"__typename": "user",
|
||||
"__typename": "User",
|
||||
"login": "1"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,6 +18,12 @@
|
|||
"login": "123"
|
||||
}
|
||||
},
|
||||
{
|
||||
"requestedReviewer": {
|
||||
"__typename": "Team",
|
||||
"name": "Team 1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"requestedReviewer": {
|
||||
"__typename": "user",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue