diff options
author | Paul Slaughter <pslaughter@gitlab.com> | 2018-10-03 12:08:00 +0300 |
---|---|---|
committer | Paul Slaughter <pslaughter@gitlab.com> | 2018-10-03 21:18:21 +0300 |
commit | becb86ea4e8032788b151caac004b2635b57c6a4 (patch) | |
tree | fbad0bec9e69fb82d6a72967ccae2812bbd25eb9 /app/serializers | |
parent | 5a286eb7a3a0c395d35c722ce6a067aca47473f2 (diff) |
Add pipeline status to diffs/commit_item
**Notes:**
- Also exposes commit.pipeline_status_path in diffs.json
Diffstat (limited to 'app/serializers')
-rw-r--r-- | app/serializers/commit_entity.rb | 11 | ||||
-rw-r--r-- | app/serializers/diffs_entity.rb | 4 |
2 files changed, 14 insertions, 1 deletions
diff --git a/app/serializers/commit_entity.rb b/app/serializers/commit_entity.rb index 90406701bbb..a94e32478ce 100644 --- a/app/serializers/commit_entity.rb +++ b/app/serializers/commit_entity.rb @@ -30,6 +30,17 @@ class CommitEntity < API::Entities::Commit render('projects/commit/_signature', signature: commit.signature) if commit.has_signature? end + expose :pipeline_status_path, if: { type: :full } do |commit, options| + pipeline_ref = options[:pipeline_ref] + pipeline_project = options[:pipeline_project] || commit.project + next unless pipeline_ref && pipeline_project + + status = commit.status_for_project(pipeline_ref, pipeline_project) + next unless status + + pipelines_project_commit_path(pipeline_project, commit.id, ref: pipeline_ref) + end + def render(*args) return unless request.respond_to?(:render) && request.render.respond_to?(:call) diff --git a/app/serializers/diffs_entity.rb b/app/serializers/diffs_entity.rb index 00dc55fc004..b51e4a7e6d0 100644 --- a/app/serializers/diffs_entity.rb +++ b/app/serializers/diffs_entity.rb @@ -18,7 +18,9 @@ class DiffsEntity < Grape::Entity expose :commit do |diffs, options| CommitEntity.represent options[:commit], options.merge( type: :full, - commit_url_params: { merge_request_iid: merge_request&.iid } + commit_url_params: { merge_request_iid: merge_request&.iid }, + pipeline_ref: merge_request&.source_branch, + pipeline_project: merge_request&.source_project ) end |