debian-mirror-gitlab/app/services/merge_requests/add_todo_when_build_fails_service.rb

31 lines
913 B
Ruby
Raw Normal View History

2018-11-18 11:00:15 +05:30
# frozen_string_literal: true
2016-06-02 11:05:42 +05:30
module MergeRequests
class AddTodoWhenBuildFailsService < MergeRequests::BaseService
# Adds a todo to the parent merge_request when a CI build fails
2017-08-17 22:00:37 +05:30
#
2016-06-02 11:05:42 +05:30
def execute(commit_status)
2018-03-17 18:26:18 +05:30
return if commit_status.allow_failure? || commit_status.retried?
2017-08-17 22:00:37 +05:30
2019-05-18 00:54:41 +05:30
pipeline_merge_requests(commit_status.pipeline) do |merge_request|
2016-06-02 11:05:42 +05:30
todo_service.merge_request_build_failed(merge_request)
end
end
2017-08-17 22:00:37 +05:30
# Closes any pending build failed todos for the parent MRs when a
# build is retried
#
2016-06-02 11:05:42 +05:30
def close(commit_status)
2019-05-18 00:54:41 +05:30
pipeline_merge_requests(commit_status.pipeline) do |merge_request|
2016-06-02 11:05:42 +05:30
todo_service.merge_request_build_retried(merge_request)
end
end
2017-08-17 22:00:37 +05:30
def close_all(pipeline)
pipeline_merge_requests(pipeline) do |merge_request|
todo_service.merge_request_build_retried(merge_request)
end
end
2016-06-02 11:05:42 +05:30
end
end