Introduce failure_reason or failure_code for pipeline
The following discussion from gitlab-ce!11910 should be addressed:
-
@ayufan started a discussion: (+6 comments) I wonder if we should not do it differently:
class Pipeline enum :failure_reason [ everything_ok: null, unauthorized: 10 ] end class CreatePipelineService def execute unless check_permission? return error!(:unauthorized, ...) end end end class PipelineScheduleWorker def perform for_each_Schedule do |schedule| pipeline = CreatePipelineService.new.execute schedule.deactivate! if pipeline.unauthorized? end end end