diff options
Diffstat (limited to 'doc/api/graphql/reference/gitlab_schema.graphql')
-rw-r--r-- | doc/api/graphql/reference/gitlab_schema.graphql | 2033 |
1 files changed, 1972 insertions, 61 deletions
diff --git a/doc/api/graphql/reference/gitlab_schema.graphql b/doc/api/graphql/reference/gitlab_schema.graphql index 9cdc83d584c..91f1413943c 100644 --- a/doc/api/graphql/reference/gitlab_schema.graphql +++ b/doc/api/graphql/reference/gitlab_schema.graphql @@ -33,12 +33,47 @@ type AddAwardEmojiPayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! } """ +Autogenerated input type of AddProjectToSecurityDashboard +""" +input AddProjectToSecurityDashboardInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + ID of the project to be added to Instance Security Dashboard + """ + id: ID! +} + +""" +Autogenerated return type of AddProjectToSecurityDashboard +""" +type AddProjectToSecurityDashboardPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! + + """ + Project that was added to the Instance Security Dashboard + """ + project: Project +} + +""" Autogenerated input type of AdminSidekiqQueuesDeleteJobs """ input AdminSidekiqQueuesDeleteJobsInput { @@ -93,7 +128,7 @@ type AdminSidekiqQueuesDeleteJobsPayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -104,6 +139,311 @@ type AdminSidekiqQueuesDeleteJobsPayload { } """ +Describes an alert from the project's Alert Management +""" +type AlertManagementAlert { + """ + Timestamp the alert was created + """ + createdAt: Time + + """ + Description of the alert + """ + description: String + + """ + Alert details + """ + details: JSON + + """ + Timestamp the alert ended + """ + endedAt: Time + + """ + Number of events of this alert + """ + eventCount: Int + + """ + List of hosts the alert came from + """ + hosts: [String!] + + """ + Internal ID of the alert + """ + iid: ID! + + """ + Internal ID of the GitLab issue attached to the alert + """ + issueIid: ID + + """ + Monitoring tool the alert came from + """ + monitoringTool: String + + """ + Service the alert came from + """ + service: String + + """ + Severity of the alert + """ + severity: AlertManagementSeverity + + """ + Timestamp the alert was raised + """ + startedAt: Time + + """ + Status of the alert + """ + status: AlertManagementStatus + + """ + Title of the alert + """ + title: String + + """ + Timestamp the alert was last updated + """ + updatedAt: Time +} + +""" +The connection type for AlertManagementAlert. +""" +type AlertManagementAlertConnection { + """ + A list of edges. + """ + edges: [AlertManagementAlertEdge] + + """ + A list of nodes. + """ + nodes: [AlertManagementAlert] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! +} + +""" +An edge in a connection. +""" +type AlertManagementAlertEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: AlertManagementAlert +} + +""" +Values for sorting alerts +""" +enum AlertManagementAlertSort { + """ + Created time by ascending order + """ + CREATED_TIME_ASC + + """ + Created time by descending order + """ + CREATED_TIME_DESC + + """ + End time by ascending order + """ + END_TIME_ASC + + """ + End time by descending order + """ + END_TIME_DESC + + """ + Events count by ascending order + """ + EVENTS_COUNT_ASC + + """ + Events count by descending order + """ + EVENTS_COUNT_DESC + + """ + Severity by ascending order + """ + SEVERITY_ASC + + """ + Severity by descending order + """ + SEVERITY_DESC + + """ + Start time by ascending order + """ + START_TIME_ASC + + """ + Start time by descending order + """ + START_TIME_DESC + + """ + Status by ascending order + """ + STATUS_ASC + + """ + Status by descending order + """ + STATUS_DESC + + """ + Created time by ascending order + """ + UPDATED_TIME_ASC + + """ + Created time by descending order + """ + UPDATED_TIME_DESC + + """ + Created at ascending order + """ + created_asc + + """ + Created at descending order + """ + created_desc + + """ + Updated at ascending order + """ + updated_asc + + """ + Updated at descending order + """ + updated_desc +} + +""" +Represents total number of alerts for the represented categories +""" +type AlertManagementAlertStatusCountsType { + """ + Number of alerts with status ACKNOWLEDGED for the project + """ + acknowledged: Int + + """ + Total number of alerts for the project + """ + all: Int + + """ + Number of alerts with status IGNORED for the project + """ + ignored: Int + + """ + Number of alerts with status TRIGGERED or ACKNOWLEDGED for the project + """ + open: Int + + """ + Number of alerts with status RESOLVED for the project + """ + resolved: Int + + """ + Number of alerts with status TRIGGERED for the project + """ + triggered: Int +} + +""" +Alert severity values +""" +enum AlertManagementSeverity { + """ + Critical severity + """ + CRITICAL + + """ + High severity + """ + HIGH + + """ + Info severity + """ + INFO + + """ + Low severity + """ + LOW + + """ + Medium severity + """ + MEDIUM + + """ + Unknown severity + """ + UNKNOWN +} + +""" +Alert status values +""" +enum AlertManagementStatus { + """ + Acknowledged status + """ + ACKNOWLEDGED + + """ + Ignored status + """ + IGNORED + + """ + Resolved status + """ + RESOLVED + + """ + Triggered status + """ + TRIGGERED +} + +""" An emoji awarded by a user. """ type AwardEmoji { @@ -246,6 +586,31 @@ type Board { id: ID! """ + Lists of the project board + """ + lists( + """ + 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 + ): BoardListConnection + + """ Name of the board """ name: String @@ -291,6 +656,163 @@ type BoardEdge { node: Board } +""" +Represents a list for an issue board +""" +type BoardList { + """ + Assignee in the list + """ + assignee: User + + """ + Indicates if list is collapsed for this user + """ + collapsed: Boolean + + """ + ID (global ID) of the list + """ + id: ID! + + """ + Label of the list + """ + label: Label + + """ + The current limit metric for the list + """ + limitMetric: ListLimitMetric + + """ + Type of the list + """ + listType: String! + + """ + Maximum number of issues in the list + """ + maxIssueCount: Int + + """ + Maximum weight of issues in the list + """ + maxIssueWeight: Int + + """ + Milestone of the list + """ + milestone: Milestone + + """ + Position of list within the board + """ + position: Int + + """ + Title of the list + """ + title: String! +} + +""" +The connection type for BoardList. +""" +type BoardListConnection { + """ + A list of edges. + """ + edges: [BoardListEdge] + + """ + A list of nodes. + """ + nodes: [BoardList] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! +} + +""" +An edge in a connection. +""" +type BoardListEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: BoardList +} + +""" +Autogenerated input type of BoardListUpdateLimitMetrics +""" +input BoardListUpdateLimitMetricsInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The new limit metric type for the list. + """ + limitMetric: ListLimitMetric + + """ + The global ID of the list. + """ + listId: ID! + + """ + The new maximum issue count limit. + """ + maxIssueCount: Int + + """ + The new maximum issue weight limit. + """ + maxIssueWeight: Int +} + +""" +Autogenerated return type of BoardListUpdateLimitMetrics +""" +type BoardListUpdateLimitMetricsPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! + + """ + The updated list + """ + list: BoardList +} + +type Branch { + """ + Commit for the branch + """ + commit: Commit + + """ + Name of the branch + """ + name: String! +} + type Commit { """ Author of the commit @@ -403,12 +925,167 @@ type Commit { title: String """ + The GitLab Flavored Markdown rendering of `title` + """ + titleHtml: String + + """ Web URL of the commit """ webUrl: String! } """ +Autogenerated input type of CreateAlertIssue +""" +input CreateAlertIssueInput { + """ + 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 CreateAlertIssue +""" +type CreateAlertIssuePayload { + """ + 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 +} + +""" +Autogenerated input type of CreateAnnotation +""" +input CreateAnnotationInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The global id of the cluster to add an annotation to + """ + clusterId: ID + + """ + The path to a file defining the dashboard on which the annotation should be added + """ + dashboardPath: String! + + """ + The description of the annotation + """ + description: String! + + """ + Timestamp indicating ending moment to which the annotation relates + """ + endingAt: Time + + """ + The global id of the environment to add an annotation to + """ + environmentId: ID + + """ + Timestamp indicating starting moment to which the annotation relates + """ + startingAt: Time! +} + +""" +Autogenerated return type of CreateAnnotation +""" +type CreateAnnotationPayload { + """ + The created annotation + """ + annotation: MetricsDashboardAnnotation + + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! +} + +""" +Autogenerated input type of CreateBranch +""" +input CreateBranchInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Name of the branch + """ + name: String! + + """ + Project full path the branch is associated with + """ + projectPath: ID! + + """ + Branch name or commit SHA to create branch from + """ + ref: String! +} + +""" +Autogenerated return type of CreateBranch +""" +type CreateBranchPayload { + """ + Branch after mutation + """ + branch: Branch + + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! +} + +""" Autogenerated input type of CreateDiffNote """ input CreateDiffNoteInput { @@ -443,7 +1120,7 @@ type CreateDiffNotePayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -528,7 +1205,7 @@ type CreateEpicPayload { epic: Epic """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! } @@ -568,7 +1245,7 @@ type CreateImageDiffNotePayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -579,6 +1256,61 @@ type CreateImageDiffNotePayload { } """ +Autogenerated input type of CreateIteration +""" +input CreateIterationInput { + """ + 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 target group for the iteration + """ + groupPath: ID! + + """ + The start date of the iteration + """ + startDate: String + + """ + The title of the iteration + """ + title: String +} + +""" +Autogenerated return type of CreateIteration +""" +type CreateIterationPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. + """ + errors: [String!]! + + """ + The created iteration + """ + iteration: Iteration +} + +""" Autogenerated input type of CreateNote """ input CreateNoteInput { @@ -613,7 +1345,7 @@ type CreateNotePayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -653,7 +1385,7 @@ type CreateRequirementPayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -698,6 +1430,11 @@ input CreateSnippetInput { title: String! """ + The paths to files uploaded in the snippet description + """ + uploadedFiles: [String!] + + """ The visibility level of the snippet """ visibilityLevel: VisibilityLevelsEnum! @@ -713,7 +1450,7 @@ type CreateSnippetPayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -1258,7 +1995,7 @@ type DesignManagementDeletePayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -1308,7 +2045,7 @@ type DesignManagementUploadPayload { designs: [Design!]! """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -1498,7 +2235,7 @@ type DestroyNotePayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -1533,7 +2270,7 @@ type DestroySnippetPayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -1862,7 +2599,7 @@ type DismissVulnerabilityPayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -2415,7 +3152,7 @@ type EpicAddIssuePayload { epicIssue: EpicIssue """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! } @@ -2650,6 +3387,11 @@ type EpicIssue implements Noteable { iid: ID! """ + Iteration of the issue + """ + iteration: Iteration + + """ Labels of the issue """ labels( @@ -2940,7 +3682,7 @@ type EpicSetSubscriptionPayload { epic: Epic """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! } @@ -3001,7 +3743,7 @@ input EpicTreeNodeFieldsInputType { """ The id of the epic_issue or issue that the actual epic or issue is switched with """ - adjacentReferenceId: ID! + adjacentReferenceId: ID """ The id of the epic_issue or epic that is being moved @@ -3016,7 +3758,7 @@ input EpicTreeNodeFieldsInputType { """ The type of the switch, after or before allowed """ - relativePosition: MoveType! + relativePosition: MoveType } """ @@ -3049,7 +3791,7 @@ type EpicTreeReorderPayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! } @@ -3091,6 +3833,36 @@ type GeoNode { name: String """ + Package file registries of the GeoNode. Available only when feature flag `geo_self_service_framework` is enabled + """ + packageFileRegistries( + """ + 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 + + """ + Filters registries by their ID + """ + ids: [ID!] + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): PackageFileRegistryConnection + + """ Indicates whether this Geo node is the primary """ primary: Boolean @@ -3163,7 +3935,7 @@ type GrafanaIntegration { enabled: Boolean! """ - Url for the Grafana host for the Grafana integration + URL for the Grafana host for the Grafana integration """ grafanaUrl: String! @@ -3509,6 +4281,53 @@ type Group { ): IssueConnection """ + Find iterations + """ + iterations( + """ + 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 + + """ + List items within a time frame where items.end_date is between startDate and + endDate parameters (startDate parameter must be present) + """ + endDate: Time + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + List items within a time frame where items.start_date is between startDate + and endDate parameters (endDate parameter must be present) + """ + startDate: Time + + """ + Filter iterations by state + """ + state: IterationState + + """ + Fuzzy search by title + """ + title: String + ): IterationConnection + + """ Indicates if Large File Storage (LFS) is enabled for namespace """ lfsEnabled: Boolean @@ -3544,6 +4363,11 @@ type Group { first: Int """ + Return also milestones in all subgroups and subprojects + """ + includeDescendants: Boolean + + """ Returns the last _n_ elements from the list. """ last: Int @@ -3600,6 +4424,11 @@ type Group { first: Int """ + Returns only the projects which have vulnerabilities + """ + hasVulnerabilities: Boolean = false + + """ Include also subgroup projects """ includeSubgroups: Boolean = false @@ -3650,9 +4479,14 @@ type Group { before: String """ - List time logs within a time range where the logged date is before end_date parameter. + List time logs within a date range where the logged date is equal to or before endDate """ - endDate: Time! + endDate: Time + + """ + List time-logs within a time range where the logged time is equal to or before endTime + """ + endTime: Time """ Returns the first _n_ elements from the list. @@ -3665,9 +4499,14 @@ type Group { last: Int """ - List time logs within a time range where the logged date is after start_date parameter. + List time logs within a date range where the logged date is equal to or after startDate """ - startDate: Time! + startDate: Time + + """ + List time-logs within a time range where the logged time is equal to or after startTime + """ + startTime: Time ): TimelogConnection! """ @@ -3686,8 +4525,7 @@ type Group { visibility: String """ - Vulnerabilities reported on the projects in the group and its subgroups. - Available only when feature flag `first_class_vulnerabilities` is enabled + Vulnerabilities reported on the projects in the group and its subgroups """ vulnerabilities( """ @@ -3732,6 +4570,41 @@ type Group { ): VulnerabilityConnection """ + Number of vulnerabilities per severity level, per day, for the projects in the group and its subgroups + """ + vulnerabilitiesCountByDayAndSeverity( + """ + 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 + + """ + Last day for which to fetch vulnerability history + """ + endDate: ISO8601Date! + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + First day for which to fetch vulnerability history + """ + startDate: ISO8601Date! + ): VulnerabilitiesCountByDayAndSeverityConnection + + """ Web URL of the group """ webUrl: String! @@ -3754,6 +4627,38 @@ enum HealthStatus { } """ +An ISO 8601-encoded date +""" +scalar ISO8601Date + +type InstanceSecurityDashboard { + """ + Projects selected in Instance Security Dashboard + """ + projects( + """ + 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 + ): ProjectConnection! +} + +""" State of a GitLab issue or merge request """ enum IssuableState { @@ -3884,6 +4789,11 @@ type Issue implements Noteable { iid: ID! """ + Iteration of the issue + """ + iteration: Iteration + + """ Labels of the issue """ labels( @@ -4164,7 +5074,7 @@ type IssueSetConfidentialPayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -4209,7 +5119,52 @@ type IssueSetDueDatePayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. + """ + errors: [String!]! + + """ + The issue after mutation + """ + issue: Issue +} + +""" +Autogenerated input type of IssueSetIteration +""" +input IssueSetIterationInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The iid of the issue to mutate + """ + iid: String! + + """ + The iteration to assign to the issue. + """ + iterationId: ID + + """ + The project the issue to mutate is in + """ + projectPath: ID! +} + +""" +Autogenerated return type of IssueSetIteration +""" +type IssueSetIterationPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -4254,7 +5209,7 @@ type IssueSetWeightPayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -4279,6 +5234,36 @@ enum IssueSort { DUE_DATE_DESC """ + Label priority by ascending order + """ + LABEL_PRIORITY_ASC + + """ + Label priority by descending order + """ + LABEL_PRIORITY_DESC + + """ + Milestone due date by ascending order + """ + MILESTONE_DUE_ASC + + """ + Milestone due date by descending order + """ + MILESTONE_DUE_DESC + + """ + Priority by ascending order + """ + PRIORITY_ASC + + """ + Priority by descending order + """ + PRIORITY_DESC + + """ Relative position by ascending order """ RELATIVE_POSITION_ASC @@ -4324,18 +5309,124 @@ enum IssueState { } """ +Represents an iteration object. +""" +type Iteration { + """ + Timestamp of iteration creation + """ + createdAt: Time! + + """ + Description of the iteration + """ + description: String + + """ + Timestamp of the iteration due date + """ + dueDate: Time + + """ + ID of the iteration + """ + id: ID! + + """ + Timestamp of the iteration start date + """ + startDate: Time + + """ + State of the iteration + """ + state: IterationState! + + """ + Title of the iteration + """ + title: String! + + """ + Timestamp of last iteration update + """ + updatedAt: Time! + + """ + Web path of the iteration + """ + webPath: String! + + """ + Web URL of the iteration + """ + webUrl: String! +} + +""" +The connection type for Iteration. +""" +type IterationConnection { + """ + A list of edges. + """ + edges: [IterationEdge] + + """ + A list of nodes. + """ + nodes: [Iteration] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! +} + +""" +An edge in a connection. +""" +type IterationEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: Iteration +} + +""" +State of a GitLab iteration +""" +enum IterationState { + all + closed + opened + started + upcoming +} + +""" Represents untyped JSON """ scalar JSON type JiraImport { """ + Timestamp of when the Jira import was created + """ + createdAt: Time + + """ Project key for the imported Jira project """ jiraProjectKey: String! """ - Timestamp of when the Jira import was created + Timestamp of when the Jira import was scheduled """ scheduledAt: Time @@ -4415,7 +5506,7 @@ type JiraImportStartPayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -4505,6 +5596,15 @@ type LabelEdge { } """ +List limit metric setting +""" +enum ListLimitMetric { + all_metrics + issue_count + issue_weights +} + +""" Autogenerated input type of MarkAsSpamSnippet """ input MarkAsSpamSnippetInput { @@ -4529,7 +5629,7 @@ type MarkAsSpamSnippetPayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -5076,7 +6176,7 @@ type MergeRequestSetAssigneesPayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -5126,7 +6226,7 @@ type MergeRequestSetLabelsPayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -5171,7 +6271,7 @@ type MergeRequestSetLockedPayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -5216,7 +6316,7 @@ type MergeRequestSetMilestonePayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -5261,7 +6361,7 @@ type MergeRequestSetSubscriptionPayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -5306,7 +6406,7 @@ type MergeRequestSetWipPayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -5340,7 +6440,7 @@ type Metadata { type MetricsDashboard { """ - Annotations added to the dashboard. Will always return `null` if `metrics_dashboard_annotations` feature flag is disabled + Annotations added to the dashboard """ annotations( """ @@ -5389,7 +6489,7 @@ type MetricsDashboardAnnotation { """ Timestamp marking end of annotated time span """ - endingAt: String + endingAt: Time """ ID of the annotation @@ -5404,7 +6504,7 @@ type MetricsDashboardAnnotation { """ Timestamp marking start of annotated time span """ - startingAt: String + startingAt: Time } """ @@ -5549,10 +6649,16 @@ enum MoveType { type Mutation { addAwardEmoji(input: AddAwardEmojiInput!): AddAwardEmojiPayload + addProjectToSecurityDashboard(input: AddProjectToSecurityDashboardInput!): AddProjectToSecurityDashboardPayload adminSidekiqQueuesDeleteJobs(input: AdminSidekiqQueuesDeleteJobsInput!): AdminSidekiqQueuesDeleteJobsPayload + boardListUpdateLimitMetrics(input: BoardListUpdateLimitMetricsInput!): BoardListUpdateLimitMetricsPayload + createAlertIssue(input: CreateAlertIssueInput!): CreateAlertIssuePayload + createAnnotation(input: CreateAnnotationInput!): CreateAnnotationPayload + createBranch(input: CreateBranchInput!): CreateBranchPayload createDiffNote(input: CreateDiffNoteInput!): CreateDiffNotePayload createEpic(input: CreateEpicInput!): CreateEpicPayload createImageDiffNote(input: CreateImageDiffNoteInput!): CreateImageDiffNotePayload + createIteration(input: CreateIterationInput!): CreateIterationPayload createNote(input: CreateNoteInput!): CreateNotePayload createRequirement(input: CreateRequirementInput!): CreateRequirementPayload createSnippet(input: CreateSnippetInput!): CreateSnippetPayload @@ -5566,6 +6672,7 @@ type Mutation { epicTreeReorder(input: EpicTreeReorderInput!): EpicTreeReorderPayload issueSetConfidential(input: IssueSetConfidentialInput!): IssueSetConfidentialPayload issueSetDueDate(input: IssueSetDueDateInput!): IssueSetDueDatePayload + issueSetIteration(input: IssueSetIterationInput!): IssueSetIterationPayload issueSetWeight(input: IssueSetWeightInput!): IssueSetWeightPayload jiraImportStart(input: JiraImportStartInput!): JiraImportStartPayload markAsSpamSnippet(input: MarkAsSpamSnippetInput!): MarkAsSpamSnippetPayload @@ -5576,11 +6683,13 @@ type Mutation { mergeRequestSetSubscription(input: MergeRequestSetSubscriptionInput!): MergeRequestSetSubscriptionPayload mergeRequestSetWip(input: MergeRequestSetWipInput!): MergeRequestSetWipPayload removeAwardEmoji(input: RemoveAwardEmojiInput!): RemoveAwardEmojiPayload + removeProjectFromSecurityDashboard(input: RemoveProjectFromSecurityDashboardInput!): RemoveProjectFromSecurityDashboardPayload todoMarkDone(input: TodoMarkDoneInput!): TodoMarkDonePayload todoRestore(input: TodoRestoreInput!): TodoRestorePayload todoRestoreMany(input: TodoRestoreManyInput!): TodoRestoreManyPayload todosMarkAllDone(input: TodosMarkAllDoneInput!): TodosMarkAllDonePayload toggleAwardEmoji(input: ToggleAwardEmojiInput!): ToggleAwardEmojiPayload + updateAlertStatus(input: UpdateAlertStatusInput!): UpdateAlertStatusPayload updateEpic(input: UpdateEpicInput!): UpdateEpicPayload """ @@ -5681,6 +6790,11 @@ type Namespace { first: Int """ + Returns only the projects which have vulnerabilities + """ + hasVulnerabilities: Boolean = false + + """ Include also subgroup projects """ includeSubgroups: Boolean = false @@ -5934,6 +7048,188 @@ interface Noteable { } """ +Represents a package +""" +type Package { + """ + The created date + """ + createdAt: Time! + + """ + The ID of the package + """ + id: ID! + + """ + The name of the package + """ + name: String! + + """ + The type of the package + """ + packageType: PackageTypeEnum! + + """ + The update date + """ + updatedAt: Time! + + """ + The version of the package + """ + version: String +} + +""" +The connection type for Package. +""" +type PackageConnection { + """ + A list of edges. + """ + edges: [PackageEdge] + + """ + A list of nodes. + """ + nodes: [Package] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! +} + +""" +An edge in a connection. +""" +type PackageEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: Package +} + +""" +Represents the sync and verification state of a package file +""" +type PackageFileRegistry { + """ + Timestamp when the PackageFileRegistry was created + """ + createdAt: Time + + """ + ID of the PackageFileRegistry + """ + id: ID! + + """ + Error message during sync of the PackageFileRegistry + """ + lastSyncFailure: String + + """ + Timestamp of the most recent successful sync of the PackageFileRegistry + """ + lastSyncedAt: Time + + """ + ID of the PackageFile + """ + packageFileId: ID! + + """ + Timestamp after which the PackageFileRegistry should be resynced + """ + retryAt: Time + + """ + Number of consecutive failed sync attempts of the PackageFileRegistry + """ + retryCount: Int + + """ + Sync state of the PackageFileRegistry + """ + state: RegistryState +} + +""" +The connection type for PackageFileRegistry. +""" +type PackageFileRegistryConnection { + """ + A list of edges. + """ + edges: [PackageFileRegistryEdge] + + """ + A list of nodes. + """ + nodes: [PackageFileRegistry] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! +} + +""" +An edge in a connection. +""" +type PackageFileRegistryEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: PackageFileRegistry +} + +enum PackageTypeEnum { + """ + Packages from the composer package manager + """ + COMPOSER + + """ + Packages from the conan package manager + """ + CONAN + + """ + Packages from the maven package manager + """ + MAVEN + + """ + Packages from the npm package manager + """ + NPM + + """ + Packages from the nuget package manager + """ + NUGET + + """ + Packages from the pypi package manager + """ + PYPI +} + +""" Information about pagination in a connection. """ type PageInfo { @@ -6099,6 +7395,81 @@ enum PipelineStatusEnum { type Project { """ + A single Alert Management alert of the project + """ + alertManagementAlert( + """ + IID of the alert. For example, "1" + """ + iid: String + + """ + Search criteria for filtering alerts. This will search on title, description, service, monitoring_tool. + """ + search: String + + """ + Sort alerts by this criteria + """ + sort: AlertManagementAlertSort + + """ + Alerts with the specified statues. For example, [TRIGGERED] + """ + statuses: [AlertManagementStatus!] + ): AlertManagementAlert + + """ + Counts of alerts by status for the project + """ + alertManagementAlertStatusCounts: AlertManagementAlertStatusCountsType + + """ + Alert Management alerts of the project + """ + alertManagementAlerts( + """ + 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 + + """ + IID of the alert. For example, "1" + """ + iid: String + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Search criteria for filtering alerts. This will search on title, description, service, monitoring_tool. + """ + search: String + + """ + Sort alerts by this criteria + """ + sort: AlertManagementAlertSort + + """ + Alerts with the specified statues. For example, [TRIGGERED] + """ + statuses: [AlertManagementStatus!] + ): AlertManagementAlertConnection + + """ Indicates the archived status of the project """ archived: Boolean @@ -6571,6 +7942,31 @@ type Project { openIssuesCount: Int """ + Packages of the project + """ + packages( + """ + 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 + ): PackageConnection + + """ Path of the project """ path: String! @@ -6627,6 +8023,41 @@ type Project { publicJobs: Boolean """ + A single release of the project. Available only when feature flag `graphql_release_data` is enabled + """ + release( + """ + The name of the tag associated to the release + """ + tagName: String! + ): Release + + """ + Releases of the project. Available only when feature flag `graphql_release_data` is enabled + """ + releases( + """ + 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 + ): ReleaseConnection + + """ Indicates if `Delete source branch` option should be enabled by default for all new merge requests of the project """ removeSourceBranchAfterMerge: Boolean @@ -6857,7 +8288,7 @@ type Project { visibility: String """ - Vulnerabilities reported on the project. Available only when feature flag `first_class_vulnerabilities` is enabled + Vulnerabilities reported on the project """ vulnerabilities( """ @@ -6902,8 +8333,7 @@ type Project { ): VulnerabilityConnection """ - Counts for each severity of vulnerability of the project. Available only when - feature flag `first_class_vulnerabilities` is enabled + Counts for each severity of vulnerability of the project """ vulnerabilitySeveritiesCount: VulnerabilitySeveritiesCount @@ -7244,6 +8674,11 @@ type Query { ): Group """ + Fields related to Instance Security Dashboard + """ + instanceSecurityDashboard: InstanceSecurityDashboard + + """ Metadata about GitLab """ metadata: Metadata @@ -7269,6 +8704,41 @@ type Query { ): Project """ + Find projects visible to the current user + """ + projects( + """ + 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 + + """ + Limit projects that the current user is a member of + """ + membership: Boolean + + """ + Search criteria + """ + search: String + ): ProjectConnection + + """ Find Snippets visible to the current user """ snippets( @@ -7367,6 +8837,173 @@ type Query { """ state: [VulnerabilityState!] ): VulnerabilityConnection + + """ + Number of vulnerabilities per severity level, per day, for the projects on the current user's instance security dashboard + """ + vulnerabilitiesCountByDayAndSeverity( + """ + 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 + + """ + Last day for which to fetch vulnerability history + """ + endDate: ISO8601Date! + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + First day for which to fetch vulnerability history + """ + startDate: ISO8601Date! + ): VulnerabilitiesCountByDayAndSeverityConnection +} + +""" +State of a Geo registry. +""" +enum RegistryState { + """ + Registry that failed to sync + """ + FAILED + + """ + Registry waiting to be synced + """ + PENDING + + """ + Registry currently syncing + """ + STARTED + + """ + Registry that is synced + """ + SYNCED +} + +type Release { + """ + User that created the release + """ + author: User + + """ + The commit associated with the release + """ + commit: Commit + + """ + Timestamp of when the release was created + """ + createdAt: Time + + """ + Description (also known as "release notes") of the release + """ + description: String + + """ + The GitLab Flavored Markdown rendering of `description` + """ + descriptionHtml: String + + """ + Milestones associated to the release + """ + milestones( + """ + 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 + ): MilestoneConnection + + """ + Name of the release + """ + name: String + + """ + Timestamp of when the release was released + """ + releasedAt: Time + + """ + Name of the tag associated with the release + """ + tagName: String! + + """ + Relative web path to the tag associated with the release + """ + tagPath: String +} + +""" +The connection type for Release. +""" +type ReleaseConnection { + """ + A list of edges. + """ + edges: [ReleaseEdge] + + """ + A list of nodes. + """ + nodes: [Release] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! +} + +""" +An edge in a connection. +""" +type ReleaseEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: Release } """ @@ -7404,7 +9041,37 @@ type RemoveAwardEmojiPayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. + """ + errors: [String!]! +} + +""" +Autogenerated input type of RemoveProjectFromSecurityDashboard +""" +input RemoveProjectFromSecurityDashboardInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + ID of the project to remove from the Instance Security Dashboard + """ + id: ID! +} + +""" +Autogenerated return type of RemoveProjectFromSecurityDashboard +""" +type RemoveProjectFromSecurityDashboardPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Errors encountered during execution of the mutation. """ errors: [String!]! } @@ -8123,7 +9790,6 @@ enum ServiceType { HANGOUTS_CHAT_SERVICE HIPCHAT_SERVICE IRKER_SERVICE - JENKINS_DEPRECATED_SERVICE JENKINS_SERVICE JIRA_SERVICE MATTERMOST_SERVICE @@ -8139,6 +9805,7 @@ enum ServiceType { SLACK_SLASH_COMMANDS_SERVICE TEAMCITY_SERVICE UNIFY_CIRCUIT_SERVICE + WEBEX_TEAMS_SERVICE YOUTRACK_SERVICE } @@ -8207,7 +9874,7 @@ type Snippet implements Noteable { httpUrlToRepo: String """ - Id of the snippet + ID of the snippet """ id: ID! @@ -8287,6 +9954,11 @@ type SnippetBlob { binary: Boolean! """ + Blob external storage + """ + externalStorage: String + + """ Blob mode """ mode: String @@ -8312,6 +9984,11 @@ type SnippetBlob { rawPath: String! """ + Shows whether the blob is rendered as text + """ + renderedAsText: Boolean! + + """ Blob highlighted data """ richData: String @@ -8653,7 +10330,7 @@ type Todo { group: Group """ - Id of the todo + ID of the todo """ id: ID! @@ -8743,7 +10420,7 @@ type TodoMarkDonePayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -8793,7 +10470,7 @@ type TodoRestoreManyPayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -8813,7 +10490,7 @@ type TodoRestorePayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -8875,7 +10552,7 @@ type TodosMarkAllDonePayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -8920,7 +10597,7 @@ type ToggleAwardEmojiPayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -9092,6 +10769,56 @@ enum TypeEnum { project } +""" +Autogenerated input type of UpdateAlertStatus +""" +input UpdateAlertStatusInput { + """ + 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! + + """ + The status to set the alert + """ + status: AlertManagementStatus! +} + +""" +Autogenerated return type of UpdateAlertStatus +""" +type UpdateAlertStatusPayload { + """ + 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 +} + input UpdateDiffImagePositionInput { """ Total height of the image @@ -9199,7 +10926,7 @@ type UpdateEpicPayload { epic: Epic """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! } @@ -9239,7 +10966,7 @@ type UpdateImageDiffNotePayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -9304,7 +11031,7 @@ type UpdateIssuePayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -9344,7 +11071,7 @@ type UpdateNotePayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -9394,7 +11121,7 @@ type UpdateRequirementPayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -9454,7 +11181,7 @@ type UpdateSnippetPayload { clientMutationId: String """ - Reasons why the mutation failed. + Errors encountered during execution of the mutation. """ errors: [String!]! @@ -9473,6 +11200,11 @@ type User { avatarUrl: String """ + ID of the user + """ + id: ID! + + """ Human-readable name of the user """ name: String! @@ -9518,6 +11250,11 @@ type User { ): SnippetConnection """ + State of the issue + """ + state: String! + + """ Todos of the user """ todos( @@ -9643,6 +11380,61 @@ enum VisibilityScopesEnum { } """ +Represents the number of vulnerabilities for a particular severity on a particular day +""" +type VulnerabilitiesCountByDayAndSeverity { + """ + Number of vulnerabilities + """ + count: Int + + """ + Date for the count + """ + day: ISO8601Date + + """ + Severity of the counted vulnerabilities + """ + severity: VulnerabilitySeverity +} + +""" +The connection type for VulnerabilitiesCountByDayAndSeverity. +""" +type VulnerabilitiesCountByDayAndSeverityConnection { + """ + A list of edges. + """ + edges: [VulnerabilitiesCountByDayAndSeverityEdge] + + """ + A list of nodes. + """ + nodes: [VulnerabilitiesCountByDayAndSeverity] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! +} + +""" +An edge in a connection. +""" +type VulnerabilitiesCountByDayAndSeverityEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: VulnerabilitiesCountByDayAndSeverity +} + +""" Represents a vulnerability. """ type Vulnerability { @@ -9657,10 +11449,9 @@ type Vulnerability { id: ID! """ - The JSON location metadata for the vulnerability. Its format depends on the - type of the security scan that found the vulnerability + Location metadata for the vulnerability. Its fields depend on the type of security scan that found the vulnerability """ - location: JSON + location: VulnerabilityLocation """ The project on which the vulnerability was found @@ -9734,6 +11525,101 @@ type VulnerabilityEdge { } """ +Represents a vulnerability location. The fields with data will depend on the vulnerability report type +""" +union VulnerabilityLocation = VulnerabilityLocationContainerScanning | VulnerabilityLocationDast | VulnerabilityLocationDependencyScanning | VulnerabilityLocationSast + +""" +Represents the location of a vulnerability found by a container security scan +""" +type VulnerabilityLocationContainerScanning { + """ + Dependency containing the vulnerability + """ + dependency: VulnerableDependency + + """ + Name of the vulnerable container image + """ + image: String + + """ + Operating system that runs on the vulnerable container image + """ + operatingSystem: String +} + +""" +Represents the location of a vulnerability found by a DAST scan +""" +type VulnerabilityLocationDast { + """ + Domain name of the vulnerable request + """ + hostname: String + + """ + Query parameter for the URL on which the vulnerability occurred + """ + param: String + + """ + URL path and query string of the vulnerable request + """ + path: String + + """ + HTTP method of the vulnerable request + """ + requestMethod: String +} + +""" +Represents the location of a vulnerability found by a dependency security scan +""" +type VulnerabilityLocationDependencyScanning { + """ + Dependency containing the vulnerability + """ + dependency: VulnerableDependency + + """ + Path to the vulnerable file + """ + file: String +} + +""" +Represents the location of a vulnerability found by a SAST scan +""" +type VulnerabilityLocationSast { + """ + Number of the last relevant line in the vulnerable file + """ + endLine: String + + """ + Path to the vulnerable file + """ + file: String + + """ + Number of the first relevant line in the vulnerable file + """ + startLine: String + + """ + Class containing the vulnerability + """ + vulnerableClass: String + + """ + Method containing the vulnerability + """ + vulnerableMethod: String +} + +""" Check permissions for the current user on a vulnerability """ type VulnerabilityPermissions { @@ -9843,4 +11729,29 @@ enum VulnerabilityState { DETECTED DISMISSED RESOLVED +} + +""" +Represents a vulnerable dependency. Used in vulnerability location data +""" +type VulnerableDependency { + """ + The package associated with the vulnerable dependency + """ + package: VulnerablePackage + + """ + The version of the vulnerable dependency + """ + version: String +} + +""" +Represents a vulnerable package. Used in vulnerability dependency data +""" +type VulnerablePackage { + """ + The name of the vulnerable package + """ + name: String }
\ No newline at end of file |