Make previousStageJobsOrNeeds return union
What does this MR do and why?
Updates the return type for previousStageJobsOrNeeds
to be a BuildNeedType
instead of a JobType
. This caused an incident because the previous_stage_jobs_or_needs
method was returning Ci::BuildNeed
objects instead of the jobs that matches the defined needs. Ci::BuildNeed
does not have a type
method, so when JobType
tried to calculate the id
using the below method, a NoMethodError
was thrown.
def id
return unless object.id.present?
model_name = object.type || ::CommitStatus.name
id = object.id
Gitlab::GlobalId.build(model_name: model_name, id: id)
end
This MR also updates the spec with an id
to prove that this is working now.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Laura Montemayor