diff options
author | Kamil Trzciński <ayufan@ayufan.eu> | 2018-09-17 09:01:12 +0000 |
---|---|---|
committer | Kamil Trzciński <ayufan@ayufan.eu> | 2018-09-17 09:01:12 +0000 |
commit | cdc4cd09e74bebf52250581dcbd99cfd8848aaeb (patch) | |
tree | f1cd11e9c147974e85d07ba94d9bff7959a4f19c /app/serializers | |
parent | e1b0ac5b8fc523ddbfbda1f8a30888b61b82374e (diff) | |
parent | c80abb40fcb3b2dc35c62aa30d374f2889247746 (diff) | |
download | gitlab-ce-cdc4cd09e74bebf52250581dcbd99cfd8848aaeb.tar.gz |
Merge branch '50461-add-retried-builds-in-pipeline-stage-endpoint' into 'master'
Add retried jobs to pipeline stages
Closes #50461
See merge request gitlab-org/gitlab-ce!21558
Diffstat (limited to 'app/serializers')
-rw-r--r-- | app/serializers/stage_entity.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/app/serializers/stage_entity.rb b/app/serializers/stage_entity.rb index ca8fa7e7877..029dd3d0684 100644 --- a/app/serializers/stage_entity.rb +++ b/app/serializers/stage_entity.rb @@ -19,6 +19,12 @@ class StageEntity < Grape::Entity latest_statuses end + expose :retried, + if: -> (_, opts) { opts[:retried] }, + with: JobEntity do |stage| + retried_statuses + end + expose :detailed_status, as: :status, with: DetailedStatusEntity expose :path do |stage| @@ -48,9 +54,19 @@ class StageEntity < Grape::Entity @grouped_statuses ||= stage.statuses.latest_ordered.group_by(&:status) end + def grouped_retried_statuses + @grouped_retried_statuses ||= stage.statuses.retried_ordered.group_by(&:status) + end + def latest_statuses HasStatus::ORDERED_STATUSES.map do |ordered_status| grouped_statuses.fetch(ordered_status, []) end.flatten end + + def retried_statuses + HasStatus::ORDERED_STATUSES.map do |ordered_status| + grouped_retried_statuses.fetch(ordered_status, []) + end.flatten + end end |