summaryrefslogtreecommitdiff
path: root/lib/api
diff options
context:
space:
mode:
authorPeter Marko <peter.marko@siemens.com>2018-07-18 23:46:56 +0200
committerPeter Marko <peter.marko@siemens.com>2018-08-14 15:55:02 +0200
commit3a80f030375835f0cfaf105ae6aba7c103f63de5 (patch)
tree421ba004e13f0f78bd864d95a75943c0f3f2c545 /lib/api
parentd03e7120f2030453a5cfd3e4c47604a5ae6d114a (diff)
downloadgitlab-ce-3a80f030375835f0cfaf105ae6aba7c103f63de5.tar.gz
Expose all artifacts sizes in jobs api
Diffstat (limited to 'lib/api')
-rw-r--r--lib/api/entities.rb6
-rw-r--r--lib/api/jobs.rb4
2 files changed, 8 insertions, 2 deletions
diff --git a/lib/api/entities.rb b/lib/api/entities.rb
index 27f28e1df93..1648094cfde 100644
--- a/lib/api/entities.rb
+++ b/lib/api/entities.rb
@@ -1080,6 +1080,10 @@ module API
expose :filename, :size
end
+ class JobArtifact < Grape::Entity
+ expose :file_type, :size, :filename, :file_format
+ end
+
class JobBasic < Grape::Entity
expose :id, :status, :stage, :name, :ref, :tag, :coverage
expose :created_at, :started_at, :finished_at
@@ -1094,7 +1098,9 @@ module API
end
class Job < JobBasic
+ # artifacts_file is included in job_artifacts, but kept for backward compatibility (remove in api/v5)
expose :artifacts_file, using: JobArtifactFile, if: -> (job, opts) { job.artifacts? }
+ expose :job_artifacts, as: :artifacts, using: JobArtifact
expose :runner, with: Runner
expose :artifacts_expire_at
end
diff --git a/lib/api/jobs.rb b/lib/api/jobs.rb
index 10c6e565f09..fc8c52085ab 100644
--- a/lib/api/jobs.rb
+++ b/lib/api/jobs.rb
@@ -38,7 +38,7 @@ module API
builds = user_project.builds.order('id DESC')
builds = filter_builds(builds, params[:scope])
- builds = builds.preload(:user, :job_artifacts_archive, :runner, pipeline: :project)
+ builds = builds.preload(:user, :job_artifacts_archive, :job_artifacts, :runner, pipeline: :project)
present paginate(builds), with: Entities::Job
end
@@ -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, project: [:namespace])
+ builds = builds.preload(:job_artifacts_archive, :job_artifacts, project: [:namespace])
present paginate(builds), with: Entities::Job
end