diff options
Diffstat (limited to 'doc/api/graphql/reference/gitlab_schema.graphql')
-rw-r--r-- | doc/api/graphql/reference/gitlab_schema.graphql | 1650 |
1 files changed, 1542 insertions, 108 deletions
diff --git a/doc/api/graphql/reference/gitlab_schema.graphql b/doc/api/graphql/reference/gitlab_schema.graphql index c4bbe7d969d..2ed6bec104d 100644 --- a/doc/api/graphql/reference/gitlab_schema.graphql +++ b/doc/api/graphql/reference/gitlab_schema.graphql @@ -260,6 +260,11 @@ type AlertManagementAlert implements Noteable { issueIid: ID """ + URL for metrics embed for the alert + """ + metricsDashboardUrl: String + + """ Monitoring tool the alert came from """ monitoringTool: String @@ -390,12 +395,12 @@ enum AlertManagementAlertSort { EVENT_COUNT_DESC """ - Severity by ascending order + Severity from less critical to more critical """ SEVERITY_ASC """ - Severity by descending order + Severity from more critical to less critical """ SEVERITY_DESC @@ -410,12 +415,12 @@ enum AlertManagementAlertSort { STARTED_AT_DESC """ - Status by ascending order + Status by order: Ignored > Resolved > Acknowledged > Triggered """ STATUS_ASC """ - Status by descending order + Status by order: Triggered > Acknowledged > Resolved > Ignored """ STATUS_DESC @@ -598,6 +603,61 @@ type AlertSetAssigneesPayload { The issue created after mutation """ issue: Issue + + """ + The todo after mutation + """ + todo: Todo +} + +""" +Autogenerated input type of AlertTodoCreate +""" +input AlertTodoCreateInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The iid of the alert to mutate + """ + iid: String! + + """ + The project the alert to mutate is in + """ + projectPath: ID! +} + +""" +Autogenerated return type of AlertTodoCreate +""" +type AlertTodoCreatePayload { + """ + The alert after mutation + """ + alert: AlertManagementAlert + + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! + + """ + The issue created after mutation + """ + issue: Issue + + """ + The todo after mutation + """ + todo: Todo } """ @@ -635,6 +695,131 @@ type AwardEmoji { user: User! } +""" +Autogenerated input type of AwardEmojiAdd +""" +input AwardEmojiAddInput { + """ + The global id of the awardable resource + """ + awardableId: ID! + + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The emoji name + """ + name: String! +} + +""" +Autogenerated return type of AwardEmojiAdd +""" +type AwardEmojiAddPayload { + """ + The award emoji after mutation + """ + awardEmoji: AwardEmoji + + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! +} + +""" +Autogenerated input type of AwardEmojiRemove +""" +input AwardEmojiRemoveInput { + """ + The global id of the awardable resource + """ + awardableId: ID! + + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The emoji name + """ + name: String! +} + +""" +Autogenerated return type of AwardEmojiRemove +""" +type AwardEmojiRemovePayload { + """ + The award emoji after mutation + """ + awardEmoji: AwardEmoji + + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! +} + +""" +Autogenerated input type of AwardEmojiToggle +""" +input AwardEmojiToggleInput { + """ + The global id of the awardable resource + """ + awardableId: ID! + + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The emoji name + """ + name: String! +} + +""" +Autogenerated return type of AwardEmojiToggle +""" +type AwardEmojiTogglePayload { + """ + The award emoji after mutation + """ + awardEmoji: AwardEmoji + + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! + + """ + Indicates the status of the emoji. True if the toggle awarded the emoji, and false if the toggle removed the emoji. + """ + toggledOn: Boolean! +} + type BaseService implements Service { """ Indicates if the service is active @@ -664,6 +849,11 @@ type Blob implements Entry { lfsOid: String """ + Blob mode in numeric format + """ + mode: String + + """ Name of the entry """ name: String! @@ -1222,6 +1412,51 @@ enum CommitEncoding { } """ +Represents a ComplianceFramework associated with a Project +""" +type ComplianceFramework { + """ + Name of the compliance framework + """ + name: ProjectSettingEnum! +} + +""" +The connection type for ComplianceFramework. +""" +type ComplianceFrameworkConnection { + """ + A list of edges. + """ + edges: [ComplianceFrameworkEdge] + + """ + A list of nodes. + """ + nodes: [ComplianceFramework] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! +} + +""" +An edge in a connection. +""" +type ComplianceFrameworkEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: ComplianceFramework +} + +""" A tag expiration policy designed to keep only the images that matter most """ type ContainerExpirationPolicy { @@ -1248,12 +1483,12 @@ type ContainerExpirationPolicy { """ Tags with names matching this regex pattern will expire """ - nameRegex: String + nameRegex: UntrustedRegexp """ Tags with names matching this regex pattern will be preserved """ - nameRegexKeep: String + nameRegexKeep: UntrustedRegexp """ Next time that this container expiration policy will get executed @@ -1395,6 +1630,11 @@ type CreateAlertIssuePayload { The issue created after mutation """ issue: Issue + + """ + The todo after mutation + """ + todo: Todo } """ @@ -1517,6 +1757,11 @@ input CreateDiffNoteInput { clientMutationId: String """ + The confidentiality flag of a note. Default is false. + """ + confidential: Boolean + + """ The global id of the resource to add a note to """ noteableId: ID! @@ -1642,6 +1887,11 @@ input CreateImageDiffNoteInput { clientMutationId: String """ + The confidentiality flag of a note. Default is false. + """ + confidential: Boolean + + """ The global id of the resource to add a note to """ noteableId: ID! @@ -1742,6 +1992,11 @@ input CreateNoteInput { clientMutationId: String """ + The confidentiality flag of a note. Default is false. + """ + confidential: Boolean + + """ The global id of the discussion this note is in reply to """ discussionId: ID @@ -1824,7 +2079,7 @@ input CreateSnippetInput { """ Content of the snippet """ - content: String! + content: String """ Description of the snippet @@ -1837,6 +2092,11 @@ input CreateSnippetInput { fileName: String """ + The snippet files to create + """ + files: [SnippetFileInputType!] + + """ The project full path the snippet is associated with """ projectPath: ID @@ -1885,6 +2145,51 @@ enum DastScanTypeEnum { } """ +Autogenerated input type of DastSiteProfileCreate +""" +input DastSiteProfileCreateInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The project the site profile belongs to. + """ + fullPath: ID! + + """ + The name of the site profile. + """ + profileName: String! + + """ + The URL of the target to be scanned. + """ + targetUrl: String +} + +""" +Autogenerated return type of DastSiteProfileCreate +""" +type DastSiteProfileCreatePayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! + + """ + ID of the site profile. + """ + id: ID +} + +""" Autogenerated input type of DeleteAnnotation """ input DeleteAnnotationInput { @@ -2946,6 +3251,51 @@ type DiffRefs { startSha: String! } +""" +Changes to a single file +""" +type DiffStats { + """ + Number of lines added to this file + """ + additions: Int! + + """ + Number of lines deleted from this file + """ + deletions: Int! + + """ + File path, relative to repository root + """ + path: String! +} + +""" +Aggregated summary of changes +""" +type DiffStatsSummary { + """ + Number of lines added + """ + additions: Int! + + """ + Number of lines changed + """ + changes: Int! + + """ + Number of lines deleted + """ + deletions: Int! + + """ + Number of files changed + """ + fileCount: Int! +} + type Discussion implements ResolvableInterface { """ Timestamp of the discussion's creation @@ -3294,7 +3644,7 @@ type Epic implements Noteable { last: Int """ - Filter epics by title and description + Search query for epic title or description """ search: String @@ -4081,6 +4431,11 @@ The connection type for EpicIssue. """ type EpicIssueConnection { """ + Total count of collection + """ + count: Int! + + """ A list of edges. """ edges: [EpicIssueEdge] @@ -4571,7 +4926,7 @@ type Group { labelName: [String!] """ - Filter epics by title and description + Search query for epic title or description """ search: String @@ -4648,7 +5003,7 @@ type Group { last: Int """ - Filter epics by title and description + Search query for epic title or description """ search: String @@ -4754,6 +5109,11 @@ type Group { iids: [String!] """ + Iterations applied to the issue + """ + iterationId: [ID] + + """ Labels applied to this issue """ labelName: [String] @@ -4769,7 +5129,7 @@ type Group { milestoneTitle: [String] """ - Search query for finding issues by title or description + Search query for issue title or description """ search: String @@ -4820,6 +5180,21 @@ type Group { first: Int """ + The ID of the Iteration to look up + """ + id: ID + + """ + The internal ID of the Iteration to look up + """ + iid: ID + + """ + Whether to include ancestor iterations. Defaults to true + """ + includeAncestors: Boolean + + """ Returns the last _n_ elements from the list. """ last: Int @@ -5014,11 +5389,21 @@ type Group { shareWithGroupLock: Boolean """ + Total storage limit of the root namespace in bytes + """ + storageSizeLimit: Float + + """ The permission level required to create subgroups within the group """ subgroupCreationLevel: String """ + Date until the temporary storage increase is active + """ + temporaryStorageIncreaseEndsOn: Time + + """ Time logged in issues by group members """ timelogs( @@ -5113,6 +5498,11 @@ type Group { reportType: [VulnerabilityReportType!] """ + Filter vulnerabilities by scanner + """ + scanner: [String!] + + """ Filter vulnerabilities by severity """ severity: [VulnerabilitySeverity!] @@ -5159,6 +5549,31 @@ type Group { ): VulnerabilitiesCountByDayAndSeverityConnection """ + Vulnerability scanners reported on the project vulnerabilties of the group and its subgroups + """ + vulnerabilityScanners( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): VulnerabilityScannerConnection + + """ Web URL of the group """ webUrl: String! @@ -5285,6 +5700,31 @@ type InstanceSecurityDashboard { """ last: Int ): ProjectConnection! + + """ + Vulnerability scanners reported on the vulnerabilties from projects selected in Instance Security Dashboard + """ + vulnerabilityScanners( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): VulnerabilityScannerConnection } """ @@ -5413,6 +5853,11 @@ type Issue implements Noteable { healthStatus: HealthStatus """ + ID of the issue + """ + id: ID! + + """ Internal ID of the issue """ iid: ID! @@ -5593,6 +6038,11 @@ The connection type for Issue. """ type IssueConnection { """ + Total count of collection + """ + count: Int! + + """ A list of edges. """ edges: [IssueEdge] @@ -5804,6 +6254,51 @@ type IssueSetIterationPayload { } """ +Autogenerated input type of IssueSetLocked +""" +input IssueSetLockedInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The iid of the issue to mutate + """ + iid: String! + + """ + Whether or not to lock discussion on the issue + """ + locked: Boolean! + + """ + The project the issue to mutate is in + """ + projectPath: ID! +} + +""" +Autogenerated return type of IssueSetLocked +""" +type IssueSetLockedPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! + + """ + The issue after mutation + """ + issue: Issue +} + +""" Autogenerated input type of IssueSetWeight """ input IssueSetWeightInput { @@ -5962,6 +6457,11 @@ type Iteration { id: ID! """ + Internal ID of the iteration + """ + iid: ID! + + """ Timestamp of the iteration start date """ startDate: Time @@ -6138,6 +6638,11 @@ input JiraImportStartInput { The project to import the Jira project into """ projectPath: ID! + + """ + The mapping of Jira to GitLab users + """ + usersMapping: [JiraUsersMappingInputType!] } """ @@ -6259,7 +6764,7 @@ type JiraService implements Service { active: Boolean """ - List of Jira projects fetched through Jira REST API + List of all Jira projects fetched through Jira REST API """ projects( """ @@ -6296,11 +6801,21 @@ type JiraService implements Service { type JiraUser { """ - Id of the matched GitLab user + ID of the matched GitLab user """ gitlabId: Int """ + Name of the matched GitLab user + """ + gitlabName: String + + """ + Username of the matched GitLab user + """ + gitlabUsername: String + + """ Account id of the Jira user """ jiraAccountId: String! @@ -6316,6 +6831,18 @@ type JiraUser { jiraEmail: String } +input JiraUsersMappingInputType { + """ + Id of the GitLab user + """ + gitlabId: Int + + """ + Jira account id of the user + """ + jiraAccountId: String! +} + type Label { """ Background color of the label @@ -6521,6 +7048,21 @@ type MergeRequest implements Noteable { diffRefs: DiffRefs """ + Details about which files were changed in this merge request + """ + diffStats( + """ + A specific file-path + """ + path: String + ): [DiffStats!] + + """ + Summary of which files were changed in this merge request + """ + diffStatsSummary: DiffStatsSummary + + """ Indicates if comments on the merge request are locked to members only """ discussionLocked: Boolean! @@ -7311,6 +7853,61 @@ enum MergeRequestState { opened } +""" +Autogenerated input type of MergeRequestUpdate +""" +input MergeRequestUpdateInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Description of the merge request (Markdown rendered as HTML for caching) + """ + description: String + + """ + The iid of the merge request to mutate + """ + iid: String! + + """ + The project the merge request to mutate is in + """ + projectPath: ID! + + """ + Target branch of the merge request + """ + targetBranch: String + + """ + Title of the merge request + """ + title: String +} + +""" +Autogenerated return type of MergeRequestUpdate +""" +type MergeRequestUpdatePayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! + + """ + The merge request after mutation + """ + mergeRequest: MergeRequest +} + type Metadata { """ Revision @@ -7477,6 +8074,11 @@ type Milestone { state: MilestoneStateEnum! """ + Milestone statistics + """ + stats: MilestoneStats + + """ Indicates if milestone is at subgroup level """ subgroupMilestone: Boolean! @@ -7538,6 +8140,21 @@ enum MilestoneStateEnum { } """ +Contains statistics about a milestone +""" +type MilestoneStats { + """ + Number of closed issues associated with the milestone + """ + closedIssuesCount: Int + + """ + Total number of issues associated with the milestone + """ + totalIssuesCount: Int +} + +""" The position to which the adjacent object should be moved """ enum MoveType { @@ -7553,10 +8170,14 @@ enum MoveType { } type Mutation { - addAwardEmoji(input: AddAwardEmojiInput!): AddAwardEmojiPayload + addAwardEmoji(input: AddAwardEmojiInput!): AddAwardEmojiPayload @deprecated(reason: "Use awardEmojiAdd. Deprecated in 13.2") addProjectToSecurityDashboard(input: AddProjectToSecurityDashboardInput!): AddProjectToSecurityDashboardPayload adminSidekiqQueuesDeleteJobs(input: AdminSidekiqQueuesDeleteJobsInput!): AdminSidekiqQueuesDeleteJobsPayload alertSetAssignees(input: AlertSetAssigneesInput!): AlertSetAssigneesPayload + alertTodoCreate(input: AlertTodoCreateInput!): AlertTodoCreatePayload + awardEmojiAdd(input: AwardEmojiAddInput!): AwardEmojiAddPayload + awardEmojiRemove(input: AwardEmojiRemoveInput!): AwardEmojiRemovePayload + awardEmojiToggle(input: AwardEmojiToggleInput!): AwardEmojiTogglePayload boardListUpdateLimitMetrics(input: BoardListUpdateLimitMetricsInput!): BoardListUpdateLimitMetricsPayload commitCreate(input: CommitCreateInput!): CommitCreatePayload createAlertIssue(input: CreateAlertIssueInput!): CreateAlertIssuePayload @@ -7569,6 +8190,7 @@ type Mutation { createNote(input: CreateNoteInput!): CreateNotePayload createRequirement(input: CreateRequirementInput!): CreateRequirementPayload createSnippet(input: CreateSnippetInput!): CreateSnippetPayload + dastSiteProfileCreate(input: DastSiteProfileCreateInput!): DastSiteProfileCreatePayload deleteAnnotation(input: DeleteAnnotationInput!): DeleteAnnotationPayload designManagementDelete(input: DesignManagementDeleteInput!): DesignManagementDeletePayload designManagementUpload(input: DesignManagementUploadInput!): DesignManagementUploadPayload @@ -7586,6 +8208,7 @@ type Mutation { issueSetConfidential(input: IssueSetConfidentialInput!): IssueSetConfidentialPayload issueSetDueDate(input: IssueSetDueDateInput!): IssueSetDueDatePayload issueSetIteration(input: IssueSetIterationInput!): IssueSetIterationPayload + issueSetLocked(input: IssueSetLockedInput!): IssueSetLockedPayload issueSetWeight(input: IssueSetWeightInput!): IssueSetWeightPayload jiraImportStart(input: JiraImportStartInput!): JiraImportStartPayload jiraImportUsers(input: JiraImportUsersInput!): JiraImportUsersPayload @@ -7597,14 +8220,19 @@ type Mutation { mergeRequestSetMilestone(input: MergeRequestSetMilestoneInput!): MergeRequestSetMilestonePayload mergeRequestSetSubscription(input: MergeRequestSetSubscriptionInput!): MergeRequestSetSubscriptionPayload mergeRequestSetWip(input: MergeRequestSetWipInput!): MergeRequestSetWipPayload - removeAwardEmoji(input: RemoveAwardEmojiInput!): RemoveAwardEmojiPayload + + """ + Update attributes of a merge request + """ + mergeRequestUpdate(input: MergeRequestUpdateInput!): MergeRequestUpdatePayload + removeAwardEmoji(input: RemoveAwardEmojiInput!): RemoveAwardEmojiPayload @deprecated(reason: "Use awardEmojiRemove. Deprecated in 13.2") removeProjectFromSecurityDashboard(input: RemoveProjectFromSecurityDashboardInput!): RemoveProjectFromSecurityDashboardPayload runDastScan(input: RunDASTScanInput!): RunDASTScanPayload todoMarkDone(input: TodoMarkDoneInput!): TodoMarkDonePayload todoRestore(input: TodoRestoreInput!): TodoRestorePayload todoRestoreMany(input: TodoRestoreManyInput!): TodoRestoreManyPayload todosMarkAllDone(input: TodosMarkAllDoneInput!): TodosMarkAllDonePayload - toggleAwardEmoji(input: ToggleAwardEmojiInput!): ToggleAwardEmojiPayload + toggleAwardEmoji(input: ToggleAwardEmojiInput!): ToggleAwardEmojiPayload @deprecated(reason: "Use awardEmojiToggle. Deprecated in 13.2") updateAlertStatus(input: UpdateAlertStatusInput!): UpdateAlertStatusPayload updateContainerExpirationPolicy(input: UpdateContainerExpirationPolicyInput!): UpdateContainerExpirationPolicyPayload updateEpic(input: UpdateEpicInput!): UpdateEpicPayload @@ -7616,6 +8244,7 @@ type Mutation { """ updateImageDiffNote(input: UpdateImageDiffNoteInput!): UpdateImageDiffNotePayload updateIssue(input: UpdateIssueInput!): UpdateIssuePayload + updateIteration(input: UpdateIterationInput!): UpdateIterationPayload """ Updates a Note. If the body of the Note contains only quick actions, the Note @@ -7733,6 +8362,16 @@ type Namespace { rootStorageStatistics: RootStorageStatistics """ + Total storage limit of the root namespace in bytes + """ + storageSizeLimit: Float + + """ + Date until the temporary storage increase is active + """ + temporaryStorageIncreaseEndsOn: Time + + """ Visibility of the namespace """ visibility: String @@ -7845,6 +8484,11 @@ type Note implements ResolvableInterface { system: Boolean! """ + Name of the icon corresponding to a system note + """ + systemNoteIconName: String + + """ Timestamp of the note's last activity """ updatedAt: Time! @@ -8463,6 +9107,31 @@ type Project { ): BoardConnection """ + Compliance frameworks associated with the project + """ + complianceFrameworks( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): ComplianceFrameworkConnection + + """ The container expiration policy of the project """ containerExpirationPolicy: ContainerExpirationPolicy @@ -8517,7 +9186,7 @@ type Project { name: String """ - Search query + Search query for environment name """ search: String @@ -8607,6 +9276,11 @@ type Project { iids: [String!] """ + Iterations applied to the issue + """ + iterationId: [ID] + + """ Labels applied to this issue """ labelName: [String] @@ -8617,7 +9291,7 @@ type Project { milestoneTitle: [String] """ - Search query for finding issues by title or description + Search query for issue title or description """ search: String @@ -8702,6 +9376,11 @@ type Project { iids: [String!] """ + Iterations applied to the issue + """ + iterationId: [ID] + + """ Labels applied to this issue """ labelName: [String] @@ -8717,7 +9396,7 @@ type Project { milestoneTitle: [String] """ - Search query for finding issues by title or description + Search query for issue title or description """ search: String @@ -9056,7 +9735,7 @@ type Project { publicJobs: Boolean """ - A single release of the project. Available only when feature flag `graphql_release_data` is enabled + A single release of the project """ release( """ @@ -9066,7 +9745,7 @@ type Project { ): Release """ - Releases of the project. Available only when feature flag `graphql_release_data` is enabled + Releases of the project """ releases( """ @@ -9125,7 +9804,7 @@ type Project { iids: [ID!] """ - Filter requirements by title search + Search query for requirement title """ search: String @@ -9185,7 +9864,7 @@ type Project { last: Int """ - Filter requirements by title search + Search query for requirement title """ search: String @@ -9201,6 +9880,16 @@ type Project { ): RequirementConnection """ + SAST CI configuration for the project + """ + sastCiConfiguration: SastCiConfiguration + + """ + Information about security analyzers used in the project + """ + securityScanners: SecurityScanners + + """ Detailed version of a Sentry error on the project """ sentryDetailedError( @@ -9375,6 +10064,11 @@ type Project { reportType: [VulnerabilityReportType!] """ + Filter vulnerabilities by scanner + """ + scanner: [String!] + + """ Filter vulnerabilities by severity """ severity: [VulnerabilitySeverity!] @@ -9386,6 +10080,31 @@ type Project { ): VulnerabilityConnection """ + Vulnerability scanners reported on the project vulnerabilties + """ + vulnerabilityScanners( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): VulnerabilityScannerConnection + + """ Counts for each severity of vulnerability of the project """ vulnerabilitySeveritiesCount: VulnerabilitySeveritiesCount @@ -9733,6 +10452,17 @@ type ProjectPermissions { uploadFile: Boolean! } +""" +Names of compliance frameworks that can be assigned to a Project +""" +enum ProjectSettingEnum { + gdpr + hipaa + pci_dss + soc_2 + sox +} + type ProjectStatistics { """ Build artifacts size of the project @@ -9760,6 +10490,11 @@ type ProjectStatistics { repositorySize: Float! """ + Snippets size of the project + """ + snippetsSize: Float + + """ Storage size of the project """ storageSize: Float! @@ -9871,7 +10606,7 @@ type Query { membership: Boolean """ - Search criteria + Search query for project name, path, or description """ search: String ): ProjectConnection @@ -9932,7 +10667,7 @@ type Query { ): SnippetConnection """ - Find a user on this instance + Find a user """ user( """ @@ -10021,6 +10756,11 @@ type Query { reportType: [VulnerabilityReportType!] """ + Filter vulnerabilities by scanner + """ + scanner: [String!] + + """ Filter vulnerabilities by severity """ severity: [VulnerabilitySeverity!] @@ -10092,6 +10832,9 @@ enum RegistryState { SYNCED } +""" +Represents a release +""" type Release { """ Assets of the release @@ -10149,6 +10892,11 @@ type Release { ): ReleaseEvidenceConnection """ + Links of the release + """ + links: ReleaseLinks + + """ Milestones associated to the release """ milestones( @@ -10186,7 +10934,7 @@ type Release { """ Name of the tag associated with the release """ - tagName: String! + tagName: String """ Relative web path to the tag associated with the release @@ -10194,11 +10942,104 @@ type Release { tagPath: String } +""" +Represents an asset link associated with a release +""" +type ReleaseAssetLink { + """ + Indicates the link points to an external resource + """ + external: Boolean + + """ + ID of the link + """ + id: ID! + + """ + Type of the link: `other`, `runbook`, `image`, `package`; defaults to `other` + """ + linkType: ReleaseAssetLinkType + + """ + Name of the link + """ + name: String + + """ + URL of the link + """ + url: String +} + +""" +The connection type for ReleaseAssetLink. +""" +type ReleaseAssetLinkConnection { + """ + A list of edges. + """ + edges: [ReleaseAssetLinkEdge] + + """ + A list of nodes. + """ + nodes: [ReleaseAssetLink] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! +} + +""" +An edge in a connection. +""" +type ReleaseAssetLinkEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: ReleaseAssetLink +} + +""" +Type of the link: `other`, `runbook`, `image`, `package`; defaults to `other` +""" +enum ReleaseAssetLinkType { + """ + Image link type + """ + IMAGE + + """ + Other link type + """ + OTHER + + """ + Package link type + """ + PACKAGE + + """ + Runbook link type + """ + RUNBOOK +} + +""" +A container for all assets associated with a release +""" type ReleaseAssets { """ Number of assets of the release """ - assetsCount: Int + count: Int """ Asset links of the release @@ -10223,7 +11064,7 @@ type ReleaseAssets { Returns the last _n_ elements from the list. """ last: Int - ): ReleaseLinkConnection + ): ReleaseAssetLinkConnection """ Sources of the release @@ -10346,93 +11187,31 @@ type ReleaseEvidenceEdge { node: ReleaseEvidence } -type ReleaseLink { +type ReleaseLinks { """ - Indicates the link points to an external resource + HTTP URL of the release's edit page """ - external: Boolean + editUrl: String """ - ID of the link + HTTP URL of the issues page filtered by this release """ - id: ID! + issuesUrl: String """ - Type of the link: `other`, `runbook`, `image`, `package`; defaults to `other` + HTTP URL of the merge request page filtered by this release """ - linkType: ReleaseLinkType + mergeRequestsUrl: String """ - Name of the link + HTTP URL of the release """ - name: String - - """ - URL of the link - """ - url: String + selfUrl: String } """ -The connection type for ReleaseLink. -""" -type ReleaseLinkConnection { - """ - A list of edges. - """ - edges: [ReleaseLinkEdge] - - """ - A list of nodes. - """ - nodes: [ReleaseLink] - - """ - Information to aid in pagination. - """ - pageInfo: PageInfo! -} - -""" -An edge in a connection. +Represents the source code attached to a release in a particular format """ -type ReleaseLinkEdge { - """ - A cursor for use in pagination. - """ - cursor: String! - - """ - The item at the end of the edge. - """ - node: ReleaseLink -} - -""" -Type of the link: `other`, `runbook`, `image`, `package`; defaults to `other` -""" -enum ReleaseLinkType { - """ - Image link type - """ - IMAGE - - """ - Other link type - """ - OTHER - - """ - Package link type - """ - PACKAGE - - """ - Runbook link type - """ - RUNBOOK -} - type ReleaseSource { """ Format of the source @@ -10799,6 +11578,11 @@ type RootStorageStatistics { repositorySize: Float! """ + The snippets size in bytes + """ + snippetsSize: Float! + + """ The total storage in bytes """ storageSize: Float! @@ -10860,6 +11644,341 @@ type RunDASTScanPayload { } """ +Represents a CI configuration of SAST +""" +type SastCiConfiguration { + """ + List of analyzers entities attached to SAST configuration. + """ + analyzers( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): SastCiConfigurationAnalyzersEntityConnection + + """ + List of global entities related to SAST configuration. + """ + global( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): SastCiConfigurationEntityConnection + + """ + List of pipeline entities related to SAST configuration. + """ + pipeline( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): SastCiConfigurationEntityConnection +} + +""" +Represents an analyzer entity in SAST CI configuration +""" +type SastCiConfigurationAnalyzersEntity { + """ + Analyzer description that is displayed on the form. + """ + description: String + + """ + Indicates whether an analyzer is enabled. + """ + enabled: Boolean + + """ + Analyzer label used in the config UI. + """ + label: String + + """ + Name of the analyzer. + """ + name: String +} + +""" +The connection type for SastCiConfigurationAnalyzersEntity. +""" +type SastCiConfigurationAnalyzersEntityConnection { + """ + A list of edges. + """ + edges: [SastCiConfigurationAnalyzersEntityEdge] + + """ + A list of nodes. + """ + nodes: [SastCiConfigurationAnalyzersEntity] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! +} + +""" +An edge in a connection. +""" +type SastCiConfigurationAnalyzersEntityEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: SastCiConfigurationAnalyzersEntity +} + +""" +Represents an entity in SAST CI configuration +""" +type SastCiConfigurationEntity { + """ + Default value that is used if value is empty. + """ + defaultValue: String + + """ + Entity description that is displayed on the form. + """ + description: String + + """ + CI keyword of entity. + """ + field: String + + """ + Label for entity used in the form. + """ + label: String + + """ + Different possible values of the field. + """ + options( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): SastCiConfigurationOptionsEntityConnection + + """ + Type of the field value. + """ + type: String + + """ + Current value of the entity. + """ + value: String +} + +""" +The connection type for SastCiConfigurationEntity. +""" +type SastCiConfigurationEntityConnection { + """ + A list of edges. + """ + edges: [SastCiConfigurationEntityEdge] + + """ + A list of nodes. + """ + nodes: [SastCiConfigurationEntity] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! +} + +""" +An edge in a connection. +""" +type SastCiConfigurationEntityEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: SastCiConfigurationEntity +} + +""" +Represents an entity for options in SAST CI configuration +""" +type SastCiConfigurationOptionsEntity { + """ + Label of option entity. + """ + label: String + + """ + Value of option entity. + """ + value: String +} + +""" +The connection type for SastCiConfigurationOptionsEntity. +""" +type SastCiConfigurationOptionsEntityConnection { + """ + A list of edges. + """ + edges: [SastCiConfigurationOptionsEntityEdge] + + """ + A list of nodes. + """ + nodes: [SastCiConfigurationOptionsEntity] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! +} + +""" +An edge in a connection. +""" +type SastCiConfigurationOptionsEntityEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: SastCiConfigurationOptionsEntity +} + +""" +Represents a resource scanned by a security scan +""" +type ScannedResource { + """ + The HTTP request method used to access the URL + """ + requestMethod: String + + """ + The URL scanned by the scanner + """ + url: String +} + +""" +The connection type for ScannedResource. +""" +type ScannedResourceConnection { + """ + A list of edges. + """ + edges: [ScannedResourceEdge] + + """ + A list of nodes. + """ + nodes: [ScannedResource] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! +} + +""" +An edge in a connection. +""" +type ScannedResourceEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: ScannedResource +} + +""" Represents summary of a security report """ type SecurityReportSummary { @@ -10869,6 +11988,11 @@ type SecurityReportSummary { containerScanning: SecurityReportSummarySection """ + Aggregated counts for the coverage_fuzzing scan + """ + coverageFuzzing: SecurityReportSummarySection + + """ Aggregated counts for the dast scan """ dast: SecurityReportSummarySection @@ -10894,17 +12018,78 @@ Represents a section of a summary of a security report """ type SecurityReportSummarySection { """ + A list of the first 20 scanned resources + """ + scannedResources( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): ScannedResourceConnection + + """ Total number of scanned resources """ scannedResourcesCount: Int """ + Path to download all the scanned resources in CSV format + """ + scannedResourcesCsvPath: String + + """ Total number of vulnerabilities """ vulnerabilitiesCount: Int } """ +The type of the security scanner. +""" +enum SecurityScannerType { + CONTAINER_SCANNING + DAST + DEPENDENCY_SCANNING + SAST + SECRET_DETECTION +} + +""" +Represents a list of security scanners +""" +type SecurityScanners { + """ + List of analyzers which are available for the project. + """ + available: [SecurityScannerType!] + + """ + List of analyzers which are enabled for the project. + """ + enabled: [SecurityScannerType!] + + """ + List of analyzers which ran successfully in the latest pipeline. + """ + pipelineRun: [SecurityScannerType!] +} + +""" A Sentry error. """ type SentryDetailedError { @@ -10934,11 +12119,16 @@ type SentryDetailedError { firstReleaseLastCommit: String """ - Release version the error was first seen + Release short version the error was first seen """ firstReleaseShortVersion: String """ + Release version the error was first seen + """ + firstReleaseVersion: String + + """ Timestamp when the error was first seen """ firstSeen: Time! @@ -10974,11 +12164,16 @@ type SentryDetailedError { lastReleaseLastCommit: String """ - Release version the error was last seen + Release short version the error was last seen """ lastReleaseShortVersion: String """ + Release version the error was last seen + """ + lastReleaseVersion: String + + """ Timestamp when the error was last seen """ lastSeen: Time! @@ -11178,7 +12373,7 @@ type SentryErrorCollection { last: Int """ - Search term for the Sentry error. + Search query for the Sentry error details """ searchTerm: String @@ -11401,6 +12596,7 @@ enum ServiceType { BUGZILLA_SERVICE BUILDKITE_SERVICE CAMPFIRE_SERVICE + CONFLUENCE_SERVICE CUSTOM_ISSUE_TRACKER_SERVICE DISCORD_SERVICE DRONE_CI_SERVICE @@ -11710,6 +12906,41 @@ type SnippetEdge { node: Snippet } +""" +Type of a snippet file input action +""" +enum SnippetFileInputActionEnum { + create + delete + move + update +} + +""" +Represents an action to perform over a snippet file +""" +input SnippetFileInputType { + """ + Type of input action + """ + action: SnippetFileInputActionEnum! + + """ + Snippet file content + """ + content: String + + """ + Path of the snippet file + """ + filePath: String! + + """ + Previous path of the snippet file + """ + previousPath: String +} + type SnippetPermissions { """ Indicates the user can perform `admin_snippet` on this resource @@ -11923,6 +13154,7 @@ type TestReportEdge { State of a test report """ enum TestReportState { + FAILED PASSED } @@ -12168,9 +13400,14 @@ type TodoRestoreManyPayload { errors: [String!]! """ - The ids of the updated todo items + Updated todos + """ + todos: [Todo!]! + + """ + The ids of the updated todo items. Deprecated in 13.2: Use todos """ - updatedIds: [ID!]! + updatedIds: [ID!]! @deprecated(reason: "Use todos. Deprecated in 13.2") } """ @@ -12200,6 +13437,11 @@ enum TodoStateEnum { enum TodoTargetEnum { """ + An Alert + """ + ALERT + + """ A Commit """ COMMIT @@ -12250,9 +13492,14 @@ type TodosMarkAllDonePayload { errors: [String!]! """ - Ids of the updated todos + Updated todos + """ + todos: [Todo!]! + + """ + Ids of the updated todos. Deprecated in 13.2: Use todos """ - updatedIds: [ID!]! + updatedIds: [ID!]! @deprecated(reason: "Use todos. Deprecated in 13.2") } """ @@ -12463,6 +13710,11 @@ enum TypeEnum { } """ +A regexp containing patterns sourced from user input +""" +scalar UntrustedRegexp + +""" Autogenerated input type of UpdateAlertStatus """ input UpdateAlertStatusInput { @@ -12510,6 +13762,11 @@ type UpdateAlertStatusPayload { The issue created after mutation """ issue: Issue + + """ + The todo after mutation + """ + todo: Todo } """ @@ -12537,6 +13794,16 @@ input UpdateContainerExpirationPolicyInput { keepN: ContainerExpirationPolicyKeepEnum """ + Tags with names matching this regex pattern will expire + """ + nameRegex: UntrustedRegexp + + """ + Tags with names matching this regex pattern will be preserved + """ + nameRegexKeep: UntrustedRegexp + + """ Tags older that this will expire """ olderThan: ContainerExpirationPolicyOlderThanEnum @@ -12790,6 +14057,66 @@ type UpdateIssuePayload { } """ +Autogenerated input type of UpdateIteration +""" +input UpdateIterationInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The description of the iteration + """ + description: String + + """ + The end date of the iteration + """ + dueDate: String + + """ + The group of the iteration + """ + groupPath: ID! + + """ + The id of the iteration + """ + id: ID! + + """ + The start date of the iteration + """ + startDate: String + + """ + The title of the iteration + """ + title: String +} + +""" +Autogenerated return type of UpdateIteration +""" +type UpdateIterationPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! + + """ + The updated iteration + """ + iteration: Iteration +} + +""" Autogenerated input type of UpdateNote """ input UpdateNoteInput { @@ -12904,6 +14231,11 @@ input UpdateSnippetInput { fileName: String """ + The snippet files to update + """ + files: [SnippetFileInputType!] + + """ The global id of the snippet to update """ id: ID! @@ -13387,6 +14719,11 @@ type Vulnerability { id: ID! """ + Identifiers of the vulnerability. + """ + identifiers: [VulnerabilityIdentifier!]! + + """ List of issue links related to the vulnerability """ issueLinks( @@ -13422,17 +14759,28 @@ type Vulnerability { location: VulnerabilityLocation """ + Primary identifier of the vulnerability. + """ + primaryIdentifier: VulnerabilityIdentifier + + """ The project on which the vulnerability was found """ project: Project """ Type of the security report that found the vulnerability (SAST, - DEPENDENCY_SCANNING, CONTAINER_SCANNING, DAST, SECRET_DETECTION) + DEPENDENCY_SCANNING, CONTAINER_SCANNING, DAST, SECRET_DETECTION, + COVERAGE_FUZZING) """ reportType: VulnerabilityReportType """ + Scanner metadata for the vulnerability. + """ + scanner: VulnerabilityScanner + + """ Severity of the vulnerability (INFO, UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL) """ severity: VulnerabilitySeverity @@ -13499,6 +14847,31 @@ type VulnerabilityEdge { } """ +Represents a vulnerability identifier. +""" +type VulnerabilityIdentifier { + """ + External ID of the vulnerability identifier + """ + externalId: String + + """ + External type of the vulnerability identifier + """ + externalType: String + + """ + Name of the vulnerability identifier + """ + name: String + + """ + URL of the vulnerability identifier + """ + url: String +} + +""" Represents an issue link of a vulnerability. """ type VulnerabilityIssueLink { @@ -13736,6 +15109,7 @@ The type of the security scan that found the vulnerability. """ enum VulnerabilityReportType { CONTAINER_SCANNING + COVERAGE_FUZZING DAST DEPENDENCY_SCANNING SAST @@ -13743,6 +15117,66 @@ enum VulnerabilityReportType { } """ +Represents a vulnerability scanner. +""" +type VulnerabilityScanner { + """ + External ID of the vulnerability scanner + """ + externalId: String + + """ + Name of the vulnerability scanner + """ + name: String + + """ + Type of the vulnerability report + """ + reportType: VulnerabilityReportType + + """ + Vendor of the vulnerability scanner + """ + vendor: String +} + +""" +The connection type for VulnerabilityScanner. +""" +type VulnerabilityScannerConnection { + """ + A list of edges. + """ + edges: [VulnerabilityScannerEdge] + + """ + A list of nodes. + """ + nodes: [VulnerabilityScanner] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! +} + +""" +An edge in a connection. +""" +type VulnerabilityScannerEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: VulnerabilityScanner +} + +""" Represents vulnerability counts by severity """ type VulnerabilitySeveritiesCount { |