Commit 0aa8a75d authored by Vitaly Slobodin's avatar Vitaly Slobodin

Merge branch...

Merge branch '326101-require-id-field-for-all-graphql-entities-in-all-queries-and-mutations' into 'master'

Require id field for all GraphQL operations

See merge request gitlab-org/gitlab!74180
parents efb8c564 58b52a50
......@@ -124,9 +124,9 @@ overrides:
parserOptions:
parser: '@graphql-eslint/eslint-plugin'
operations:
- '{,ee/,jh/}app/**/*.graphql'
# You can run `bundle exec rake gitlab:graphql:schema:dump` and then uncomment this line
# schema: './tmp/tests/graphql/gitlab_schema.graphql'
- '{,ee/,jh/}app/**/*.graphql'
# You can run `bundle exec rake gitlab:graphql:schema:dump` and then uncomment this line
# schema: './tmp/tests/graphql/gitlab_schema.graphql'
rules:
filenames/match-regex: off
spaced-comment: off
......@@ -138,3 +138,4 @@ overrides:
#'@graphql-eslint/known-type-names': error
'@graphql-eslint/no-anonymous-operations': error
'@graphql-eslint/unique-operation-name': error
# '@graphql-eslint/require-id-when-available': error
query getAlertsCount($searchTerm: String, $projectPath: ID!, $assigneeUsername: String = "") {
project(fullPath: $projectPath) {
id
alertManagementAlertStatusCounts(search: $searchTerm, assigneeUsername: $assigneeUsername) {
all
open
......
......@@ -3,6 +3,9 @@
mutation createHttpIntegration($projectPath: ID!, $name: String!, $active: Boolean!) {
httpIntegrationCreate(input: { projectPath: $projectPath, name: $name, active: $active }) {
errors
# We have ID in a deeply nested fragment
# TODO: Uncomment next line when https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75220 is merged and the rule is enabled
# # eslint-disable-next-line @graphql-eslint/require-id-when-available
integration {
...HttpIntegrationItem
}
......
......@@ -3,6 +3,9 @@
mutation destroyHttpIntegration($id: ID!) {
httpIntegrationDestroy(input: { id: $id }) {
errors
# We have ID in a deeply nested fragment
# TODO: Uncomment next line when https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75220 is merged and the rule is enabled
# # eslint-disable-next-line @graphql-eslint/require-id-when-available
integration {
...HttpIntegrationItem
}
......
......@@ -3,6 +3,9 @@
mutation resetHttpIntegrationToken($id: ID!) {
httpIntegrationResetToken(input: { id: $id }) {
errors
# We have ID in a deeply nested fragment
# TODO: Uncomment next line when https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75220 is merged and the rule is enabled
# # eslint-disable-next-line @graphql-eslint/require-id-when-available
integration {
...HttpIntegrationItem
}
......
......@@ -3,6 +3,9 @@
mutation updateHttpIntegration($id: ID!, $name: String!, $active: Boolean!) {
httpIntegrationUpdate(input: { id: $id, name: $name, active: $active }) {
errors
# We have ID in a deeply nested fragment
# TODO: Uncomment next line when https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75220 is merged and the rule is enabled
# # eslint-disable-next-line @graphql-eslint/require-id-when-available
integration {
...HttpIntegrationItem
}
......
......@@ -2,6 +2,7 @@
query getHttpIntegration($projectPath: ID!, $id: ID) {
project(fullPath: $projectPath) {
id
alertManagementHttpIntegrations(id: $id) {
nodes {
...HttpIntegrationPayloadData
......
......@@ -2,6 +2,7 @@
query getIntegrations($projectPath: ID!) {
project(fullPath: $projectPath) {
id
alertManagementIntegrations {
nodes {
...IntegrationItem
......
query parsePayloadFields($projectPath: ID!, $payload: String!) {
project(fullPath: $projectPath) {
id
alertManagementPayloadFields(payloadExample: $payload) {
path
label
......
......@@ -5,6 +5,7 @@ query analyticsGetGroupProjects(
$includeSubgroups: Boolean = false
) {
group(fullPath: $groupFullPath) {
id
projects(
search: $search
first: $first
......
query getKeepLatestArtifactProjectSetting($fullPath: ID!) {
project(fullPath: $fullPath) {
id
ciCdSettings {
keepLatestArtifact
}
......
......@@ -7,6 +7,7 @@ query BoardLabels(
$isProject: Boolean = false
) {
group(fullPath: $fullPath) @include(if: $isGroup) {
id
labels(searchTerm: $searchTerm, onlyGroupLabels: true, includeAncestorGroups: true) {
nodes {
...Label
......@@ -14,6 +15,7 @@ query BoardLabels(
}
}
project(fullPath: $fullPath) @include(if: $isProject) {
id
labels(searchTerm: $searchTerm, includeAncestorGroups: true) {
nodes {
...Label
......
......@@ -2,6 +2,9 @@
mutation createBoardList($boardId: BoardID!, $backlog: Boolean, $labelId: LabelID) {
boardListCreate(input: { boardId: $boardId, backlog: $backlog, labelId: $labelId }) {
# We have ID in a deeply nested fragment
# TODO: Uncomment next line when https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75220 is merged and the rule is enabled
# # eslint-disable-next-line @graphql-eslint/require-id-when-available
list {
...BoardListFragment
}
......
......@@ -2,6 +2,9 @@
mutation UpdateBoardList($listId: ID!, $position: Int, $collapsed: Boolean) {
updateBoardList(input: { listId: $listId, position: $position, collapsed: $collapsed }) {
# We have ID in a deeply nested fragment
# TODO: Uncomment next line when https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75220 is merged and the rule is enabled
# # eslint-disable-next-line @graphql-eslint/require-id-when-available
list {
...BoardListFragment
}
......
......@@ -8,9 +8,14 @@ query BoardLists(
$isProject: Boolean = false
) {
group(fullPath: $fullPath) @include(if: $isGroup) {
id
board(id: $boardId) {
id
hideBacklogList
lists(issueFilters: $filters) {
# We have ID in a deeply nested fragment
# TODO: Uncomment next line when https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75220 is merged and the rule is enabled
# # eslint-disable-next-line @graphql-eslint/require-id-when-available
nodes {
...BoardListFragment
}
......@@ -18,9 +23,14 @@ query BoardLists(
}
}
project(fullPath: $fullPath) @include(if: $isProject) {
id
board(id: $boardId) {
id
hideBacklogList
lists(issueFilters: $filters) {
# We have ID in a deeply nested fragment
# TODO: Uncomment next line when https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75220 is merged and the rule is enabled
# # eslint-disable-next-line @graphql-eslint/require-id-when-available
nodes {
...BoardListFragment
}
......
......@@ -2,6 +2,7 @@
query GroupBoard($fullPath: ID!, $boardId: ID!) {
workspace: group(fullPath: $fullPath) {
id
board(id: $boardId) {
...BoardScopeFragment
}
......
......@@ -3,6 +3,7 @@
query GroupBoardMembers($fullPath: ID!, $search: String) {
workspace: group(fullPath: $fullPath) {
__typename
id
assignees: groupMembers(search: $search, relations: [DIRECT, DESCENDANTS, INHERITED]) {
__typename
nodes {
......
query GroupBoardMilestones($fullPath: ID!, $searchTerm: String) {
group(fullPath: $fullPath) {
id
milestones(includeAncestors: true, searchTitle: $searchTerm) {
nodes {
id
......
......@@ -2,6 +2,7 @@
query group_boards($fullPath: ID!) {
group(fullPath: $fullPath) {
id
boards {
edges {
node {
......
......@@ -2,6 +2,7 @@
query boardsGetGroupProjects($fullPath: ID!, $search: String, $after: String) {
group(fullPath: $fullPath) {
id
projects(search: $search, after: $after, first: 100, includeSubgroups: true) {
nodes {
id
......
mutation issueSetSubscription($input: IssueSetSubscriptionInput!) {
updateIssuableSubscription: issueSetSubscription(input: $input) {
issue {
id
subscribed
}
errors
......
mutation issueSetTitle($input: UpdateIssueInput!) {
updateIssuableTitle: updateIssue(input: $input) {
issue {
id
title
}
errors
......
......@@ -11,7 +11,9 @@ query BoardListEE(
$first: Int
) {
group(fullPath: $fullPath) @include(if: $isGroup) {
id
board(id: $boardId) {
id
lists(id: $id, issueFilters: $filters) {
nodes {
id
......@@ -33,7 +35,9 @@ query BoardListEE(
}
}
project(fullPath: $fullPath) @include(if: $isProject) {
id
board(id: $boardId) {
id
lists(id: $id, issueFilters: $filters) {
nodes {
id
......
......@@ -2,6 +2,7 @@
query ProjectBoard($fullPath: ID!, $boardId: ID!) {
workspace: project(fullPath: $fullPath) {
id
board(id: $boardId) {
...BoardScopeFragment
}
......
......@@ -3,6 +3,7 @@
query ProjectBoardMembers($fullPath: ID!, $search: String) {
workspace: project(fullPath: $fullPath) {
__typename
id
assignees: projectMembers(search: $search) {
__typename
nodes {
......
query ProjectBoardMilestones($fullPath: ID!, $searchTerm: String) {
project(fullPath: $fullPath) {
id
milestones(searchTitle: $searchTerm, includeAncestors: true) {
nodes {
id
......
......@@ -2,6 +2,7 @@
query project_boards($fullPath: ID!) {
project(fullPath: $fullPath) {
id
boards {
edges {
node {
......
......@@ -5,6 +5,7 @@ query boardProjectMilestones(
$searchTitle: String
) {
project(fullPath: $fullPath) {
id
milestones(state: $state, includeAncestors: $includeAncestors, searchTitle: $searchTitle) {
edges {
node {
......
......@@ -4,8 +4,8 @@ fragment Token on ClusterAgentToken {
description
lastUsedAt
name
createdByUser {
id
name
}
}
......@@ -10,11 +10,13 @@ query getClusterAgent(
$beforeToken: String
) {
project(fullPath: $projectPath) {
id
clusterAgent(name: $agentName) {
id
createdAt
createdByUser {
id
name
}
......
......@@ -13,6 +13,7 @@ export function addAgentToStore(store, createClusterAgent, query, variables) {
const data = produce(sourceData, (draftData) => {
const configuration = {
id: clusterAgent.id,
name: clusterAgent.name,
path: getAgentConfigPath(clusterAgent.name),
webPath: clusterAgent.webPath,
......
......@@ -4,6 +4,7 @@ fragment ClusterAgentFragment on ClusterAgent {
webPath
tokens {
nodes {
id
lastUsedAt
}
}
......
query agentConfigurations($projectPath: ID!) {
project(fullPath: $projectPath) {
id
agentConfigurations {
nodes {
agentName
......@@ -8,6 +9,7 @@ query agentConfigurations($projectPath: ID!) {
clusterAgents {
nodes {
id
name
}
}
......
......@@ -12,6 +12,7 @@ query getAgents(
$beforeTree: String
) {
project(fullPath: $projectPath) {
id
clusterAgents(first: $first, last: $last, before: $beforeAgent, after: $afterAgent) {
nodes {
...ClusterAgentFragment
......@@ -28,6 +29,7 @@ query getAgents(
tree(path: ".gitlab/agents", ref: $defaultBranchName) {
trees(first: $first, last: $last, after: $afterTree, before: $beforeTree) {
nodes {
id
name
path
webPath
......
fragment ResolvedStatus on Discussion {
id
resolvable
resolved
resolvedAt
resolvedBy {
id
name
webUrl
}
......
......@@ -3,6 +3,8 @@
mutation uploadDesign($files: [Upload!]!, $projectPath: ID!, $iid: ID!) {
designManagementUpload(input: { projectPath: $projectPath, iid: $iid, files: $files }) {
# TODO: Uncomment next line when https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75220 is merged and the rule is enabled
# # eslint-disable-next-line @graphql-eslint/require-id-when-available
designs {
...DesignItem
versions {
......@@ -14,6 +16,7 @@ mutation uploadDesign($files: [Upload!]!, $projectPath: ID!, $iid: ID!) {
}
}
skippedDesigns {
id
filename
}
errors
......
......@@ -10,8 +10,11 @@ query getDesign(
project(fullPath: $fullPath) {
id
issue(iid: $iid) {
id
designCollection {
designs(atVersion: $atVersion, filenames: $filenames) {
# TODO: Uncomment next line when https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75220 is merged and the rule is enabled
# # eslint-disable-next-line @graphql-eslint/require-id-when-available
nodes {
...DesignItem
issue {
......
query errorDetails($fullPath: ID!, $errorId: ID!) {
project(fullPath: $fullPath) {
id
sentryErrors {
detailedError(id: $errorId) {
id
......
......@@ -6,6 +6,7 @@ fragment AlertListItem on AlertManagementAlert {
startedAt
eventCount
issue {
id
iid
state
title
......
......@@ -12,6 +12,7 @@ fragment AlertDetailItem on AlertManagementAlert {
endedAt
hosts
environment {
id
name
path
}
......
fragment TimelogFragment on Timelog {
timeSpent
user {
id
name
}
spentAt
note {
id
body
}
summary
......
# TODO: Uncomment next line when https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75220 is merged and the rule is enabled
# # eslint-disable-next-line @graphql-eslint/require-id-when-available
fragment UserAvailability on User {
status {
availability
......
mutation createMergeRequest($input: MergeRequestCreateInput!) {
mergeRequestCreate(input: $input) {
mergeRequest {
id
iid
}
errors
......
......@@ -2,6 +2,7 @@
query alertDetails($fullPath: ID!, $alertId: String) {
project(fullPath: $fullPath) {
id
alertManagementAlerts(iid: $alertId) {
nodes {
...AlertDetailItem
......
......@@ -14,6 +14,7 @@ query getAlerts(
$domain: AlertManagementDomainFilter = operations
) {
project(fullPath: $projectPath) {
id
alertManagementAlerts(
search: $searchTerm
assigneeUsername: $assigneeUsername
......
......@@ -6,6 +6,7 @@ query groupUsersSearch($search: String!, $fullPath: ID!) {
id
users: groupMembers(search: $search, relations: [DIRECT, DESCENDANTS, INHERITED]) {
nodes {
id
user {
...User
...UserAvailability
......
......@@ -3,6 +3,7 @@ query searchProjectMembers($fullPath: ID!, $search: String) {
id
projectMembers(search: $search) {
nodes {
id
user {
id
name
......
......@@ -3,8 +3,10 @@
query projectUsersSearch($search: String!, $fullPath: ID!) {
workspace: project(fullPath: $fullPath) {
id
users: projectMembers(search: $search, relations: [DIRECT, INHERITED, INVITED_GROUPS]) {
nodes {
id
user {
...User
...UserAvailability
......
fragment IdeProject on Project {
id
userPermissions {
createMergeRequestIn
readMergeRequest
......
# TODO: Uncomment next line when https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75220 is merged and the rule is enabled
# # eslint-disable-next-line @graphql-eslint/require-id-when-available
fragment IncidentFields on Issue {
severity
}
......@@ -6,6 +6,7 @@ query getIncidentsCountByStatus(
$assigneeUsername: String = ""
) {
project(fullPath: $projectPath) {
id
issueStatusCounts(
search: $searchTerm
types: $issueTypes
......
......@@ -14,6 +14,7 @@ query getIncidents(
$assigneeUsername: String = ""
) {
project(fullPath: $projectPath) {
id
issues(
search: $searchTerm
types: $issueTypes
......@@ -27,18 +28,21 @@ query getIncidents(
before: $prevPageCursor
) {
nodes {
id
iid
title
createdAt
state
labels {
nodes {
id
title
color
}
}
assignees {
nodes {
id
name
username
avatarUrl
......
query issueSuggestion($fullPath: ID!, $search: String) {
project(fullPath: $fullPath) {
id
issues(search: $search, sort: updated_desc, first: 5) {
edges {
node {
id
iid
title
confidential
......@@ -14,6 +16,7 @@ query issueSuggestion($fullPath: ID!, $search: String) {
createdAt
updatedAt
author {
id
name
username
avatarUrl
......
query getAlert($iid: String!, $fullPath: ID!) {
project(fullPath: $fullPath) {
id
issue(iid: $iid) {
id
alertManagementAlert {
......
mutation promoteToEpic($input: PromoteToEpicInput!) {
promoteToEpic(input: $input) {
epic {
id
webPath
}
errors
......
......@@ -26,6 +26,7 @@ query getIssues(
$lastPageSize: Int
) {
group(fullPath: $fullPath) @skip(if: $isProject) {
id
issues(
includeSubgroups: true
search: $search
......@@ -56,6 +57,7 @@ query getIssues(
}
}
project(fullPath: $fullPath) @include(if: $isProject) {
id
issues(
search: $search
sort: $sort
......
......@@ -16,6 +16,7 @@ query getIssuesCount(
$not: NegatedIssueFilterInput
) {
group(fullPath: $fullPath) @skip(if: $isProject) {
id
openedIssues: issues(
includeSubgroups: true
state: opened
......@@ -69,6 +70,7 @@ query getIssuesCount(
}
}
project(fullPath: $fullPath) @include(if: $isProject) {
id
openedIssues: issues(
state: opened
search: $search
......
query getIssuesListDetails($fullPath: ID!) {
project(fullPath: $fullPath) {
id
issues {
nodes {
id
labels {
nodes {
id
title
color
}
......
......@@ -2,6 +2,7 @@
query searchLabels($fullPath: ID!, $search: String, $isProject: Boolean = false) {
group(fullPath: $fullPath) @skip(if: $isProject) {
id
labels(searchTerm: $search, includeAncestorGroups: true, includeDescendantGroups: true) {
nodes {
...Label
......@@ -9,6 +10,7 @@ query searchLabels($fullPath: ID!, $search: String, $isProject: Boolean = false)
}
}
project(fullPath: $fullPath) @include(if: $isProject) {
id
labels(searchTerm: $search, includeAncestorGroups: true) {
nodes {
...Label
......
......@@ -2,6 +2,7 @@
query searchMilestones($fullPath: ID!, $search: String, $isProject: Boolean = false) {
group(fullPath: $fullPath) @skip(if: $isProject) {
id
milestones(searchTitle: $search, includeAncestors: true, includeDescendants: true) {
nodes {
...Milestone
......@@ -9,6 +10,7 @@ query searchMilestones($fullPath: ID!, $search: String, $isProject: Boolean = fa
}
}
project(fullPath: $fullPath) @include(if: $isProject) {
id
milestones(searchTitle: $search, includeAncestors: true) {
nodes {
...Milestone
......
query searchProjects($fullPath: ID!, $search: String) {
group(fullPath: $fullPath) {
id
projects(search: $search, includeSubgroups: true) {
nodes {
id
......
......@@ -2,8 +2,10 @@
query searchUsers($fullPath: ID!, $search: String, $isProject: Boolean = false) {
group(fullPath: $fullPath) @skip(if: $isProject) {
id
groupMembers(search: $search) {
nodes {
id
user {
...User
}
......@@ -11,8 +13,10 @@ query searchUsers($fullPath: ID!, $search: String, $isProject: Boolean = false)
}
}
project(fullPath: $fullPath) @include(if: $isProject) {
id
projectMembers(search: $search) {
nodes {
id
user {
...User
}
......
......@@ -5,6 +5,7 @@ query getProject(
$branchNamesSearchPattern: String!
) {
project(fullPath: $projectPath) {
id
repository {
branchNames(
limit: $branchNamesLimit
......
......@@ -2,6 +2,7 @@
query getJiraImportDetails($fullPath: ID!) {
project(fullPath: $fullPath) {
id
jiraImportStatus
jiraImports {
nodes {
......
......@@ -2,6 +2,7 @@ fragment JiraImport on JiraImport {
jiraProjectKey
scheduledAt
scheduledBy {
id
name
}
}
query jiraSearchProjectMembers($fullPath: ID!, $search: String) {
project(fullPath: $fullPath) {
id
projectMembers(search: $search) {
nodes {
id
user {
id
name
......
......@@ -7,6 +7,7 @@ query getJobs(
$statuses: [CiJobStatus!]
) {
project(fullPath: $fullPath) {
id
jobs(after: $after, before: $before, first: $first, last: $last, statuses: $statuses) {
pageInfo {
endCursor
......@@ -27,6 +28,7 @@ query getJobs(
triggered
createdByTag
detailedStatus {
id
detailsPath
group
icon
......@@ -34,6 +36,7 @@ query getJobs(
text
tooltip
action {
id
buttonTitle
icon
method
......@@ -51,11 +54,13 @@ query getJobs(
id
path
user {
id
webPath
avatarUrl
}
}
stage {
id
name
}
name
......
......@@ -7,6 +7,7 @@ query getDashboardValidationWarnings(
id
environments(name: $environmentName) {
nodes {
id
name
metricsDashboard(path: $dashboardPath) {
path
......
query mergeRequest($projectPath: ID!, $mergeRequestIID: String!) {
project(fullPath: $projectPath) {
id
mergeRequest(iid: $mergeRequestIID) {
id
title
createdAt
state
headPipeline {
id
detailedStatus {
id
icon
group
}
......
......@@ -9,6 +9,7 @@ query getContainerRepositoriesDetails(
$sort: ContainerRepositorySort
) {
project(fullPath: $fullPath) @skip(if: $isGroupPage) {
id
containerRepositories(
name: $name
after: $after
......@@ -24,6 +25,7 @@ query getContainerRepositoriesDetails(
}
}
group(fullPath: $fullPath) @include(if: $isGroupPage) {
id
containerRepositories(
name: $name
after: $after
......
......@@ -11,6 +11,7 @@ query getContainerRepositoryDetails($id: ID!) {
expirationPolicyStartedAt
expirationPolicyCleanupStatus
project {
id
visibility
path
containerExpirationPolicy {
......
......@@ -8,6 +8,7 @@ query getDependencyProxyDetails(
$before: String
) {
group(fullPath: $fullPath) {
id
dependencyProxyBlobCount
dependencyProxyTotalSize
dependencyProxyImagePrefix
......@@ -16,6 +17,7 @@ query getDependencyProxyDetails(
}
dependencyProxyManifests(after: $after, before: $before, first: $first, last: $last) {
nodes {
id
createdAt
imageName
}
......
......@@ -7,20 +7,24 @@ fragment PackageData on Package {
status
tags {
nodes {
id
name
}
}
pipelines(last: 1) {
nodes {
id
sha
ref
commitPath
user {
id
name
}
}
}
project {
id
fullPath
webUrl
}
......
......@@ -8,6 +8,7 @@ query getPackageDetails($id: ID!) {
updatedAt
status
project {
id
path
}
tags(first: 10) {
......@@ -25,9 +26,11 @@ query getPackageDetails($id: ID!) {
commitPath
path
user {
id
name
}
project {
id
name
webUrl
}
......@@ -86,15 +89,18 @@ query getPackageDetails($id: ID!) {
}
}
... on PypiMetadata {
id
requiredPython
}
... on ConanMetadata {
id
packageChannel
packageUsername
recipe
recipePath
}
... on MavenMetadata {
id
appName
appGroup
appVersion
......@@ -102,6 +108,7 @@ query getPackageDetails($id: ID!) {
}
... on NugetMetadata {
id
iconUrl
licenseUrl
projectUrl
......
......@@ -14,6 +14,7 @@ query getPackages(
$before: String
) {
project(fullPath: $fullPath) @skip(if: $isGroupPage) {
id
packages(
sort: $sort
packageName: $packageName
......@@ -33,6 +34,7 @@ query getPackages(
}
}
group(fullPath: $fullPath) @include(if: $isGroupPage) {
id
packages(
sort: $groupSort
packageName: $packageName
......
query getGroupPackagesSettings($fullPath: ID!) {
group(fullPath: $fullPath) {
id
dependencyProxySetting {
enabled
}
......
......@@ -2,6 +2,7 @@
query getProjectExpirationPolicy($projectPath: ID!) {
project(fullPath: $projectPath) {
id
containerExpirationPolicy {
...ContainerExpirationPolicyFields
}
......
query getMergeRequestState($projectPath: ID!, $iid: String!) {
workspace: project(fullPath: $projectPath) {
id
issuable: mergeRequest(iid: $iid) {
id
state
}
}
......
......@@ -22,6 +22,7 @@ mutation commitCIFile(
__typename
commit {
__typename
id
sha
}
commitPipelinePath
......
......@@ -5,6 +5,7 @@ query getAvailableBranches(
$searchPattern: String!
) {
project(fullPath: $projectFullPath) {
id
repository {
branchNames(limit: $limit, offset: $offset, searchPattern: $searchPattern)
}
......
query getBlobContent($projectPath: ID!, $path: String!, $ref: String) {
project(fullPath: $projectPath) {
id
repository {
blobs(paths: [$path], ref: $ref) {
nodes {
id
rawBlob
}
}
......
query getPipeline($fullPath: ID!, $sha: String!) {
project(fullPath: $fullPath) {
id
pipeline(sha: $sha) {
id
iid
status
commit {
id
title
webPath
}
detailedStatus {
id
detailsPath
icon
group
......
query getTemplate($projectPath: ID!, $templateName: String!) {
project(fullPath: $projectPath) {
id
ciTemplate(name: $templateName) {
content
}
......
query getLatestCommitSha($projectPath: ID!, $ref: String) {
project(fullPath: $projectPath) {
id
repository {
tree(ref: $ref) {
lastCommit {
id
sha
}
}
......
query getDagVisData($projectPath: ID!, $iid: ID!) {
project(fullPath: $projectPath) {
id
pipeline(iid: $iid) {
id
stages {
nodes {
id
name
groups {
nodes {
id
name
size
jobs {
nodes {
id
name
needs {
nodes {
id
name
}
}
......
query getPipelineHeaderData($fullPath: ID!, $iid: ID!) {
project(fullPath: $fullPath) {
id
pipeline(iid: $iid) {
id
iid
......@@ -11,6 +12,7 @@ query getPipelineHeaderData($fullPath: ID!, $iid: ID!) {
updatePipeline
}
detailedStatus {
id
detailsPath
icon
group
......
query getLinkedPipelines($fullPath: ID!, $iid: ID!) {
project(fullPath: $fullPath) {
id
pipeline(iid: $iid) {
id
path
downstream {
nodes {
id
path
project {
id
name
}
detailedStatus {
id
group
icon
label
......@@ -20,9 +24,11 @@ query getLinkedPipelines($fullPath: ID!, $iid: ID!) {
id
path
project {
id
name
}
detailedStatus {
id
group
icon
label
......
query searchNamespacesWhereUserCanCreateProjects($search: String) {
currentUser {
id
groups(permissionScope: CREATE_PROJECTS, search: $search) {
nodes {
id
......
query getPipelineCountByStatus($projectPath: ID!) {
project(fullPath: $projectPath) {
id
totalPipelines: pipelines {
count
}
......
query getProjectPipelineStatistics($projectPath: ID!) {
project(fullPath: $projectPath) {
id
pipelineAnalytics {
weekPipelinesTotals
weekPipelinesLabels
......
......@@ -35,6 +35,7 @@ fragment Release on Release {
__typename
nodes {
__typename
id
filepath
collectedAt
sha
......@@ -52,12 +53,14 @@ fragment Release on Release {
}
commit {
__typename
id
sha
webUrl
title
}
author {
__typename
id
webUrl
avatarUrl
username
......
......@@ -18,6 +18,7 @@ fragment ReleaseForEditing on Release {
}
milestones {
nodes {
id
title
}
}
......
......@@ -16,6 +16,7 @@ query allReleasesDeprecated(
) {
project(fullPath: $fullPath) {
__typename
id
releases(first: $first, last: $last, before: $before, after: $after, sort: $sort) {
__typename
nodes {
......
......@@ -2,6 +2,7 @@
query oneRelease($fullPath: ID!, $tagName: String!) {
project(fullPath: $fullPath) {
id
release(tagName: $tagName) {
...Release
}
......
......@@ -2,6 +2,7 @@
query oneReleaseForEditing($fullPath: ID!, $tagName: String!) {
project(fullPath: $fullPath) {
id
release(tagName: $tagName) {
...ReleaseForEditing
}
......
......@@ -4,6 +4,7 @@ mutation toggleLock($projectPath: ID!, $filePath: String!, $lock: Boolean!) {
id
pathLocks {
nodes {
id
path
}
}
......
......@@ -9,6 +9,7 @@ query getBlobInfo($projectPath: ID!, $filePath: String!, $ref: String!) {
}
pathLocks {
nodes {
id
path
}
}
......@@ -16,6 +17,7 @@ query getBlobInfo($projectPath: ID!, $filePath: String!, $ref: String!) {
empty
blobs(paths: [$filePath], ref: $ref) {
nodes {
id
webPath
name
size
......
......@@ -13,6 +13,7 @@ query getGroupRunners(
$sort: CiRunnerSort
) {
group(fullPath: $groupFullPath) {
id
runners(
membership: DESCENDANTS
before: $before
......
#import "ee_else_ce/runner/graphql/runner_details.fragment.graphql"
query getRunner($id: CiRunnerID!) {
# We have an id in deeply nested fragment
# TODO: Uncomment next line when https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75220 is merged and the rule is enabled
# # eslint-disable-next-line @graphql-eslint/require-id-when-available
runner(id: $id) {
...RunnerDetails
}
......
......@@ -5,6 +5,9 @@
mutation runnerUpdate($input: RunnerUpdateInput!) {
runnerUpdate(input: $input) {
# We have an id in deep nested fragment
# TODO: Uncomment next line when https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75220 is merged and the rule is enabled
# # eslint-disable-next-line @graphql-eslint/require-id-when-available
runner {
...RunnerDetails
}
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment