MCPcopy Create free account
hub / github.com/cli/cli / IssueGraphQL

Function IssueGraphQL

api/query_builder.go:385–465  ·  view source on GitHub ↗

IssueGraphQL constructs a GraphQL query fragment for a set of issue fields.

(fields []string)

Source from the content-addressed store, hash-verified

383
384// IssueGraphQL constructs a GraphQL query fragment for a set of issue fields.
385func IssueGraphQL(fields []string) string {
386 var q []string
387 for _, field := range fields {
388 switch field {
389 case "author":
390 q = append(q, `author{login,...on User{id,name}}`)
391 case "mergedBy":
392 q = append(q, `mergedBy{login,...on User{id,name}}`)
393 case "headRepositoryOwner":
394 q = append(q, `headRepositoryOwner{id,login,...on User{name}}`)
395 case "headRepository":
396 q = append(q, `headRepository{id,name,nameWithOwner}`)
397 case "assignees":
398 q = append(q, `assignees(first:100){nodes{id,login,name,databaseId},totalCount}`)
399 case "assignedActors":
400 q = append(q, assignedActors)
401 case "labels":
402 q = append(q, `labels(first:100){nodes{id,name,description,color},totalCount}`)
403 case "projectCards":
404 q = append(q, `projectCards(first:100){nodes{project{name}column{name}},totalCount}`)
405 case "projectItems":
406 q = append(q, `projectItems(first:100){nodes{id, project{id,title}, status:fieldValueByName(name: "Status") { ... on ProjectV2ItemFieldSingleSelectValue{optionId,name}}},totalCount}`)
407 case "milestone":
408 q = append(q, `milestone{number,title,description,dueOn}`)
409 case "repository":
410 // Selects every field PRRepository declares.
411 q = append(q, `repository{id,name,nameWithOwner,databaseId,viewerPermission}`)
412 case "reactionGroups":
413 q = append(q, `reactionGroups{content,users{totalCount}}`)
414 case "mergeCommit":
415 q = append(q, `mergeCommit{oid}`)
416 case "potentialMergeCommit":
417 q = append(q, `potentialMergeCommit{oid}`)
418 case "autoMergeRequest":
419 q = append(q, autoMergeRequest)
420 case "comments":
421 q = append(q, issueComments)
422 case "lastComment": // pseudo-field
423 q = append(q, issueCommentLast)
424 case "reviewRequests":
425 q = append(q, prReviewRequests)
426 case "reviews":
427 q = append(q, prReviews)
428 case "latestReviews":
429 q = append(q, prLatestReviews)
430 case "files":
431 q = append(q, prFiles)
432 case "commits":
433 q = append(q, prCommits)
434 case "lastCommit": // pseudo-field
435 q = append(q, `commits(last:1){nodes{commit{oid}}}`)
436 case "commitsCount": // pseudo-field
437 q = append(q, `commits{totalCount}`)
438 case "requiresStrictStatusChecks": // pseudo-field
439 q = append(q, `baseRef{branchProtectionRule{requiresStrictStatusChecks}}`)
440 case "statusCheckRollup":
441 q = append(q, StatusCheckRollupGraphQLWithoutCountByState(""))
442 case "statusCheckRollupWithCountByState": // pseudo-field

Callers 6

listIssuesFunction · 0.92
searchIssuesFunction · 0.92
FindIssueOrPRFunction · 0.92
IssueStatusFunction · 0.85
PullRequestGraphQLFunction · 0.85
TestIssueGraphQLFunction · 0.85

Tested by 1

TestIssueGraphQLFunction · 0.68