2018-07-05 10:18:17 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2015-05-01 03:16:19 +00:00
|
|
|
# SystemNoteService
|
|
|
|
#
|
|
|
|
# Used for creating system notes (e.g., when a user references a merge request
|
|
|
|
# from an issue, an issue's assignee changes, an issue is closed, etc.)
|
2016-07-19 12:18:51 +00:00
|
|
|
module SystemNoteService
|
|
|
|
extend self
|
|
|
|
|
2021-04-08 15:09:06 +00:00
|
|
|
# Called when commits are added to a merge request
|
2015-05-09 22:18:50 +00:00
|
|
|
#
|
|
|
|
# noteable - Noteable object
|
|
|
|
# project - Project owning noteable
|
|
|
|
# author - User performing the change
|
|
|
|
# new_commits - Array of Commits added since last push
|
|
|
|
# existing_commits - Array of Commits added in a previous push
|
2015-05-26 20:30:07 +00:00
|
|
|
# oldrev - Optional String SHA of a previous Commit
|
2015-05-09 22:18:50 +00:00
|
|
|
#
|
|
|
|
# Returns the created Note object
|
2016-07-19 12:18:51 +00:00
|
|
|
def add_commits(noteable, project, author, new_commits, existing_commits = [], oldrev = nil)
|
2019-10-03 12:06:00 +00:00
|
|
|
::SystemNotes::CommitService.new(noteable: noteable, project: project, author: author).add_commits(new_commits, existing_commits, oldrev)
|
2015-05-09 22:18:50 +00:00
|
|
|
end
|
|
|
|
|
2018-07-21 12:57:52 +00:00
|
|
|
# Called when a commit was tagged
|
|
|
|
#
|
|
|
|
# noteable - Noteable object
|
|
|
|
# project - Project owning noteable
|
|
|
|
# author - User performing the tag
|
|
|
|
# tag_name - The created tag name
|
|
|
|
#
|
|
|
|
# Returns the created Note object
|
|
|
|
def tag_commit(noteable, project, author, tag_name)
|
2019-10-03 12:06:00 +00:00
|
|
|
::SystemNotes::CommitService.new(noteable: noteable, project: project, author: author).tag_commit(tag_name)
|
2018-07-21 12:57:52 +00:00
|
|
|
end
|
|
|
|
|
2016-07-19 12:18:51 +00:00
|
|
|
def change_assignee(noteable, project, author, assignee)
|
2019-10-08 15:06:04 +00:00
|
|
|
::SystemNotes::IssuablesService.new(noteable: noteable, project: project, author: author).change_assignee(assignee)
|
2015-05-01 03:16:19 +00:00
|
|
|
end
|
|
|
|
|
2019-04-07 18:35:16 +00:00
|
|
|
def change_issuable_assignees(issuable, project, author, old_assignees)
|
2019-10-08 15:06:04 +00:00
|
|
|
::SystemNotes::IssuablesService.new(noteable: issuable, project: project, author: author).change_issuable_assignees(old_assignees)
|
2017-05-04 12:11:15 +00:00
|
|
|
end
|
|
|
|
|
2020-09-24 09:09:35 +00:00
|
|
|
def change_issuable_reviewers(issuable, project, author, old_reviewers)
|
|
|
|
::SystemNotes::IssuablesService.new(noteable: issuable, project: project, author: author).change_issuable_reviewers(old_reviewers)
|
|
|
|
end
|
|
|
|
|
2022-02-11 15:14:00 +00:00
|
|
|
def change_issuable_contacts(issuable, project, author, added_count, removed_count)
|
|
|
|
::SystemNotes::IssuablesService.new(noteable: issuable, project: project, author: author).change_issuable_contacts(added_count, removed_count)
|
|
|
|
end
|
|
|
|
|
2022-03-15 12:07:44 +00:00
|
|
|
def relate_issuable(noteable, noteable_ref, user)
|
|
|
|
::SystemNotes::IssuablesService.new(noteable: noteable, project: noteable.project, author: user).relate_issuable(noteable_ref)
|
2020-08-21 00:10:44 +00:00
|
|
|
end
|
|
|
|
|
2022-03-04 18:20:01 +00:00
|
|
|
def unrelate_issuable(noteable, noteable_ref, user)
|
|
|
|
::SystemNotes::IssuablesService.new(noteable: noteable, project: noteable.project, author: user).unrelate_issuable(noteable_ref)
|
2020-08-21 00:10:44 +00:00
|
|
|
end
|
2015-05-01 03:16:19 +00:00
|
|
|
|
2018-09-09 18:08:21 +00:00
|
|
|
# Called when the due_date of a Noteable is changed
|
|
|
|
#
|
|
|
|
# noteable - Noteable object
|
|
|
|
# project - Project owning noteable
|
|
|
|
# author - User performing the change
|
|
|
|
# due_date - Due date being assigned, or nil
|
|
|
|
#
|
|
|
|
# Example Note text:
|
|
|
|
#
|
|
|
|
# "removed due date"
|
|
|
|
#
|
|
|
|
# "changed due date to September 20, 2018"
|
|
|
|
#
|
|
|
|
# Returns the created Note object
|
|
|
|
def change_due_date(noteable, project, author, due_date)
|
2020-01-17 18:08:41 +00:00
|
|
|
::SystemNotes::TimeTrackingService.new(noteable: noteable, project: project, author: author).change_due_date(due_date)
|
2018-09-09 18:08:21 +00:00
|
|
|
end
|
|
|
|
|
2016-12-23 05:44:02 +00:00
|
|
|
# Called when the estimated time of a Noteable is changed
|
|
|
|
#
|
|
|
|
# noteable - Noteable object
|
|
|
|
# project - Project owning noteable
|
|
|
|
# author - User performing the change
|
|
|
|
# time_estimate - Estimated time
|
|
|
|
#
|
|
|
|
# Example Note text:
|
|
|
|
#
|
2017-01-26 13:00:32 +00:00
|
|
|
# "removed time estimate"
|
2017-01-26 12:33:35 +00:00
|
|
|
#
|
2017-01-26 13:00:32 +00:00
|
|
|
# "changed time estimate to 3d 5h"
|
2016-12-23 05:44:02 +00:00
|
|
|
#
|
|
|
|
# Returns the created Note object
|
|
|
|
def change_time_estimate(noteable, project, author)
|
2020-01-17 18:08:41 +00:00
|
|
|
::SystemNotes::TimeTrackingService.new(noteable: noteable, project: project, author: author).change_time_estimate
|
2016-12-23 05:44:02 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
# Called when the spent time of a Noteable is changed
|
|
|
|
#
|
|
|
|
# noteable - Noteable object
|
|
|
|
# project - Project owning noteable
|
|
|
|
# author - User performing the change
|
|
|
|
# time_spent - Spent time
|
|
|
|
#
|
|
|
|
# Example Note text:
|
|
|
|
#
|
2017-01-26 13:00:32 +00:00
|
|
|
# "removed time spent"
|
2017-01-26 12:33:35 +00:00
|
|
|
#
|
2017-01-26 13:00:32 +00:00
|
|
|
# "added 2h 30m of time spent"
|
2016-12-23 05:44:02 +00:00
|
|
|
#
|
|
|
|
# Returns the created Note object
|
|
|
|
def change_time_spent(noteable, project, author)
|
2020-01-17 18:08:41 +00:00
|
|
|
::SystemNotes::TimeTrackingService.new(noteable: noteable, project: project, author: author).change_time_spent
|
2016-12-23 05:44:02 +00:00
|
|
|
end
|
|
|
|
|
2022-04-22 15:09:52 +00:00
|
|
|
# Called when a timelog is removed from a Noteable
|
|
|
|
#
|
|
|
|
# noteable - Noteable object
|
|
|
|
# project - Project owning the noteable
|
|
|
|
# author - User performing the change
|
|
|
|
# timelog - The removed timelog
|
|
|
|
#
|
|
|
|
# Example Note text:
|
|
|
|
# "deleted 2h 30m of time spent from 22-03-2022"
|
|
|
|
#
|
|
|
|
# Returns the created Note object
|
|
|
|
def remove_timelog(noteable, project, author, timelog)
|
|
|
|
::SystemNotes::TimeTrackingService.new(noteable: noteable, project: project, author: author).remove_timelog(timelog)
|
|
|
|
end
|
|
|
|
|
2020-01-21 09:08:43 +00:00
|
|
|
def close_after_error_tracking_resolve(issue, project, author)
|
2020-01-24 12:09:01 +00:00
|
|
|
::SystemNotes::IssuablesService.new(noteable: issue, project: project, author: author).close_after_error_tracking_resolve
|
2020-01-21 09:08:43 +00:00
|
|
|
end
|
|
|
|
|
2018-10-08 12:55:52 +00:00
|
|
|
def change_status(noteable, project, author, status, source = nil)
|
2019-10-08 15:06:04 +00:00
|
|
|
::SystemNotes::IssuablesService.new(noteable: noteable, project: project, author: author).change_status(status, source)
|
2015-05-01 03:16:19 +00:00
|
|
|
end
|
|
|
|
|
2021-12-02 09:10:59 +00:00
|
|
|
def request_attention(noteable, project, author, user)
|
|
|
|
::SystemNotes::IssuablesService.new(noteable: noteable, project: project, author: author).request_attention(user)
|
|
|
|
end
|
|
|
|
|
|
|
|
def remove_attention_request(noteable, project, author, user)
|
|
|
|
::SystemNotes::IssuablesService.new(noteable: noteable, project: project, author: author).remove_attention_request(user)
|
|
|
|
end
|
|
|
|
|
2016-11-21 10:27:28 +00:00
|
|
|
# Called when 'merge when pipeline succeeds' is executed
|
2019-06-26 11:58:24 +00:00
|
|
|
def merge_when_pipeline_succeeds(noteable, project, author, sha)
|
2019-10-23 09:06:03 +00:00
|
|
|
::SystemNotes::MergeRequestsService.new(noteable: noteable, project: project, author: author).merge_when_pipeline_succeeds(sha)
|
2015-11-02 16:27:38 +00:00
|
|
|
end
|
|
|
|
|
2016-11-21 10:27:28 +00:00
|
|
|
# Called when 'merge when pipeline succeeds' is canceled
|
2017-02-17 13:56:13 +00:00
|
|
|
def cancel_merge_when_pipeline_succeeds(noteable, project, author)
|
2019-10-23 09:06:03 +00:00
|
|
|
::SystemNotes::MergeRequestsService.new(noteable: noteable, project: project, author: author).cancel_merge_when_pipeline_succeeds
|
2015-11-02 16:27:38 +00:00
|
|
|
end
|
|
|
|
|
2019-06-26 12:24:09 +00:00
|
|
|
# Called when 'merge when pipeline succeeds' is aborted
|
|
|
|
def abort_merge_when_pipeline_succeeds(noteable, project, author, reason)
|
2019-10-23 09:06:03 +00:00
|
|
|
::SystemNotes::MergeRequestsService.new(noteable: noteable, project: project, author: author).abort_merge_when_pipeline_succeeds(reason)
|
2019-06-26 12:24:09 +00:00
|
|
|
end
|
|
|
|
|
2020-10-26 15:08:40 +00:00
|
|
|
def handle_merge_request_draft(noteable, project, author)
|
|
|
|
::SystemNotes::MergeRequestsService.new(noteable: noteable, project: project, author: author).handle_merge_request_draft
|
2016-02-27 03:34:14 +00:00
|
|
|
end
|
|
|
|
|
2020-10-26 15:08:40 +00:00
|
|
|
def add_merge_request_draft_from_commit(noteable, project, author, commit)
|
|
|
|
::SystemNotes::MergeRequestsService.new(noteable: noteable, project: project, author: author).add_merge_request_draft_from_commit(commit)
|
2016-12-15 20:48:26 +00:00
|
|
|
end
|
|
|
|
|
2017-05-21 20:38:33 +00:00
|
|
|
def resolve_all_discussions(merge_request, project, author)
|
2019-10-23 09:06:03 +00:00
|
|
|
::SystemNotes::MergeRequestsService.new(noteable: merge_request, project: project, author: author).resolve_all_discussions
|
2016-07-29 02:39:35 +00:00
|
|
|
end
|
|
|
|
|
2016-10-26 21:21:50 +00:00
|
|
|
def discussion_continued_in_issue(discussion, project, author, issue)
|
2019-10-23 09:06:03 +00:00
|
|
|
::SystemNotes::MergeRequestsService.new(project: project, author: author).discussion_continued_in_issue(discussion, issue)
|
2016-10-26 21:21:50 +00:00
|
|
|
end
|
|
|
|
|
2017-05-21 20:38:33 +00:00
|
|
|
def diff_discussion_outdated(discussion, project, author, change_position)
|
2019-10-23 09:06:03 +00:00
|
|
|
::SystemNotes::MergeRequestsService.new(project: project, author: author).diff_discussion_outdated(discussion, change_position)
|
2017-05-21 20:38:33 +00:00
|
|
|
end
|
|
|
|
|
2016-07-19 12:18:51 +00:00
|
|
|
def change_title(noteable, project, author, old_title)
|
2019-10-08 15:06:04 +00:00
|
|
|
::SystemNotes::IssuablesService.new(noteable: noteable, project: project, author: author).change_title(old_title)
|
2015-05-27 01:49:04 +00:00
|
|
|
end
|
|
|
|
|
2017-04-28 23:54:37 +00:00
|
|
|
def change_description(noteable, project, author)
|
2019-10-08 15:06:04 +00:00
|
|
|
::SystemNotes::IssuablesService.new(noteable: noteable, project: project, author: author).change_description
|
2017-04-28 23:54:37 +00:00
|
|
|
end
|
|
|
|
|
2016-07-19 12:18:51 +00:00
|
|
|
def change_issue_confidentiality(issue, project, author)
|
2019-10-08 15:06:04 +00:00
|
|
|
::SystemNotes::IssuablesService.new(noteable: issue, project: project, author: author).change_issue_confidentiality
|
2016-04-20 22:41:11 +00:00
|
|
|
end
|
|
|
|
|
2015-05-29 01:00:37 +00:00
|
|
|
# Called when a branch in Noteable is changed
|
|
|
|
#
|
|
|
|
# noteable - Noteable object
|
|
|
|
# project - Project owning noteable
|
|
|
|
# author - User performing the change
|
|
|
|
# branch_type - 'source' or 'target'
|
2021-02-17 09:09:36 +00:00
|
|
|
# event_type - the source of event: 'update' or 'delete'
|
2015-05-29 01:00:37 +00:00
|
|
|
# old_branch - old branch name
|
2019-02-25 10:42:31 +00:00
|
|
|
# new_branch - new branch name
|
2015-05-29 01:00:37 +00:00
|
|
|
#
|
2021-02-17 09:09:36 +00:00
|
|
|
# Example Note text is based on event_type:
|
2015-05-29 01:00:37 +00:00
|
|
|
#
|
2021-02-17 09:09:36 +00:00
|
|
|
# update: "changed target branch from `Old` to `New`"
|
2021-03-02 18:11:20 +00:00
|
|
|
# delete: "deleted the `Old` branch. This merge request now targets the `New` branch"
|
2015-05-29 01:00:37 +00:00
|
|
|
#
|
|
|
|
# Returns the created Note object
|
2021-02-17 09:09:36 +00:00
|
|
|
def change_branch(noteable, project, author, branch_type, event_type, old_branch, new_branch)
|
|
|
|
::SystemNotes::MergeRequestsService.new(noteable: noteable, project: project, author: author)
|
|
|
|
.change_branch(branch_type, event_type, old_branch, new_branch)
|
2015-05-29 01:00:37 +00:00
|
|
|
end
|
|
|
|
|
2015-10-15 08:41:46 +00:00
|
|
|
# Called when a branch in Noteable is added or deleted
|
|
|
|
#
|
|
|
|
# noteable - Noteable object
|
|
|
|
# project - Project owning noteable
|
|
|
|
# author - User performing the change
|
2015-10-15 09:08:22 +00:00
|
|
|
# branch_type - :source or :target
|
2015-10-15 08:41:46 +00:00
|
|
|
# branch - branch name
|
2015-10-15 09:08:22 +00:00
|
|
|
# presence - :add or :delete
|
2015-10-15 08:41:46 +00:00
|
|
|
#
|
|
|
|
# Example Note text:
|
|
|
|
#
|
2016-11-23 06:55:23 +00:00
|
|
|
# "restored target branch `feature`"
|
2015-10-15 08:41:46 +00:00
|
|
|
#
|
|
|
|
# Returns the created Note object
|
2016-07-19 12:18:51 +00:00
|
|
|
def change_branch_presence(noteable, project, author, branch_type, branch, presence)
|
2019-10-23 09:06:03 +00:00
|
|
|
::SystemNotes::MergeRequestsService.new(noteable: noteable, project: project, author: author).change_branch_presence(branch_type, branch, presence)
|
2015-10-15 08:41:46 +00:00
|
|
|
end
|
|
|
|
|
2016-02-17 06:11:48 +00:00
|
|
|
# Called when a branch is created from the 'new branch' button on a issue
|
|
|
|
# Example note text:
|
|
|
|
#
|
2016-11-23 06:55:23 +00:00
|
|
|
# "created branch `201-issue-branch-button`"
|
2019-06-28 22:08:26 +00:00
|
|
|
def new_issue_branch(issue, project, author, branch, branch_project: nil)
|
2019-10-23 09:06:03 +00:00
|
|
|
::SystemNotes::MergeRequestsService.new(noteable: issue, project: project, author: author).new_issue_branch(branch, branch_project: branch_project)
|
2016-02-17 06:11:48 +00:00
|
|
|
end
|
|
|
|
|
2018-10-19 07:16:58 +00:00
|
|
|
def new_merge_request(issue, project, author, merge_request)
|
2019-10-23 09:06:03 +00:00
|
|
|
::SystemNotes::MergeRequestsService.new(noteable: issue, project: project, author: author).new_merge_request(merge_request)
|
2018-10-19 07:16:58 +00:00
|
|
|
end
|
|
|
|
|
2021-11-23 12:14:32 +00:00
|
|
|
def cross_reference(mentioned, mentioned_in, author)
|
|
|
|
::SystemNotes::IssuablesService.new(noteable: mentioned, author: author).cross_reference(mentioned_in)
|
2015-05-01 03:16:19 +00:00
|
|
|
end
|
|
|
|
|
2021-11-23 12:14:32 +00:00
|
|
|
def cross_reference_exists?(mentioned, mentioned_in)
|
|
|
|
::SystemNotes::IssuablesService.new(noteable: mentioned).cross_reference_exists?(mentioned_in)
|
2015-05-01 03:16:19 +00:00
|
|
|
end
|
|
|
|
|
2016-07-19 12:18:51 +00:00
|
|
|
def change_task_status(noteable, project, author, new_task)
|
2019-10-08 15:06:04 +00:00
|
|
|
::SystemNotes::IssuablesService.new(noteable: noteable, project: project, author: author).change_task_status(new_task)
|
2016-07-19 12:18:51 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def noteable_moved(noteable, project, noteable_ref, author, direction:)
|
2019-10-08 15:06:04 +00:00
|
|
|
::SystemNotes::IssuablesService.new(noteable: noteable, project: project, author: author).noteable_moved(noteable_ref, direction)
|
2016-07-19 12:18:51 +00:00
|
|
|
end
|
|
|
|
|
2020-12-03 21:09:35 +00:00
|
|
|
def noteable_cloned(noteable, project, noteable_ref, author, direction:)
|
|
|
|
::SystemNotes::IssuablesService.new(noteable: noteable, project: project, author: author).noteable_cloned(noteable_ref, direction)
|
|
|
|
end
|
|
|
|
|
2017-07-20 14:42:33 +00:00
|
|
|
def mark_duplicate_issue(noteable, project, author, canonical_issue)
|
2019-10-08 15:06:04 +00:00
|
|
|
::SystemNotes::IssuablesService.new(noteable: noteable, project: project, author: author).mark_duplicate_issue(canonical_issue)
|
2017-07-20 14:42:33 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def mark_canonical_issue_of_duplicate(noteable, project, author, duplicate_issue)
|
2019-10-08 15:06:04 +00:00
|
|
|
::SystemNotes::IssuablesService.new(noteable: noteable, project: project, author: author).mark_canonical_issue_of_duplicate(duplicate_issue)
|
2017-03-30 01:39:06 +00:00
|
|
|
end
|
|
|
|
|
2021-02-22 12:10:38 +00:00
|
|
|
def add_email_participants(noteable, project, author, body)
|
|
|
|
::SystemNotes::IssuablesService.new(noteable: noteable, project: project, author: author).add_email_participants(body)
|
|
|
|
end
|
|
|
|
|
2017-08-30 14:57:50 +00:00
|
|
|
def discussion_lock(issuable, author)
|
2019-10-08 15:06:04 +00:00
|
|
|
::SystemNotes::IssuablesService.new(noteable: issuable, project: issuable.project, author: author).discussion_lock
|
2017-08-30 14:57:50 +00:00
|
|
|
end
|
|
|
|
|
2021-11-23 12:14:32 +00:00
|
|
|
def cross_reference_disallowed?(mentioned, mentioned_in)
|
|
|
|
::SystemNotes::IssuablesService.new(noteable: mentioned).cross_reference_disallowed?(mentioned_in)
|
2017-11-16 14:23:32 +00:00
|
|
|
end
|
|
|
|
|
2019-07-20 09:06:19 +00:00
|
|
|
def zoom_link_added(issue, project, author)
|
2019-10-10 15:06:07 +00:00
|
|
|
::SystemNotes::ZoomService.new(noteable: issue, project: project, author: author).zoom_link_added
|
2019-07-20 09:06:19 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def zoom_link_removed(issue, project, author)
|
2019-10-10 15:06:07 +00:00
|
|
|
::SystemNotes::ZoomService.new(noteable: issue, project: project, author: author).zoom_link_removed
|
2019-07-20 09:06:19 +00:00
|
|
|
end
|
2020-03-17 09:09:20 +00:00
|
|
|
|
|
|
|
def auto_resolve_prometheus_alert(noteable, project, author)
|
|
|
|
::SystemNotes::IssuablesService.new(noteable: noteable, project: project, author: author).auto_resolve_prometheus_alert
|
|
|
|
end
|
2020-05-13 18:08:47 +00:00
|
|
|
|
|
|
|
# Parameters:
|
|
|
|
# - version [DesignManagement::Version]
|
|
|
|
#
|
|
|
|
# Example Note text:
|
|
|
|
#
|
|
|
|
# "added [1 designs](link-to-version)"
|
|
|
|
# "changed [2 designs](link-to-version)"
|
|
|
|
#
|
|
|
|
# Returns [Array<Note>]: the created Note objects
|
|
|
|
def design_version_added(version)
|
|
|
|
::SystemNotes::DesignManagementService.new(noteable: version.issue, project: version.issue.project, author: version.author).design_version_added(version)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Called when a new discussion is created on a design
|
|
|
|
#
|
|
|
|
# discussion_note - DiscussionNote
|
|
|
|
#
|
|
|
|
# Example Note text:
|
|
|
|
#
|
|
|
|
# "started a discussion on screen.png"
|
|
|
|
#
|
|
|
|
# Returns the created Note object
|
|
|
|
def design_discussion_added(discussion_note)
|
|
|
|
design = discussion_note.noteable
|
|
|
|
|
|
|
|
::SystemNotes::DesignManagementService.new(noteable: design.issue, project: design.project, author: discussion_note.author).design_discussion_added(discussion_note)
|
|
|
|
end
|
2020-07-03 09:08:53 +00:00
|
|
|
|
|
|
|
# Called when the merge request is approved by user
|
|
|
|
#
|
|
|
|
# noteable - Noteable object
|
|
|
|
# user - User performing approve
|
|
|
|
#
|
|
|
|
# Example Note text:
|
|
|
|
#
|
|
|
|
# "approved this merge request"
|
|
|
|
#
|
|
|
|
# Returns the created Note object
|
|
|
|
def approve_mr(noteable, user)
|
|
|
|
merge_requests_service(noteable, noteable.project, user).approve_mr
|
|
|
|
end
|
|
|
|
|
2020-07-07 12:09:16 +00:00
|
|
|
def unapprove_mr(noteable, user)
|
|
|
|
merge_requests_service(noteable, noteable.project, user).unapprove_mr
|
|
|
|
end
|
|
|
|
|
2022-01-21 18:12:45 +00:00
|
|
|
def change_alert_status(alert, author, reason = nil)
|
|
|
|
::SystemNotes::AlertManagementService.new(noteable: alert, project: alert.project, author: author).change_alert_status(reason)
|
2020-07-09 03:09:01 +00:00
|
|
|
end
|
|
|
|
|
2020-07-09 21:09:33 +00:00
|
|
|
def new_alert_issue(alert, issue, author)
|
2020-07-23 09:09:18 +00:00
|
|
|
::SystemNotes::AlertManagementService.new(noteable: alert, project: alert.project, author: author).new_alert_issue(issue)
|
2020-07-09 21:09:33 +00:00
|
|
|
end
|
|
|
|
|
2020-08-27 18:10:29 +00:00
|
|
|
def create_new_alert(alert, monitoring_tool)
|
|
|
|
::SystemNotes::AlertManagementService.new(noteable: alert, project: alert.project).create_new_alert(monitoring_tool)
|
|
|
|
end
|
|
|
|
|
2020-09-21 21:09:27 +00:00
|
|
|
def change_incident_severity(incident, author)
|
|
|
|
::SystemNotes::IncidentService.new(noteable: incident, project: incident.project, author: author).change_incident_severity
|
|
|
|
end
|
|
|
|
|
2022-01-21 18:12:45 +00:00
|
|
|
def change_incident_status(incident, author, reason = nil)
|
|
|
|
::SystemNotes::IncidentService.new(noteable: incident, project: incident.project, author: author).change_incident_status(reason)
|
|
|
|
end
|
|
|
|
|
2021-02-23 18:10:40 +00:00
|
|
|
def log_resolving_alert(alert, monitoring_tool)
|
|
|
|
::SystemNotes::AlertManagementService.new(noteable: alert, project: alert.project).log_resolving_alert(monitoring_tool)
|
|
|
|
end
|
|
|
|
|
2021-08-19 18:10:32 +00:00
|
|
|
def change_issue_type(issue, author)
|
|
|
|
::SystemNotes::IssuablesService.new(noteable: issue, project: issue.project, author: author).change_issue_type
|
|
|
|
end
|
|
|
|
|
2020-07-03 09:08:53 +00:00
|
|
|
private
|
|
|
|
|
|
|
|
def merge_requests_service(noteable, project, author)
|
|
|
|
::SystemNotes::MergeRequestsService.new(noteable: noteable, project: project, author: author)
|
|
|
|
end
|
2015-05-01 03:16:19 +00:00
|
|
|
end
|
2019-09-13 13:26:31 +00:00
|
|
|
|
2021-05-11 21:10:21 +00:00
|
|
|
SystemNoteService.prepend_mod_with('SystemNoteService')
|