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