MCPcopy
hub / github.com/cli/cli / RequestableReviewersForCompletion

Function RequestableReviewersForCompletion

pkg/cmd/pr/shared/completion.go:14–42  ·  view source on GitHub ↗
(httpClient *http.Client, repo ghrepo.Interface)

Source from the content-addressed store, hash-verified

12)
13
14func RequestableReviewersForCompletion(httpClient *http.Client, repo ghrepo.Interface) ([]string, error) {
15 client := api.NewClientFromHTTP(api.NewCachedHTTPClient(httpClient, time.Minute*2))
16
17 metadata, err := api.RepoMetadata(client, repo, api.RepoMetadataInput{
18 Reviewers: true,
19 TeamReviewers: true,
20 })
21 if err != nil {
22 return nil, err
23 }
24
25 results := []string{}
26 for _, user := range metadata.AssignableUsers {
27 if strings.EqualFold(user.Login(), metadata.CurrentLogin) {
28 continue
29 }
30 if user.Name() != "" {
31 results = append(results, fmt.Sprintf("%s\t%s", user.Login(), user.Name()))
32 } else {
33 results = append(results, user.Login())
34 }
35 }
36 for _, team := range metadata.Teams {
37 results = append(results, fmt.Sprintf("%s/%s", repo.RepoOwner(), team.Slug))
38 }
39
40 sort.Strings(results)
41 return results, nil
42}

Callers 3

NewCmdEditFunction · 0.92

Calls 6

NewClientFromHTTPFunction · 0.92
NewCachedHTTPClientFunction · 0.92
RepoMetadataFunction · 0.92
LoginMethod · 0.65
NameMethod · 0.65
RepoOwnerMethod · 0.65

Tested by 1