MCPcopy Index your code
hub / github.com/cli/cli / RepoLabels

Function RepoLabels

api/queries_repo.go:1413–1448  ·  view source on GitHub ↗

RepoLabels fetches all the labels in a repository

(client *Client, repo ghrepo.Interface)

Source from the content-addressed store, hash-verified

1411
1412// RepoLabels fetches all the labels in a repository
1413func RepoLabels(client *Client, repo ghrepo.Interface) ([]RepoLabel, error) {
1414 type responseData struct {
1415 Repository struct {
1416 Labels struct {
1417 Nodes []RepoLabel
1418 PageInfo struct {
1419 HasNextPage bool
1420 EndCursor string
1421 }
1422 } `graphql:"labels(first: 100, orderBy: {field: NAME, direction: ASC}, after: $endCursor)"`
1423 } `graphql:"repository(owner: $owner, name: $name)"`
1424 }
1425
1426 variables := map[string]interface{}{
1427 "owner": githubv4.String(repo.RepoOwner()),
1428 "name": githubv4.String(repo.RepoName()),
1429 "endCursor": (*githubv4.String)(nil),
1430 }
1431
1432 var labels []RepoLabel
1433 for {
1434 var query responseData
1435 err := client.Query(repo.RepoHost(), "RepositoryLabelList", &query, variables)
1436 if err != nil {
1437 return nil, err
1438 }
1439
1440 labels = append(labels, query.Repository.Labels.Nodes...)
1441 if !query.Repository.Labels.PageInfo.HasNextPage {
1442 break
1443 }
1444 variables["endCursor"] = githubv4.String(query.Repository.Labels.PageInfo.EndCursor)
1445 }
1446
1447 return labels, nil
1448}
1449
1450type RepoMilestone struct {
1451 ID string

Callers 1

RepoMetadataFunction · 0.85

Calls 5

RepoOwnerMethod · 0.65
RepoNameMethod · 0.65
QueryMethod · 0.65
RepoHostMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected