c8a115c0e3
Any mention of Issues, MergeRequests, or Commits via GitLab-flavored markdown references in descriptions, titles, or attached Notes creates a back-reference Note that links to the original referencer. Furthermore, pushing commits with commit messages that match a (configurable) regexp to a project's default branch will close any issues mentioned by GFM in the matched closing phrase. If accepting a merge request would close any Issues in this way, a banner is appended to the merge request's main panel to indicate this.
32 lines
786 B
Ruby
32 lines
786 B
Ruby
class IssueObserver < BaseObserver
|
|
def after_create(issue)
|
|
notification.new_issue(issue, current_user)
|
|
|
|
issue.create_cross_references!(issue.project, current_user)
|
|
end
|
|
|
|
def after_close(issue, transition)
|
|
notification.close_issue(issue, current_user)
|
|
|
|
create_note(issue)
|
|
end
|
|
|
|
def after_reopen(issue, transition)
|
|
create_note(issue)
|
|
end
|
|
|
|
def after_update(issue)
|
|
if issue.is_being_reassigned?
|
|
notification.reassigned_issue(issue, current_user)
|
|
end
|
|
|
|
issue.notice_added_references(issue.project, current_user)
|
|
end
|
|
|
|
protected
|
|
|
|
# Create issue note with service comment like 'Status changed to closed'
|
|
def create_note(issue)
|
|
Note.create_status_change_note(issue, issue.project, current_user, issue.state, current_commit)
|
|
end
|
|
end
|