From 6cb52964a6c0b64d422b4618c116a4ff9d044b67 Mon Sep 17 00:00:00 2001 From: Robert Speicher Date: Wed, 18 Jul 2018 14:57:08 -0700 Subject: Expose web_url attribute in PipelineBasic and JobBasic --- lib/api/entities.rb | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'lib/api') diff --git a/lib/api/entities.rb b/lib/api/entities.rb index 3f3a95ea8e6..8c40d66c651 100644 --- a/lib/api/entities.rb +++ b/lib/api/entities.rb @@ -529,6 +529,10 @@ module API class PipelineBasic < Grape::Entity expose :id, :sha, :ref, :status + + expose :web_url do |pipeline, _options| + Gitlab::Routing.url_helpers.project_pipeline_url(pipeline.project, pipeline) + end end class MergeRequestSimple < ProjectEntity @@ -1069,6 +1073,10 @@ module API expose :user, with: User expose :commit, with: Commit expose :pipeline, with: PipelineBasic + + expose :web_url do |job, _options| + Gitlab::Routing.url_helpers.project_job_url(job.project, job) + end end class Job < JobBasic -- cgit v1.2.1 From 0f02ce3563716659e0facb15e4c682970634d922 Mon Sep 17 00:00:00 2001 From: Robert Speicher Date: Fri, 20 Jul 2018 10:00:09 -0700 Subject: Ensure a job preloads the project's namespace to avoid N+1 --- lib/api/jobs.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/api') diff --git a/lib/api/jobs.rb b/lib/api/jobs.rb index e95b0dd5267..10c6e565f09 100644 --- a/lib/api/jobs.rb +++ b/lib/api/jobs.rb @@ -54,7 +54,7 @@ module API pipeline = user_project.pipelines.find(params[:pipeline_id]) builds = pipeline.builds builds = filter_builds(builds, params[:scope]) - builds = builds.preload(:job_artifacts_archive) + builds = builds.preload(:job_artifacts_archive, project: [:namespace]) present paginate(builds), with: Entities::Job end -- cgit v1.2.1