summaryrefslogtreecommitdiff
path: root/lib/gitlab/alerting
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/alerting')
-rw-r--r--lib/gitlab/alerting/notification_payload_parser.rb24
1 files changed, 21 insertions, 3 deletions
diff --git a/lib/gitlab/alerting/notification_payload_parser.rb b/lib/gitlab/alerting/notification_payload_parser.rb
index f285dcf507f..348f851f551 100644
--- a/lib/gitlab/alerting/notification_payload_parser.rb
+++ b/lib/gitlab/alerting/notification_payload_parser.rb
@@ -20,7 +20,8 @@ module Gitlab
def call
{
'annotations' => annotations,
- 'startsAt' => starts_at
+ 'startsAt' => starts_at,
+ 'endsAt' => ends_at
}.compact
end
@@ -55,7 +56,8 @@ module Gitlab
'service' => payload[:service],
'hosts' => hosts.presence,
'severity' => severity,
- 'fingerprint' => fingerprint
+ 'fingerprint' => fingerprint,
+ 'environment' => environment
}
end
@@ -73,8 +75,24 @@ module Gitlab
current_time
end
+ def ends_at
+ Time.parse(payload[:end_time].to_s).rfc3339
+ rescue ArgumentError
+ nil
+ end
+
+ def environment
+ environment_name = payload[:gitlab_environment_name]
+
+ return unless environment_name
+
+ EnvironmentsFinder.new(project, nil, { name: environment_name })
+ .find
+ &.first
+ end
+
def secondary_params
- payload.except(:start_time)
+ payload.except(:start_time, :end_time)
end
def flatten_secondary_params