From cfd9c0680d7e07a26df46dac86ac5416b860d4de Mon Sep 17 00:00:00 2001 From: Max Woolf Date: Fri, 3 Oct 2025 12:20:50 +0100 Subject: [PATCH 1/3] Fix CommitDetails entity to use using keyword last_pipeline should use an entity reference to generate valid OpenAPI docs Changelog: fixed --- lib/api/entities/commit_detail.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/api/entities/commit_detail.rb b/lib/api/entities/commit_detail.rb index 428c53f7fe3983..f685f6fefa961b 100644 --- a/lib/api/entities/commit_detail.rb +++ b/lib/api/entities/commit_detail.rb @@ -9,7 +9,7 @@ class CommitDetail < Commit expose :status_for, as: :status, documentation: { type: 'string', example: 'success' } expose :project_id, documentation: { type: 'integer', example: 1 } - expose :last_pipeline, documentation: { type: ::API::Entities::Ci::PipelineBasic.to_s } do |commit, options| + expose :last_pipeline, using: ::API::Entities::Ci::PipelineBasic do |commit, options| pipeline = commit.last_pipeline if can_read_pipeline? ::API::Entities::Ci::PipelineBasic.represent(pipeline, options) end -- GitLab From ddff70d9d7f4a9ca28df7c5949d67d53e3b07281 Mon Sep 17 00:00:00 2001 From: Max Woolf Date: Fri, 3 Oct 2025 12:29:53 +0100 Subject: [PATCH 2/3] Apply 1 suggestion(s) to 1 file(s) Co-authored-by: GitLab Duo --- lib/api/entities/commit_detail.rb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/api/entities/commit_detail.rb b/lib/api/entities/commit_detail.rb index f685f6fefa961b..ac78f0e5b0a178 100644 --- a/lib/api/entities/commit_detail.rb +++ b/lib/api/entities/commit_detail.rb @@ -9,9 +9,8 @@ class CommitDetail < Commit expose :status_for, as: :status, documentation: { type: 'string', example: 'success' } expose :project_id, documentation: { type: 'integer', example: 1 } - expose :last_pipeline, using: ::API::Entities::Ci::PipelineBasic do |commit, options| - pipeline = commit.last_pipeline if can_read_pipeline? - ::API::Entities::Ci::PipelineBasic.represent(pipeline, options) + expose :last_pipeline, using: ::API::Entities::Ci::PipelineBasic, if: :can_read_pipeline? do |commit, options| + commit.last_pipeline end private -- GitLab From fa794307dff60f14881e8895c7e70c57cfc850d4 Mon Sep 17 00:00:00 2001 From: Max Woolf Date: Fri, 3 Oct 2025 12:45:36 +0100 Subject: [PATCH 3/3] Apply 1 suggestion(s) to 1 file(s) --- lib/api/entities/commit_detail.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/api/entities/commit_detail.rb b/lib/api/entities/commit_detail.rb index ac78f0e5b0a178..f685f6fefa961b 100644 --- a/lib/api/entities/commit_detail.rb +++ b/lib/api/entities/commit_detail.rb @@ -9,8 +9,9 @@ class CommitDetail < Commit expose :status_for, as: :status, documentation: { type: 'string', example: 'success' } expose :project_id, documentation: { type: 'integer', example: 1 } - expose :last_pipeline, using: ::API::Entities::Ci::PipelineBasic, if: :can_read_pipeline? do |commit, options| - commit.last_pipeline + expose :last_pipeline, using: ::API::Entities::Ci::PipelineBasic do |commit, options| + pipeline = commit.last_pipeline if can_read_pipeline? + ::API::Entities::Ci::PipelineBasic.represent(pipeline, options) end private -- GitLab