Simplify container registry query in tests to avoid timeouts
In this MR, we simplify the query in the spec/requests/api/graphql/container_repository/container_repository_details_spec.rb
file to avoid timeouts that cause our tests to be flaky in the pipeline. This flakiness has been reported in several issues such as:
- #454097 (closed)
- #454038 (closed)
- #454049 (closed)
- #453989 (closed)
- #452485 (closed)
- #452473 (closed)
The cause of the timeout is the very huge query that is a result of having all_graphql_fields_for
with a max_depth: 4
. This causes a huge query with a lot of unrelated fields. In spec/support/helpers/graphql_helpers.rb
, we can see a note when using this:
def all_graphql_fields_for(class_name, max_depth: 3, excluded: [])
# pulling _all_ fields can generate a _huge_ query (like complexity 180,000),
# and significantly increase spec runtime. so limit the depth by default
...
end
The original query
with max_depth: 4
has 3900+ lines:
Original `query`
{
containerRepository(id: "gid://gitlab/ContainerRepository/12") {
tags {
edges {
node {
createdAt
digest
location
name
path
publishedAt
revision
shortRevision
totalSize
}
cursor
}
nodes {
userPermissions {
destroyContainerRepositoryTag
}
createdAt
digest
location
name
path
publishedAt
referrers {
artifactType
digest
}
revision
shortRevision
totalSize
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
lastPublishedAt
userPermissions {
destroyContainerRepository
}
createdAt
expirationPolicyCleanupStatus
expirationPolicyStartedAt
id
lastCleanupDeletedTagsCount
location
migrationState
name
path
project {
userPermissions {
changeNamespace
changeVisibilityLevel
renameProject
removeProject
archiveProject
removeForkProject
removePages
readProject
createMergeRequestIn
readWiki
readProjectMember
createIssue
uploadFile
readCycleAnalytics
downloadCode
downloadWikiCode
forkProject
readCommitStatus
requestAccess
createPipeline
createPipelineSchedule
createMergeRequestFrom
createWiki
pushCode
createDeployment
pushToDeleteProtectedBranch
adminWiki
adminProject
updatePages
adminRemoteMirror
createLabel
updateWiki
destroyWiki
createPages
destroyPages
readPagesContent
adminOperations
readMergeRequest
readDesign
createDesign
destroyDesign
readEnvironment
viewEditPage
createSnippet
adminPathLocks
}
id
ciConfigPathOrDefault
fullPath
path
organizationEditPath
incidentManagementTimelineEventTags {
id
name
}
name
nameWithNamespace
description
tagList
topics
httpUrlToRepo
sshUrlToRepo
webUrl
forksCount
starCount
createdAt
updatedAt
lastActivityAt
archived
visibility
lfsEnabled
maxAccessLevel {
integerValue
stringValue
}
mergeRequestsFfOnlyEnabled
sharedRunnersEnabled
serviceDeskEnabled
serviceDeskAddress
avatarUrl
jobsEnabled
isCatalogResource
publicJobs
openIssuesCount
openMergeRequestsCount
allowMergeOnSkippedPipeline
autocloseReferencedIssues
importStatus
jiraImportStatus
onlyAllowMergeIfAllDiscussionsAreResolved
onlyAllowMergeIfPipelineSucceeds
printingMergeRequestLinkEnabled
removeSourceBranchAfterMerge
requestAccessEnabled
squashReadOnly
suggestionCommitMessage
group {
userPermissions {
readGroup
createProjects
createCustomEmoji
removeGroup
}
webUrl
avatarUrl
createdAt
updatedAt
customEmoji {
count
}
shareWithGroupLock
projectCreationLevel
subgroupCreationLevel
requireTwoFactorAuthentication
twoFactorGracePeriod
autoDevopsEnabled
emailsDisabled
emailsEnabled
maxAccessLevel {
integerValue
stringValue
}
mentionsDisabled
parent {
webUrl
avatarUrl
createdAt
updatedAt
shareWithGroupLock
projectCreationLevel
subgroupCreationLevel
requireTwoFactorAuthentication
twoFactorGracePeriod
autoDevopsEnabled
emailsDisabled
emailsEnabled
mentionsDisabled
containerRepositoriesCount
dependencyProxyImageCount
dependencyProxyBlobCount
dependencyProxyTotalSize
dependencyProxyTotalSizeInBytes
dependencyProxyTotalSizeBytes
dependencyProxyImagePrefix
descendantGroupsCount
groupMembersCount
projectsCount
lockMathRenderingLimitsEnabled
mathRenderingLimitsEnabled
epicsEnabled
billableMembersCount
allowStaleRunnerPruning
enforceFreeUserCap
duoFeaturesEnabled
lockDuoFeaturesEnabled
markedForDeletionOn
isAdjournedDeletionEnabled
permanentDeletionDate
id
fullName
fullPath
name
path
crossProjectPipelineAvailable
description
lfsEnabled
requestAccessEnabled
visibility
sharedRunnersSetting
achievementsPath
descriptionHtml
additionalPurchasedStorageSize
totalRepositorySizeExcess
totalRepositorySize
containsLockedProjects
repositorySizeExcessProjectCount
actualRepositorySizeLimit
actualSizeLimit
storageSizeLimit
productAnalyticsStoredEventsLimit
}
issues {
weight
count
}
mergeRequests {
totalTimeToMerge
count
}
containerRepositoriesCount
packages {
count
}
dependencyProxySetting {
enabled
}
dependencyProxyImageCount
dependencyProxyBlobCount
dependencyProxyTotalSize
dependencyProxyTotalSizeInBytes
dependencyProxyTotalSizeBytes
dependencyProxyImagePrefix
dependencyProxyImageTtlPolicy {
createdAt
enabled
ttl
updatedAt
}
labels {
count
}
timelogs {
totalSpentTime
count
}
descendantGroupsCount
groupMembersCount
projectsCount
ciVariables {
limit
}
runners {
count
}
organizationStateCounts {
inactive
active
all
}
contactStateCounts {
inactive
active
all
}
releases {
count
}
workItemStateCounts {
all
closed
opened
}
autocompleteUsers {
id
bot
username
name
state
email
publicEmail
commitEmail
avatarUrl
webUrl
webPath
groupCount
location
gitpodEnabled
preferencesGitpodPath
profileEnableGitpodPath
bio
linkedin
twitter
discord
organization
jobTitle
createdAt
lastActivityOn
pronouns
}
lockMathRenderingLimitsEnabled
mathRenderingLimitsEnabled
epicsEnabled
epic {
confidential
description
id
iid
state
title
startDate
startDateFixed
startDateFromInheritedSource
startDateFromMilestones
startDateIsFixed
dueDate
dueDateFixed
dueDateFromInheritedSource
dueDateFromMilestones
dueDateIsFixed
downvotes
upvotes
userDiscussionsCount
userNotesCount
closedAt
createdAt
updatedAt
hasChildren
hasIssues
hasParent
webPath
webUrl
relationPath
relativePosition
reference
subscribed
color
textColor
blocked
blockingCount
blockedByCount
titleHtml
descriptionHtml
}
epics {
count
}
vulnerabilitySeveritiesCount {
info
unknown
low
medium
high
critical
}
vulnerabilityGrades {
grade
count
}
billableMembersCount
doraPerformanceScoreCounts {
totalProjectsCount
noDoraDataProjectsCount
}
allowStaleRunnerPruning
clusterAgents {
count
}
enforceFreeUserCap
aiMetrics {
codeContributorsCount
codeSuggestionsContributorsCount
codeSuggestionsUsageRate
}
savedReplies {
count
}
duoFeaturesEnabled
lockDuoFeaturesEnabled
markedForDeletionOn
isAdjournedDeletionEnabled
permanentDeletionDate
id
fullName
fullPath
name
path
crossProjectPipelineAvailable
description
lfsEnabled
requestAccessEnabled
visibility
rootStorageStatistics {
buildArtifactsSize
containerRegistrySize
containerRegistrySizeIsEstimated
dependencyProxySize
lfsObjectsSize
packagesSize
pipelineArtifactsSize
registrySizeEstimated
repositorySize
snippetsSize
storageSize
uploadsSize
wikiSize
costFactoredStorageSize
}
projects {
count
}
packageSettings {
genericDuplicateExceptionRegex
genericDuplicatesAllowed
mavenDuplicateExceptionRegex
mavenDuplicatesAllowed
mavenPackageRequestsForwarding
npmPackageRequestsForwarding
nugetDuplicateExceptionRegex
nugetDuplicatesAllowed
pypiPackageRequestsForwarding
terraformModuleDuplicateExceptionRegex
terraformModuleDuplicatesAllowed
lockMavenPackageRequestsForwarding
lockNpmPackageRequestsForwarding
lockPypiPackageRequestsForwarding
mavenPackageRequestsForwardingLocked
npmPackageRequestsForwardingLocked
pypiPackageRequestsForwardingLocked
nugetSymbolServerEnabled
}
sharedRunnersSetting
achievements {
count
}
achievementsPath
pagesDeployments {
count
}
descriptionHtml
additionalPurchasedStorageSize
totalRepositorySizeExcess
totalRepositorySize
containsLockedProjects
repositorySizeExcessProjectCount
actualRepositorySizeLimit
actualSizeLimit
storageSizeLimit
securityPolicyProject {
id
ciConfigPathOrDefault
fullPath
path
organizationEditPath
name
nameWithNamespace
description
tagList
topics
httpUrlToRepo
sshUrlToRepo
webUrl
forksCount
starCount
createdAt
updatedAt
lastActivityAt
archived
visibility
lfsEnabled
mergeRequestsFfOnlyEnabled
sharedRunnersEnabled
serviceDeskEnabled
serviceDeskAddress
avatarUrl
jobsEnabled
isCatalogResource
publicJobs
openIssuesCount
openMergeRequestsCount
allowMergeOnSkippedPipeline
autocloseReferencedIssues
importStatus
jiraImportStatus
onlyAllowMergeIfAllDiscussionsAreResolved
onlyAllowMergeIfPipelineSucceeds
printingMergeRequestLinkEnabled
removeSourceBranchAfterMerge
requestAccessEnabled
squashReadOnly
suggestionCommitMessage
containerRepositoriesCount
mergeCommitTemplate
squashCommitTemplate
allowsMultipleMergeRequestAssignees
allowsMultipleMergeRequestReviewers
isForked
protectableBranches
issuesEnabled
mergeRequestsEnabled
wikiEnabled
snippetsEnabled
containerRegistryEnabled
descriptionHtml
securityDashboardPath
repositorySizeExcess
actualRepositorySizeLimit
onlyAllowMergeIfAllStatusChecksPassed
duoFeaturesEnabled
trackingKey
productAnalyticsInstrumentationKey
mergeRequestsDisableCommittersApproval
hasJiraVulnerabilityIssueCreationEnabled
preventMergeWithoutJiraIssueEnabled
markedForDeletionOn
isAdjournedDeletionEnabled
permanentDeletionDate
}
productAnalyticsStoredEventsLimit
}
namespace {
id
fullName
fullPath
name
path
crossProjectPipelineAvailable
description
lfsEnabled
requestAccessEnabled
visibility
rootStorageStatistics {
buildArtifactsSize
containerRegistrySize
containerRegistrySizeIsEstimated
dependencyProxySize
lfsObjectsSize
packagesSize
pipelineArtifactsSize
registrySizeEstimated
repositorySize
snippetsSize
storageSize
uploadsSize
wikiSize
costFactoredStorageSize
}
projects {
count
}
packageSettings {
genericDuplicateExceptionRegex
genericDuplicatesAllowed
mavenDuplicateExceptionRegex
mavenDuplicatesAllowed
mavenPackageRequestsForwarding
npmPackageRequestsForwarding
nugetDuplicateExceptionRegex
nugetDuplicatesAllowed
pypiPackageRequestsForwarding
terraformModuleDuplicateExceptionRegex
terraformModuleDuplicatesAllowed
lockMavenPackageRequestsForwarding
lockNpmPackageRequestsForwarding
lockPypiPackageRequestsForwarding
mavenPackageRequestsForwardingLocked
npmPackageRequestsForwardingLocked
pypiPackageRequestsForwardingLocked
nugetSymbolServerEnabled
}
sharedRunnersSetting
achievements {
count
}
achievementsPath
pagesDeployments {
count
}
descriptionHtml
additionalPurchasedStorageSize
totalRepositorySizeExcess
totalRepositorySize
containsLockedProjects
repositorySizeExcessProjectCount
actualRepositorySizeLimit
actualSizeLimit
storageSizeLimit
securityPolicyProject {
id
ciConfigPathOrDefault
fullPath
path
organizationEditPath
name
nameWithNamespace
description
tagList
topics
httpUrlToRepo
sshUrlToRepo
webUrl
forksCount
starCount
createdAt
updatedAt
lastActivityAt
archived
visibility
lfsEnabled
mergeRequestsFfOnlyEnabled
sharedRunnersEnabled
serviceDeskEnabled
serviceDeskAddress
avatarUrl
jobsEnabled
isCatalogResource
publicJobs
openIssuesCount
openMergeRequestsCount
allowMergeOnSkippedPipeline
autocloseReferencedIssues
importStatus
jiraImportStatus
onlyAllowMergeIfAllDiscussionsAreResolved
onlyAllowMergeIfPipelineSucceeds
printingMergeRequestLinkEnabled
removeSourceBranchAfterMerge
requestAccessEnabled
squashReadOnly
suggestionCommitMessage
containerRepositoriesCount
mergeCommitTemplate
squashCommitTemplate
allowsMultipleMergeRequestAssignees
allowsMultipleMergeRequestReviewers
isForked
protectableBranches
issuesEnabled
mergeRequestsEnabled
wikiEnabled
snippetsEnabled
containerRegistryEnabled
descriptionHtml
securityDashboardPath
repositorySizeExcess
actualRepositorySizeLimit
onlyAllowMergeIfAllStatusChecksPassed
duoFeaturesEnabled
trackingKey
productAnalyticsInstrumentationKey
mergeRequestsDisableCommittersApproval
hasJiraVulnerabilityIssueCreationEnabled
preventMergeWithoutJiraIssueEnabled
markedForDeletionOn
isAdjournedDeletionEnabled
permanentDeletionDate
}
productAnalyticsStoredEventsLimit
}
statistics {
commitCount
buildArtifactsSize
containerRegistrySize
lfsObjectsSize
packagesSize
pipelineArtifactsSize
repositorySize
snippetsSize
storageSize
uploadsSize
wikiSize
costFactoredStorageSize
costFactoredRepositorySize
costFactoredBuildArtifactsSize
costFactoredLfsObjectsSize
costFactoredPackagesSize
costFactoredSnippetsSize
costFactoredWikiSize
}
statisticsDetailsPaths {
repository
wiki
buildArtifacts
packages
snippets
containerRegistry
}
repository {
diskPath
empty
exists
rootRef
codeOwnersPath
validateCodeownerFile {
total
}
}
mergeRequests {
edges {
cursor
}
nodes {
createdAt
description
diffHeadSha
draft
id
iid
mergeWhenPipelineSucceeds
mergedAt
projectId
sourceBranch
sourceBranchProtected
sourceProjectId
state
targetBranch
targetProjectId
title
updatedAt
allowCollaboration
defaultMergeCommitMessage
defaultSquashCommitMessage
divergedFromTargetBranch
downvotes
forceRemoveSourceBranch
inProgressMergeCommitSha
mergeCommitSha
mergeError
mergeOngoing
mergeStatus
mergeStatusEnum
detailedMergeStatus
mergeableDiscussionsState
rebaseCommitSha
rebaseInProgress
shouldBeRebased
shouldRemoveSourceBranch
sourceBranchExists
targetBranchExists
upvotes
userDiscussionsCount
userNotesCount
webPath
webUrl
discussionLocked
humanTimeEstimate
humanTotalTimeSpent
reference
autoMergeEnabled
commitCount
conflicts
subscribed
supportsLockOnMerge
timeEstimate
totalTimeSpent
approved
autoMergeStrategy
availableAutoMergeStrategies
hasCi
mergeable
securityAutoFix
squash
squashOnMerge
preparedAt
allowsMultipleAssignees
allowsMultipleReviewers
titleHtml
descriptionHtml
approvalsLeft
approvalsRequired
mergeTrainsCount
hasSecurityReports
securityReportsUpToDateOnTargetBranch
}
totalTimeToMerge
count
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
issues {
edges {
cursor
}
nodes {
description
id
iid
state
title
reference
confidential
discussionLocked
downvotes
dueDate
hidden
mergeRequestsCount
relativePosition
upvotes
userDiscussionsCount
userNotesCount
webPath
webUrl
emailsDisabled
emailsEnabled
humanTimeEstimate
humanTotalTimeSpent
subscribed
timeEstimate
totalTimeSpent
closedAt
createdAt
updatedAt
type
severity
moved
createNoteEmail
projectId
escalationStatus
externalAuthor
titleHtml
descriptionHtml
hasEpic
hasParent
weight
blocked
blockingCount
blockedByCount
healthStatus
statusPagePublishedIncident
slaDueAt
}
weight
count
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
workItems {
edges {
cursor
}
nodes {
closedAt
confidential
createdAt
description
id
iid
lockVersion
state
title
updatedAt
createNoteEmail
reference
archived
titleHtml
descriptionHtml
webUrl
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
workItemStateCounts {
all
closed
opened
}
issueStatusCounts {
opened
closed
all
}
milestones {
edges {
cursor
}
nodes {
id
iid
title
description
state
expired
upcoming
webPath
dueDate
startDate
createdAt
updatedAt
projectMilestone
groupMilestone
subgroupMilestone
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
projectMembers {
edges {
cursor
}
nodes {
id
createdAt
updatedAt
expiresAt
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
environments {
edges {
cursor
}
nodes {
name
id
state
path
slug
externalUrl
kubernetesNamespace
fluxResourcePath
createdAt
updatedAt
autoStopAt
autoDeleteAt
tier
environmentType
deploymentsDisplayCount
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
environment {
userPermissions {
updateEnvironment
destroyEnvironment
stopEnvironment
}
name
id
state
path
slug
externalUrl
kubernetesNamespace
fluxResourcePath
createdAt
updatedAt
autoStopAt
autoDeleteAt
tier
environmentType
deploymentsDisplayCount
latestOpenedMostSevereAlert {
id
iid
issueIid
title
description
severity
status
service
monitoringTool
hosts
startedAt
endedAt
eventCount
details
createdAt
updatedAt
metricsDashboardUrl
runbook
detailsUrl
webUrl
}
deployFreezes {
status
startCron
endCron
cronTimezone
startTime
endTime
}
clusterAgent {
createdAt
id
name
updatedAt
webPath
}
}
nestedEnvironments {
edges {
cursor
}
nodes {
name
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
issue {
userPermissions {
readIssue
adminIssue
updateIssue
reopenIssue
readDesign
createDesign
destroyDesign
createNote
updateDesign
adminIssueRelation
}
description
id
iid
state
title
reference
author {
id
bot
username
name
state
email
publicEmail
commitEmail
avatarUrl
webUrl
webPath
groupCount
location
gitpodEnabled
preferencesGitpodPath
profileEnableGitpodPath
bio
linkedin
twitter
discord
organization
jobTitle
createdAt
lastActivityOn
pronouns
}
assignees {
count
}
updatedBy {
id
bot
username
name
state
email
publicEmail
commitEmail
avatarUrl
webUrl
webPath
groupCount
location
gitpodEnabled
preferencesGitpodPath
profileEnableGitpodPath
bio
linkedin
twitter
discord
organization
jobTitle
createdAt
lastActivityOn
pronouns
}
labels {
count
}
milestone {
id
iid
title
description
state
expired
upcoming
webPath
dueDate
startDate
createdAt
updatedAt
projectMilestone
groupMilestone
subgroupMilestone
}
confidential
discussionLocked
downvotes
dueDate
hidden
mergeRequestsCount
relatedMergeRequests {
totalTimeToMerge
count
}
relativePosition
upvotes
userDiscussionsCount
userNotesCount
webPath
webUrl
emailsDisabled
emailsEnabled
humanTimeEstimate
humanTotalTimeSpent
participants {
count
}
subscribed
timeEstimate
totalTimeSpent
closedAt
createdAt
updatedAt
taskCompletionStatus {
completedCount
count
}
designCollection {
copyState
}
type
alertManagementAlert {
id
iid
issueIid
title
description
severity
status
service
monitoringTool
hosts
startedAt
endedAt
eventCount
details
createdAt
updatedAt
metricsDashboardUrl
runbook
detailsUrl
webUrl
}
severity
moved
movedTo {
description
id
iid
state
title
reference
confidential
discussionLocked
downvotes
dueDate
hidden
mergeRequestsCount
relativePosition
upvotes
userDiscussionsCount
userNotesCount
webPath
webUrl
emailsDisabled
emailsEnabled
humanTimeEstimate
humanTotalTimeSpent
subscribed
timeEstimate
totalTimeSpent
closedAt
createdAt
updatedAt
type
severity
moved
createNoteEmail
projectId
escalationStatus
externalAuthor
titleHtml
descriptionHtml
hasEpic
hasParent
weight
blocked
blockingCount
blockedByCount
healthStatus
statusPagePublishedIncident
slaDueAt
}
closedAsDuplicateOf {
description
id
iid
state
title
reference
confidential
discussionLocked
downvotes
dueDate
hidden
mergeRequestsCount
relativePosition
upvotes
userDiscussionsCount
userNotesCount
webPath
webUrl
emailsDisabled
emailsEnabled
humanTimeEstimate
humanTotalTimeSpent
subscribed
timeEstimate
totalTimeSpent
closedAt
createdAt
updatedAt
type
severity
moved
createNoteEmail
projectId
escalationStatus
externalAuthor
titleHtml
descriptionHtml
hasEpic
hasParent
weight
blocked
blockingCount
blockedByCount
healthStatus
statusPagePublishedIncident
slaDueAt
}
createNoteEmail
timelogs {
totalSpentTime
count
}
projectId
escalationStatus
externalAuthor
titleHtml
descriptionHtml
epic {
confidential
description
id
iid
state
title
startDate
startDateFixed
startDateFromInheritedSource
startDateFromMilestones
startDateIsFixed
dueDate
dueDateFixed
dueDateFromInheritedSource
dueDateFromMilestones
dueDateIsFixed
downvotes
upvotes
userDiscussionsCount
userNotesCount
closedAt
createdAt
updatedAt
hasChildren
hasIssues
hasParent
webPath
webUrl
relationPath
relativePosition
reference
subscribed
color
textColor
blocked
blockingCount
blockedByCount
titleHtml
descriptionHtml
}
hasEpic
hasParent
iteration {
id
iid
sequence
title
description
state
webPath
webUrl
scopedPath
scopedUrl
dueDate
startDate
createdAt
updatedAt
descriptionHtml
}
weight
blocked
blockingCount
blockedByCount
blockedByIssues {
weight
count
}
healthStatus
statusPagePublishedIncident
slaDueAt
metricImages {
id
iid
url
fileName
filePath
}
escalationPolicy {
id
name
description
}
notes {
count
}
commenters {
count
}
}
packages {
edges {
cursor
}
nodes {
id
createdAt
name
packageProtectionRuleExists
packageType
protectionRuleExists
status
statusMessage
updatedAt
version
}
count
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
packagesCleanupPolicy {
keepNDuplicatedPackageFiles
nextRunAt
}
packagesProtectionRules {
edges {
cursor
}
nodes {
id
packageNamePattern
packageType
pushProtectedUpToAccessLevel
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
jobs {
edges {
cursor
}
nodes {
allowFailure
duration
id
kind
name
status
tags
createdAt
erasedAt
finishedAt
queuedAt
scheduledAt
startedAt
queuedDuration
active
browseArtifactsPath
cancelable
commitPath
coverage
createdByTag
manualJob
playPath
playable
refName
refPath
retried
retryable
scheduled
schedulingType
shortSha
stuck
triggered
webPath
canPlayJob
failureMessage
aiFailureAnalysis
}
count
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
pipelines {
edges {
cursor
}
nodes {
id
iid
name
sha
beforeSha
complete
status
warnings
configSource
duration
queuedDuration
coverage
createdAt
updatedAt
startedAt
finishedAt
committedAt
retryable
cancelable
path
commitPath
active
usesNeeds
ref
refPath
mergeRequestEventType
totalJobs
failureReason
triggeredByPath
source
child
latest
refText
stuck
yamlErrors
yamlErrorMessages
trigger
computeMinutes
}
count
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
pipelineSchedules {
edges {
cursor
}
nodes {
id
description
active
nextRunAt
realNextRun
refForDisplay
forTag
editPath
ref
refPath
cron
cronTimezone
createdAt
updatedAt
}
count
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
pipelineTriggers {
edges {
cursor
}
nodes {
canAccessProject
description
hasTokenExposed
id
lastUsed
token
}
count
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
pipelineCounts {
running
pending
finished
all
}
ciVariables {
edges {
cursor
}
nodes {
environmentScope
protected
hidden
masked
description
id
key
raw
value
variableType
}
limit
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
inheritedCiVariables {
edges {
cursor
}
nodes {
id
key
description
raw
variableType
environmentScope
protected
masked
groupName
groupCiCdSettingsPath
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
ciCdSettings {
inboundJobTokenScopeEnabled
jobTokenScopeEnabled
keepLatestArtifact
mergePipelinesEnabled
project {
id
ciConfigPathOrDefault
fullPath
path
organizationEditPath
name
nameWithNamespace
description
tagList
topics
httpUrlToRepo
sshUrlToRepo
webUrl
forksCount
starCount
createdAt
updatedAt
lastActivityAt
archived
visibility
lfsEnabled
mergeRequestsFfOnlyEnabled
sharedRunnersEnabled
serviceDeskEnabled
serviceDeskAddress
avatarUrl
jobsEnabled
isCatalogResource
publicJobs
openIssuesCount
openMergeRequestsCount
allowMergeOnSkippedPipeline
autocloseReferencedIssues
importStatus
jiraImportStatus
onlyAllowMergeIfAllDiscussionsAreResolved
onlyAllowMergeIfPipelineSucceeds
printingMergeRequestLinkEnabled
removeSourceBranchAfterMerge
requestAccessEnabled
squashReadOnly
suggestionCommitMessage
containerRepositoriesCount
mergeCommitTemplate
squashCommitTemplate
allowsMultipleMergeRequestAssignees
allowsMultipleMergeRequestReviewers
isForked
protectableBranches
issuesEnabled
mergeRequestsEnabled
wikiEnabled
snippetsEnabled
containerRegistryEnabled
descriptionHtml
securityDashboardPath
repositorySizeExcess
actualRepositorySizeLimit
onlyAllowMergeIfAllStatusChecksPassed
duoFeaturesEnabled
trackingKey
productAnalyticsInstrumentationKey
mergeRequestsDisableCommittersApproval
hasJiraVulnerabilityIssueCreationEnabled
preventMergeWithoutJiraIssueEnabled
markedForDeletionOn
isAdjournedDeletionEnabled
permanentDeletionDate
}
mergeTrainsSkipTrainAllowed
mergeTrainsEnabled
}
grafanaIntegration {
createdAt
enabled
grafanaUrl
id
updatedAt
}
snippets {
edges {
cursor
}
nodes {
id
title
fileName
description
visibilityLevel
hidden
createdAt
updatedAt
webUrl
rawUrl
sshUrlToRepo
httpUrlToRepo
imported
importedFrom
descriptionHtml
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
sentryErrors {
externalUrl
}
boards {
edges {
cursor
}
nodes {
id
name
hideBacklogList
hideClosedList
createdAt
updatedAt
webPath
webUrl
weight
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
recentIssueBoards {
edges {
cursor
}
nodes {
id
name
hideBacklogList
hideClosedList
createdAt
updatedAt
webPath
webUrl
weight
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
jiraImports {
edges {
cursor
}
nodes {
createdAt
failedToImportCount
importedIssuesCount
jiraProjectKey
scheduledAt
totalIssueCount
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
services {
edges {
cursor
}
nodes {
type
serviceType
active
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
alertManagementAlertStatusCounts {
triggered
acknowledged
resolved
ignored
open
all
}
alertManagementIntegrations {
edges {
cursor
}
nodes {
id
type
name
active
token
url
apiUrl
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
alertManagementHttpIntegrations {
edges {
cursor
}
nodes {
payloadExample
id
type
name
active
token
url
apiUrl
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
releases {
edges {
cursor
}
nodes {
createdAt
description
historicalRelease
id
name
releasedAt
tagName
tagPath
upcomingRelease
descriptionHtml
}
count
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
containerExpirationPolicy {
cadence
createdAt
enabled
keepN
nameRegex
nameRegexKeep
nextRunAt
olderThan
updatedAt
}
containerRegistryProtectionRules {
edges {
cursor
}
nodes {
id
repositoryPathPattern
minimumAccessLevelForPush
minimumAccessLevelForDelete
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
containerRepositories {
edges {
cursor
}
nodes {
createdAt
expirationPolicyCleanupStatus
expirationPolicyStartedAt
id
lastCleanupDeletedTagsCount
location
migrationState
name
path
status
tagsCount
updatedAt
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
containerRepositoriesCount
terraformStates {
edges {
cursor
}
nodes {
id
name
lockedAt
createdAt
updatedAt
deletedAt
}
count
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
pipelineAnalytics {
monthPipelinesLabels
monthPipelinesSuccessful
monthPipelinesTotals
pipelineTimesLabels
pipelineTimesValues
weekPipelinesLabels
weekPipelinesSuccessful
weekPipelinesTotals
yearPipelinesLabels
yearPipelinesSuccessful
yearPipelinesTotals
}
ciJobTokenScope {
projects {
count
}
outboundAllowlist {
count
}
inboundAllowlist {
count
}
inboundAllowlistCount
groupsAllowlistCount
}
timelogs {
edges {
cursor
}
nodes {
id
spentAt
timeSpent
summary
}
totalSpentTime
count
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
clusterAgents {
edges {
cursor
}
nodes {
createdAt
id
name
updatedAt
webPath
}
count
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
ciAccessAuthorizedAgents {
edges {
cursor
}
nodes {
config
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
userAccessAuthorizedAgents {
edges {
cursor
}
nodes {
config
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
mergeCommitTemplate
squashCommitTemplate
labels {
edges {
cursor
}
nodes {
color
createdAt
description
id
lockOnMerge
textColor
title
updatedAt
descriptionHtml
}
count
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
workItemTypes {
edges {
cursor
}
nodes {
iconName
id
name
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
timelogCategories {
edges {
cursor
}
nodes {
id
name
description
color
billable
billingRate
createdAt
updatedAt
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
forkTargets {
edges {
cursor
}
nodes {
id
fullName
fullPath
name
path
crossProjectPipelineAvailable
description
lfsEnabled
requestAccessEnabled
visibility
sharedRunnersSetting
achievementsPath
descriptionHtml
additionalPurchasedStorageSize
totalRepositorySizeExcess
totalRepositorySize
containsLockedProjects
repositorySizeExcessProjectCount
actualRepositorySizeLimit
actualSizeLimit
storageSizeLimit
productAnalyticsStoredEventsLimit
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
forkDetails {
ahead
behind
isSyncing
hasConflicts
}
branchRules {
edges {
cursor
}
nodes {
id
name
isDefault
isProtected
matchingBranchesCount
createdAt
updatedAt
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
languages {
name
share
color
}
runners {
edges {
editUrl
webUrl
cursor
}
nodes {
accessLevel
active
adminUrl
contactedAt
createdAt
creationMethod
description
editAdminUrl
ephemeralAuthenticationToken
ephemeralRegisterUrl
id
jobCount
jobExecutionStatus
locked
maintenanceNote
maximumTimeout
paused
projectCount
registerAdminUrl
runUntagged
runnerType
shortSha
status
tagList
tokenExpiresAt
maintenanceNoteHtml
publicProjectsMinutesCostFactor
privateProjectsMinutesCostFactor
upgradeStatus
}
count
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
dataTransfer {
totalEgress
}
visibleForks {
edges {
cursor
}
nodes {
id
ciConfigPathOrDefault
fullPath
path
organizationEditPath
name
nameWithNamespace
description
tagList
topics
httpUrlToRepo
sshUrlToRepo
webUrl
forksCount
starCount
createdAt
updatedAt
lastActivityAt
archived
visibility
lfsEnabled
mergeRequestsFfOnlyEnabled
sharedRunnersEnabled
serviceDeskEnabled
serviceDeskAddress
avatarUrl
jobsEnabled
isCatalogResource
publicJobs
openIssuesCount
openMergeRequestsCount
allowMergeOnSkippedPipeline
autocloseReferencedIssues
importStatus
jiraImportStatus
onlyAllowMergeIfAllDiscussionsAreResolved
onlyAllowMergeIfPipelineSucceeds
printingMergeRequestLinkEnabled
removeSourceBranchAfterMerge
requestAccessEnabled
squashReadOnly
suggestionCommitMessage
containerRepositoriesCount
mergeCommitTemplate
squashCommitTemplate
allowsMultipleMergeRequestAssignees
allowsMultipleMergeRequestReviewers
isForked
protectableBranches
issuesEnabled
mergeRequestsEnabled
wikiEnabled
snippetsEnabled
containerRegistryEnabled
descriptionHtml
securityDashboardPath
repositorySizeExcess
actualRepositorySizeLimit
onlyAllowMergeIfAllStatusChecksPassed
duoFeaturesEnabled
trackingKey
productAnalyticsInstrumentationKey
mergeRequestsDisableCommittersApproval
hasJiraVulnerabilityIssueCreationEnabled
preventMergeWithoutJiraIssueEnabled
markedForDeletionOn
isAdjournedDeletionEnabled
permanentDeletionDate
}
count
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
autocompleteUsers {
userPermissions {
createSnippet
}
id
bot
username
name
state
email
publicEmail
commitEmail
avatarUrl
webUrl
webPath
groupCount
status {
messageHtml
availability
emoji
message
}
location
starredProjects {
count
}
namespace {
id
fullName
fullPath
name
path
crossProjectPipelineAvailable
description
lfsEnabled
requestAccessEnabled
visibility
sharedRunnersSetting
achievementsPath
descriptionHtml
additionalPurchasedStorageSize
totalRepositorySizeExcess
totalRepositorySize
containsLockedProjects
repositorySizeExcessProjectCount
actualRepositorySizeLimit
actualSizeLimit
storageSizeLimit
productAnalyticsStoredEventsLimit
}
authoredMergeRequests {
totalTimeToMerge
count
}
assignedMergeRequests {
totalTimeToMerge
count
}
reviewRequestedMergeRequests {
totalTimeToMerge
count
}
timelogs {
totalSpentTime
count
}
savedReplies {
count
}
gitpodEnabled
preferencesGitpodPath
profileEnableGitpodPath
userAchievements {
count
}
bio
linkedin
twitter
discord
organization
jobTitle
createdAt
lastActivityOn
pronouns
ide {
codeSuggestionsEnabled
}
}
detailedImportStatus {
id
status
url
lastError
lastUpdateAt
lastUpdateStartedAt
lastSuccessfulUpdateAt
}
valueStreams {
edges {
cursor
}
nodes {
id
name
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
mlModels {
edges {
cursor
}
nodes {
id
name
createdAt
description
versionCount
candidateCount
}
count
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
allowsMultipleMergeRequestAssignees
allowsMultipleMergeRequestReviewers
isForked
protectableBranches
projectPlanLimits {
ciPipelineSchedules
}
availableDeployKeys {
edges {
cursor
}
nodes {
id
title
expiresAt
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
issuesEnabled
mergeRequestsEnabled
wikiEnabled
snippetsEnabled
containerRegistryEnabled
issuesAccessLevel {
integerValue
stringValue
}
forkingAccessLevel {
integerValue
stringValue
}
mergeRequestsAccessLevel {
integerValue
stringValue
}
descriptionHtml
securityScanners {
enabled
available
pipelineRun
}
securityTrainingProviders {
id
name
description
url
logoUrl
isEnabled
isPrimary
}
vulnerabilities {
edges {
cursor
}
nodes {
id
uuid
title
description
descriptionHtml
solution
state
severity
reportType
resolvedOnDefaultBranch
userNotesCount
vulnerabilityPath
detectedAt
confirmedAt
resolvedAt
dismissedAt
updatedAt
hasRemediations
stateComment
falsePositive
webUrl
dismissalReason
presentOnDefaultBranch
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
vulnerabilityScanners {
edges {
cursor
}
nodes {
id
name
externalId
vendor
reportType
reportTypeHumanized
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
vulnerabilitySeveritiesCount {
info
unknown
low
medium
high
critical
}
requirement {
userPermissions {
readRequirement
updateRequirement
destroyRequirement
adminRequirement
createRequirement
}
id
iid
workItemIid
title
titleHtml
description
descriptionHtml
state
lastTestReportState
lastTestReportManuallyCreated
project {
id
ciConfigPathOrDefault
fullPath
path
organizationEditPath
name
nameWithNamespace
description
tagList
topics
httpUrlToRepo
sshUrlToRepo
webUrl
forksCount
starCount
createdAt
updatedAt
lastActivityAt
archived
visibility
lfsEnabled
mergeRequestsFfOnlyEnabled
sharedRunnersEnabled
serviceDeskEnabled
serviceDeskAddress
avatarUrl
jobsEnabled
isCatalogResource
publicJobs
openIssuesCount
openMergeRequestsCount
allowMergeOnSkippedPipeline
autocloseReferencedIssues
importStatus
jiraImportStatus
onlyAllowMergeIfAllDiscussionsAreResolved
onlyAllowMergeIfPipelineSucceeds
printingMergeRequestLinkEnabled
removeSourceBranchAfterMerge
requestAccessEnabled
squashReadOnly
suggestionCommitMessage
containerRepositoriesCount
mergeCommitTemplate
squashCommitTemplate
allowsMultipleMergeRequestAssignees
allowsMultipleMergeRequestReviewers
isForked
protectableBranches
issuesEnabled
mergeRequestsEnabled
wikiEnabled
snippetsEnabled
containerRegistryEnabled
descriptionHtml
securityDashboardPath
repositorySizeExcess
actualRepositorySizeLimit
onlyAllowMergeIfAllStatusChecksPassed
duoFeaturesEnabled
trackingKey
productAnalyticsInstrumentationKey
mergeRequestsDisableCommittersApproval
hasJiraVulnerabilityIssueCreationEnabled
preventMergeWithoutJiraIssueEnabled
markedForDeletionOn
isAdjournedDeletionEnabled
permanentDeletionDate
}
author {
id
bot
username
name
state
email
publicEmail
commitEmail
avatarUrl
webUrl
webPath
groupCount
location
gitpodEnabled
preferencesGitpodPath
profileEnableGitpodPath
bio
linkedin
twitter
discord
organization
jobTitle
createdAt
lastActivityOn
pronouns
}
createdAt
updatedAt
}
requirements {
edges {
cursor
}
nodes {
id
iid
workItemIid
title
titleHtml
description
descriptionHtml
state
lastTestReportState
lastTestReportManuallyCreated
createdAt
updatedAt
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
requirementStatesCount {
archived
opened
}
complianceFrameworks {
edges {
cursor
}
nodes {
id
name
description
color
default
pipelineConfigurationFullPath
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
securityDashboardPath
dastProfiles {
edges {
cursor
}
nodes {
id
name
description
editPath
tagList
}
count
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
dastSiteProfiles {
edges {
cursor
}
nodes {
id
profileName
targetUrl
targetType
editPath
excludedUrls
requestHeaders
validationStatus
normalizedTargetUrl
referencedInSecurityPolicies
scanMethod
scanFilePath
validationStartedAt
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
dastScannerProfiles {
edges {
cursor
}
nodes {
id
profileName
spiderTimeout
targetTimeout
scanType
useAjaxSpider
showDebugMessages
editPath
referencedInSecurityPolicies
tagList
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
dastSiteValidations {
edges {
cursor
}
nodes {
id
status
normalizedTargetUrl
validationStartedAt
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
repositorySizeExcess
actualRepositorySizeLimit
codeCoverageSummary {
averageCoverage
coverageCount
lastUpdatedOn
}
incidentManagementOncallSchedules {
edges {
cursor
}
nodes {
iid
name
description
timezone
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
incidentManagementEscalationPolicies {
edges {
cursor
}
nodes {
id
name
description
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
apiFuzzingCiConfiguration {
scanModes
scanProfiles {
name
description
yaml
}
}
corpuses {
edges {
cursor
}
nodes {
id
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
pushRules {
rejectUnsignedCommits
}
pathLocks {
edges {
cursor
}
nodes {
id
path
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
pipelineExecutionPolicies {
edges {
cursor
}
nodes {
description
editPath
enabled
name
updatedAt
yaml
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
scanExecutionPolicies {
edges {
cursor
}
nodes {
description
editPath
enabled
name
updatedAt
yaml
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
scanResultPolicies {
edges {
cursor
}
nodes {
deprecatedProperties
roleApprovers
description
editPath
enabled
name
updatedAt
yaml
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
approvalPolicies {
edges {
cursor
}
nodes {
deprecatedProperties
roleApprovers
description
editPath
enabled
name
updatedAt
yaml
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
securityPolicyProject {
userPermissions {
changeNamespace
changeVisibilityLevel
renameProject
removeProject
archiveProject
removeForkProject
removePages
readProject
createMergeRequestIn
readWiki
readProjectMember
createIssue
uploadFile
readCycleAnalytics
downloadCode
downloadWikiCode
forkProject
readCommitStatus
requestAccess
createPipeline
createPipelineSchedule
createMergeRequestFrom
createWiki
pushCode
createDeployment
pushToDeleteProtectedBranch
adminWiki
adminProject
updatePages
adminRemoteMirror
createLabel
updateWiki
destroyWiki
createPages
destroyPages
readPagesContent
adminOperations
readMergeRequest
readDesign
createDesign
destroyDesign
readEnvironment
viewEditPage
createSnippet
adminPathLocks
}
id
ciConfigPathOrDefault
fullPath
path
organizationEditPath
incidentManagementTimelineEventTags {
id
name
}
name
nameWithNamespace
description
tagList
topics
httpUrlToRepo
sshUrlToRepo
webUrl
forksCount
starCount
createdAt
updatedAt
lastActivityAt
archived
visibility
lfsEnabled
maxAccessLevel {
integerValue
stringValue
}
mergeRequestsFfOnlyEnabled
sharedRunnersEnabled
serviceDeskEnabled
serviceDeskAddress
avatarUrl
jobsEnabled
isCatalogResource
publicJobs
openIssuesCount
openMergeRequestsCount
allowMergeOnSkippedPipeline
autocloseReferencedIssues
importStatus
jiraImportStatus
onlyAllowMergeIfAllDiscussionsAreResolved
onlyAllowMergeIfPipelineSucceeds
printingMergeRequestLinkEnabled
removeSourceBranchAfterMerge
requestAccessEnabled
squashReadOnly
suggestionCommitMessage
group {
webUrl
avatarUrl
createdAt
updatedAt
shareWithGroupLock
projectCreationLevel
subgroupCreationLevel
requireTwoFactorAuthentication
twoFactorGracePeriod
autoDevopsEnabled
emailsDisabled
emailsEnabled
mentionsDisabled
containerRepositoriesCount
dependencyProxyImageCount
dependencyProxyBlobCount
dependencyProxyTotalSize
dependencyProxyTotalSizeInBytes
dependencyProxyTotalSizeBytes
dependencyProxyImagePrefix
descendantGroupsCount
groupMembersCount
projectsCount
lockMathRenderingLimitsEnabled
mathRenderingLimitsEnabled
epicsEnabled
billableMembersCount
allowStaleRunnerPruning
enforceFreeUserCap
duoFeaturesEnabled
lockDuoFeaturesEnabled
markedForDeletionOn
isAdjournedDeletionEnabled
permanentDeletionDate
id
fullName
fullPath
name
path
crossProjectPipelineAvailable
description
lfsEnabled
requestAccessEnabled
visibility
sharedRunnersSetting
achievementsPath
descriptionHtml
additionalPurchasedStorageSize
totalRepositorySizeExcess
totalRepositorySize
containsLockedProjects
repositorySizeExcessProjectCount
actualRepositorySizeLimit
actualSizeLimit
storageSizeLimit
productAnalyticsStoredEventsLimit
}
namespace {
id
fullName
fullPath
name
path
crossProjectPipelineAvailable
description
lfsEnabled
requestAccessEnabled
visibility
sharedRunnersSetting
achievementsPath
descriptionHtml
additionalPurchasedStorageSize
totalRepositorySizeExcess
totalRepositorySize
containsLockedProjects
repositorySizeExcessProjectCount
actualRepositorySizeLimit
actualSizeLimit
storageSizeLimit
productAnalyticsStoredEventsLimit
}
statistics {
commitCount
buildArtifactsSize
containerRegistrySize
lfsObjectsSize
packagesSize
pipelineArtifactsSize
repositorySize
snippetsSize
storageSize
uploadsSize
wikiSize
costFactoredStorageSize
costFactoredRepositorySize
costFactoredBuildArtifactsSize
costFactoredLfsObjectsSize
costFactoredPackagesSize
costFactoredSnippetsSize
costFactoredWikiSize
}
statisticsDetailsPaths {
repository
wiki
buildArtifacts
packages
snippets
containerRegistry
}
repository {
diskPath
empty
exists
rootRef
codeOwnersPath
}
mergeRequests {
totalTimeToMerge
count
}
issues {
weight
count
}
workItemStateCounts {
all
closed
opened
}
issueStatusCounts {
opened
closed
all
}
environment {
name
id
state
path
slug
externalUrl
kubernetesNamespace
fluxResourcePath
createdAt
updatedAt
autoStopAt
autoDeleteAt
tier
environmentType
deploymentsDisplayCount
}
issue {
description
id
iid
state
title
reference
confidential
discussionLocked
downvotes
dueDate
hidden
mergeRequestsCount
relativePosition
upvotes
userDiscussionsCount
userNotesCount
webPath
webUrl
emailsDisabled
emailsEnabled
humanTimeEstimate
humanTotalTimeSpent
subscribed
timeEstimate
totalTimeSpent
closedAt
createdAt
updatedAt
type
severity
moved
createNoteEmail
projectId
escalationStatus
externalAuthor
titleHtml
descriptionHtml
hasEpic
hasParent
weight
blocked
blockingCount
blockedByCount
healthStatus
statusPagePublishedIncident
slaDueAt
}
packages {
count
}
packagesCleanupPolicy {
keepNDuplicatedPackageFiles
nextRunAt
}
jobs {
count
}
pipelines {
count
}
pipelineSchedules {
count
}
pipelineTriggers {
count
}
pipelineCounts {
running
pending
finished
all
}
ciVariables {
limit
}
ciCdSettings {
inboundJobTokenScopeEnabled
jobTokenScopeEnabled
keepLatestArtifact
mergePipelinesEnabled
mergeTrainsSkipTrainAllowed
mergeTrainsEnabled
}
grafanaIntegration {
createdAt
enabled
grafanaUrl
id
updatedAt
}
sentryErrors {
externalUrl
}
alertManagementAlertStatusCounts {
triggered
acknowledged
resolved
ignored
open
all
}
releases {
count
}
containerExpirationPolicy {
cadence
createdAt
enabled
keepN
nameRegex
nameRegexKeep
nextRunAt
olderThan
updatedAt
}
containerRepositoriesCount
terraformStates {
count
}
pipelineAnalytics {
monthPipelinesLabels
monthPipelinesSuccessful
monthPipelinesTotals
pipelineTimesLabels
pipelineTimesValues
weekPipelinesLabels
weekPipelinesSuccessful
weekPipelinesTotals
yearPipelinesLabels
yearPipelinesSuccessful
yearPipelinesTotals
}
ciJobTokenScope {
inboundAllowlistCount
groupsAllowlistCount
}
timelogs {
totalSpentTime
count
}
clusterAgents {
count
}
mergeCommitTemplate
squashCommitTemplate
labels {
count
}
forkDetails {
ahead
behind
isSyncing
hasConflicts
}
languages {
name
share
color
}
runners {
count
}
dataTransfer {
totalEgress
}
visibleForks {
count
}
autocompleteUsers {
id
bot
username
name
state
email
publicEmail
commitEmail
avatarUrl
webUrl
webPath
groupCount
location
gitpodEnabled
preferencesGitpodPath
profileEnableGitpodPath
bio
linkedin
twitter
discord
organization
jobTitle
createdAt
lastActivityOn
pronouns
}
detailedImportStatus {
id
status
url
lastError
lastUpdateAt
lastUpdateStartedAt
lastSuccessfulUpdateAt
}
mlModels {
count
}
allowsMultipleMergeRequestAssignees
allowsMultipleMergeRequestReviewers
isForked
protectableBranches
projectPlanLimits {
ciPipelineSchedules
}
issuesEnabled
mergeRequestsEnabled
wikiEnabled
snippetsEnabled
containerRegistryEnabled
issuesAccessLevel {
integerValue
stringValue
}
forkingAccessLevel {
integerValue
stringValue
}
mergeRequestsAccessLevel {
integerValue
stringValue
}
descriptionHtml
securityScanners {
enabled
available
pipelineRun
}
securityTrainingProviders {
id
name
description
url
logoUrl
isEnabled
isPrimary
}
vulnerabilitySeveritiesCount {
info
unknown
low
medium
high
critical
}
requirement {
id
iid
workItemIid
title
titleHtml
description
descriptionHtml
state
lastTestReportState
lastTestReportManuallyCreated
createdAt
updatedAt
}
requirementStatesCount {
archived
opened
}
securityDashboardPath
dastProfiles {
count
}
repositorySizeExcess
actualRepositorySizeLimit
codeCoverageSummary {
averageCoverage
coverageCount
lastUpdatedOn
}
apiFuzzingCiConfiguration {
scanModes
}
pushRules {
rejectUnsignedCommits
}
securityPolicyProject {
id
ciConfigPathOrDefault
fullPath
path
organizationEditPath
name
nameWithNamespace
description
tagList
topics
httpUrlToRepo
sshUrlToRepo
webUrl
forksCount
starCount
createdAt
updatedAt
lastActivityAt
archived
visibility
lfsEnabled
mergeRequestsFfOnlyEnabled
sharedRunnersEnabled
serviceDeskEnabled
serviceDeskAddress
avatarUrl
jobsEnabled
isCatalogResource
publicJobs
openIssuesCount
openMergeRequestsCount
allowMergeOnSkippedPipeline
autocloseReferencedIssues
importStatus
jiraImportStatus
onlyAllowMergeIfAllDiscussionsAreResolved
onlyAllowMergeIfPipelineSucceeds
printingMergeRequestLinkEnabled
removeSourceBranchAfterMerge
requestAccessEnabled
squashReadOnly
suggestionCommitMessage
containerRepositoriesCount
mergeCommitTemplate
squashCommitTemplate
allowsMultipleMergeRequestAssignees
allowsMultipleMergeRequestReviewers
isForked
protectableBranches
issuesEnabled
mergeRequestsEnabled
wikiEnabled
snippetsEnabled
containerRegistryEnabled
descriptionHtml
securityDashboardPath
repositorySizeExcess
actualRepositorySizeLimit
onlyAllowMergeIfAllStatusChecksPassed
duoFeaturesEnabled
trackingKey
productAnalyticsInstrumentationKey
mergeRequestsDisableCommittersApproval
hasJiraVulnerabilityIssueCreationEnabled
preventMergeWithoutJiraIssueEnabled
markedForDeletionOn
isAdjournedDeletionEnabled
permanentDeletionDate
}
securityPolicyProjectLinkedProjects {
count
}
aiMetrics {
codeContributorsCount
codeSuggestionsContributorsCount
codeSuggestionsUsageRate
}
onlyAllowMergeIfAllStatusChecksPassed
duoFeaturesEnabled
trackingKey
productAnalyticsInstrumentationKey
mergeRequestsDisableCommittersApproval
hasJiraVulnerabilityIssueCreationEnabled
preventMergeWithoutJiraIssueEnabled
dependencyProxyPackagesSetting {
enabled
mavenExternalRegistryUrl
mavenExternalRegistryUsername
}
ciSubscriptionsProjects {
count
}
ciSubscribedProjects {
count
}
googleCloudArtifactRegistryRepository {
projectId
repository
artifactRegistryRepositoryUrl
}
markedForDeletionOn
isAdjournedDeletionEnabled
permanentDeletionDate
savedReplies {
count
}
}
securityPolicyProjectLinkedProjects {
edges {
cursor
}
nodes {
id
ciConfigPathOrDefault
fullPath
path
organizationEditPath
name
nameWithNamespace
description
tagList
topics
httpUrlToRepo
sshUrlToRepo
webUrl
forksCount
starCount
createdAt
updatedAt
lastActivityAt
archived
visibility
lfsEnabled
mergeRequestsFfOnlyEnabled
sharedRunnersEnabled
serviceDeskEnabled
serviceDeskAddress
avatarUrl
jobsEnabled
isCatalogResource
publicJobs
openIssuesCount
openMergeRequestsCount
allowMergeOnSkippedPipeline
autocloseReferencedIssues
importStatus
jiraImportStatus
onlyAllowMergeIfAllDiscussionsAreResolved
onlyAllowMergeIfPipelineSucceeds
printingMergeRequestLinkEnabled
removeSourceBranchAfterMerge
requestAccessEnabled
squashReadOnly
suggestionCommitMessage
containerRepositoriesCount
mergeCommitTemplate
squashCommitTemplate
allowsMultipleMergeRequestAssignees
allowsMultipleMergeRequestReviewers
isForked
protectableBranches
issuesEnabled
mergeRequestsEnabled
wikiEnabled
snippetsEnabled
containerRegistryEnabled
descriptionHtml
securityDashboardPath
repositorySizeExcess
actualRepositorySizeLimit
onlyAllowMergeIfAllStatusChecksPassed
duoFeaturesEnabled
trackingKey
productAnalyticsInstrumentationKey
mergeRequestsDisableCommittersApproval
hasJiraVulnerabilityIssueCreationEnabled
preventMergeWithoutJiraIssueEnabled
markedForDeletionOn
isAdjournedDeletionEnabled
permanentDeletionDate
}
count
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
securityPolicyProjectLinkedNamespaces {
edges {
cursor
}
nodes {
id
fullName
fullPath
name
path
crossProjectPipelineAvailable
description
lfsEnabled
requestAccessEnabled
visibility
sharedRunnersSetting
achievementsPath
descriptionHtml
additionalPurchasedStorageSize
totalRepositorySizeExcess
totalRepositorySize
containsLockedProjects
repositorySizeExcessProjectCount
actualRepositorySizeLimit
actualSizeLimit
storageSizeLimit
productAnalyticsStoredEventsLimit
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
dora {
metrics {
date
deploymentFrequency
leadTimeForChanges
timeToRestoreService
changeFailureRate
}
}
aiMetrics {
codeContributorsCount
codeSuggestionsContributorsCount
codeSuggestionsUsageRate
}
vulnerabilityImages {
edges {
cursor
}
nodes {
name
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
onlyAllowMergeIfAllStatusChecksPassed
duoFeaturesEnabled
customizableDashboards {
edges {
cursor
}
nodes {
title
category
slug
description
status
userDefined
errors
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
customizableDashboardVisualizations {
edges {
cursor
}
nodes {
type
options
data
slug
errors
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
trackingKey
productAnalyticsInstrumentationKey
dependencies {
edges {
cursor
}
nodes {
id
name
version
packager
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
mergeRequestsDisableCommittersApproval
hasJiraVulnerabilityIssueCreationEnabled
preventMergeWithoutJiraIssueEnabled
dependencyProxyPackagesSetting {
enabled
mavenExternalRegistryUrl
mavenExternalRegistryUsername
}
memberRoles {
edges {
cursor
}
nodes {
id
name
description
membersCount
editPath
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
ciSubscriptionsProjects {
edges {
cursor
}
nodes {
id
}
count
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
ciSubscribedProjects {
edges {
cursor
}
nodes {
id
}
count
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
aiAgents {
edges {
cursor
}
nodes {
createdAt
id
name
routeId
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
googleCloudArtifactRegistryRepository {
projectId
repository
artifactRegistryRepositoryUrl
}
valueStreamAnalytics {
aggregationStatus {
enabled
estimatedNextUpdateAt
lastUpdateAt
}
}
markedForDeletionOn
isAdjournedDeletionEnabled
permanentDeletionDate
savedReplies {
edges {
cursor
}
nodes {
id
content
name
}
count
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
}
status
tagsCount
updatedAt
}
}
In this MR, we only query the fields that we are interested in for testing. Still using all_graphql_fields_for
but with a max_depth
of 1 and adding relations that we deem important.
Related to #452471 (closed)