diff options
Diffstat (limited to 'app/assets/javascripts/runner/graphql/details')
6 files changed, 126 insertions, 0 deletions
diff --git a/app/assets/javascripts/runner/graphql/details/runner.query.graphql b/app/assets/javascripts/runner/graphql/details/runner.query.graphql new file mode 100644 index 00000000000..4792a186160 --- /dev/null +++ b/app/assets/javascripts/runner/graphql/details/runner.query.graphql @@ -0,0 +1,9 @@ +#import "ee_else_ce/runner/graphql/details/runner_details.fragment.graphql" + +query getRunner($id: CiRunnerID!) { + # We have an id in deeply nested fragment + # eslint-disable-next-line @graphql-eslint/require-id-when-available + runner(id: $id) { + ...RunnerDetails + } +} diff --git a/app/assets/javascripts/runner/graphql/details/runner_details.fragment.graphql b/app/assets/javascripts/runner/graphql/details/runner_details.fragment.graphql new file mode 100644 index 00000000000..2449ee0fc0f --- /dev/null +++ b/app/assets/javascripts/runner/graphql/details/runner_details.fragment.graphql @@ -0,0 +1,5 @@ +#import "./runner_details_shared.fragment.graphql" + +fragment RunnerDetails on CiRunner { + ...RunnerDetailsShared +} diff --git a/app/assets/javascripts/runner/graphql/details/runner_details_shared.fragment.graphql b/app/assets/javascripts/runner/graphql/details/runner_details_shared.fragment.graphql new file mode 100644 index 00000000000..d8c67728fac --- /dev/null +++ b/app/assets/javascripts/runner/graphql/details/runner_details_shared.fragment.graphql @@ -0,0 +1,35 @@ +fragment RunnerDetailsShared on CiRunner { + __typename + id + runnerType + active + accessLevel + runUntagged + locked + ipAddress + description + maximumTimeout + jobCount + tagList + createdAt + status(legacyMode: null) + contactedAt + version + editAdminUrl + userPermissions { + updateRunner + deleteRunner + } + groups { + # Only a single group can be loaded here, while projects + # are loaded separately using the query with pagination + # parameters `runner_projects.query.graphql`. + nodes { + id + avatarUrl + name + fullName + webUrl + } + } +} diff --git a/app/assets/javascripts/runner/graphql/details/runner_jobs.query.graphql b/app/assets/javascripts/runner/graphql/details/runner_jobs.query.graphql new file mode 100644 index 00000000000..2b1decd3ddd --- /dev/null +++ b/app/assets/javascripts/runner/graphql/details/runner_jobs.query.graphql @@ -0,0 +1,36 @@ +#import "~/graphql_shared/fragments/pageInfo.fragment.graphql" + +query getRunnerJobs($id: CiRunnerID!, $first: Int, $last: Int, $before: String, $after: String) { + runner(id: $id) { + id + projectCount + jobs(before: $before, after: $after, first: $first, last: $last) { + nodes { + id + detailedStatus { + # fields for `<ci-badge>` + id + detailsPath + group + icon + text + } + pipeline { + id + project { + id + name + webUrl + } + } + shortSha + commitPath + tags + finishedAt + } + pageInfo { + ...PageInfo + } + } + } +} diff --git a/app/assets/javascripts/runner/graphql/details/runner_projects.query.graphql b/app/assets/javascripts/runner/graphql/details/runner_projects.query.graphql new file mode 100644 index 00000000000..f97237b8267 --- /dev/null +++ b/app/assets/javascripts/runner/graphql/details/runner_projects.query.graphql @@ -0,0 +1,26 @@ +#import "~/graphql_shared/fragments/pageInfo.fragment.graphql" + +query getRunnerProjects( + $id: CiRunnerID! + $first: Int + $last: Int + $before: String + $after: String +) { + runner(id: $id) { + id + projectCount + projects(first: $first, last: $last, before: $before, after: $after) { + nodes { + id + avatarUrl + name + nameWithNamespace + webUrl + } + pageInfo { + ...PageInfo + } + } + } +} diff --git a/app/assets/javascripts/runner/graphql/details/runner_update.mutation.graphql b/app/assets/javascripts/runner/graphql/details/runner_update.mutation.graphql new file mode 100644 index 00000000000..e4bf51e2c30 --- /dev/null +++ b/app/assets/javascripts/runner/graphql/details/runner_update.mutation.graphql @@ -0,0 +1,15 @@ +#import "ee_else_ce/runner/graphql/details/runner_details.fragment.graphql" + +# Mutation for updates from the runner form, loads +# attributes shown in the runner details. + +mutation runnerUpdate($input: RunnerUpdateInput!) { + runnerUpdate(input: $input) { + # We have an id in deep nested fragment + # eslint-disable-next-line @graphql-eslint/require-id-when-available + runner { + ...RunnerDetails + } + errors + } +} |