Module: Gitlab::AlertManagement::Payload

Defined in:
lib/gitlab/alert_management/payload.rb,
lib/gitlab/alert_management/payload/base.rb,
lib/gitlab/alert_management/payload/generic.rb,
lib/gitlab/alert_management/payload/prometheus.rb

Defined Under Namespace

Classes: Base, Generic, Prometheus

Constant Summary collapse

MONITORING_TOOLS =
{
  prometheus: 'Prometheus'
}.freeze

Class Method Summary collapse

Class Method Details

.parse(project, payload, monitoring_tool: nil, integration: nil) ⇒ Object

Instantiates an instance of a subclass of Gitlab::AlertManagement::Payload::Base. This can be used to create new alerts or read content from the payload of an existing AlertManagement::Alert

Parameters:



20
21
22
23
24
# File 'lib/gitlab/alert_management/payload.rb', line 20

def parse(project, payload, monitoring_tool: nil, integration: nil)
  payload_class = payload_class_for(monitoring_tool: monitoring_tool || payload&.dig('monitoring_tool'))

  payload_class.new(project: project, payload: payload, integration: integration)
end