diff options
Diffstat (limited to 'app/graphql/resolvers/ci/all_jobs_resolver.rb')
-rw-r--r-- | app/graphql/resolvers/ci/all_jobs_resolver.rb | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/app/graphql/resolvers/ci/all_jobs_resolver.rb b/app/graphql/resolvers/ci/all_jobs_resolver.rb index 5d0193e0e1c..3012a7defa6 100644 --- a/app/graphql/resolvers/ci/all_jobs_resolver.rb +++ b/app/graphql/resolvers/ci/all_jobs_resolver.rb @@ -11,14 +11,24 @@ module Resolvers required: false, description: 'Filter jobs by status.' - def resolve_with_lookahead(statuses: nil) - jobs = ::Ci::JobsFinder.new(current_user: current_user, params: { scope: statuses }).execute + argument :runner_types, [::Types::Ci::RunnerTypeEnum], + required: false, + alpha: { milestone: '16.4' }, + description: 'Filter jobs by runner type if ' \ + 'feature flag `:admin_jobs_filter_runner_type` is enabled.' + + def resolve_with_lookahead(**args) + jobs = ::Ci::JobsFinder.new(current_user: current_user, params: params_data(args)).execute apply_lookahead(jobs) end private + def params_data(args) + { scope: args[:statuses], runner_type: args[:runner_types] } + end + def preloads { previous_stage_jobs_or_needs: [:needs, :pipeline], @@ -32,9 +42,21 @@ module Resolvers browse_artifacts_path: [{ project: { namespace: [:route] } }], play_path: [{ project: { namespace: [:route] } }], web_path: [{ project: { namespace: [:route] } }], - tags: [:tags] + tags: [:tags], + ai_failure_analysis: [{ project: [:project_feature, :namespace] }], + trace: [{ project: [:namespace] }, :job_artifacts_trace] } end + + def nested_preloads + super.merge({ + trace: { + html_summary: [:trace_chunks] + } + }) + end end end end + +Resolvers::Ci::AllJobsResolver.prepend_mod |