Datadog - Create Event
Octopus.Script exported 07/08/2014 by bobjwalker belongs to 'Datadog' category.
Datadog is cloud monitoring service which allows you to push arbitrary events into via an api. This task allows you to create an event to correlate with other data.
Parameters
When steps based on the template are included in a project's deployment process, the parameters below can be set.
Datadog Api Key
The api key used to authenticate with Datadog.
Title
The title for the event to publish.
Body
The text to provide more information about the event.
Alert Type
The alert type out of the following options: "error", "warning", "info" or "success".
Priority
The priority out of the following: "normal" or "low".
Tags
A comma separated list of tags to identify the event.
Datadog Endpoint
The endpoint for datadog, for most (if not all) instances this should just be "https://app.datadoghq.com"
Script body
# Lets handle our own errors here
$ErrorActionPreference = "continue"
$apiKey = $OctopusParameters['ApiKey']
$title = $OctopusParameters['EventTitle']
$body = $OctopusParameters['EventBody']
$alertType = $OctopusParameters['AlertType']
$priority = $OctopusParameters['Priority']
$tags = $OctopusParameters['Tags']
$endpoint = $OctopusParameters['DatadogEndpoint']
$eventsApiEndpoint = "/api/v1/events"
# Write out some debug information
Write-Host "Event Title: $title"
Write-Host "Event Body: $body"
Write-Host "Alert Type: $alertType"
Write-Host "Priority: $priority"
Write-Host "Tags: $tags"
Write-Host "Datadog Endpoint: $endpoint$eventsApiEndpoint"
# Create the url from basic information
$url = "$endpoint$eventsApiEndpoint`?api_key=$apiKey"
$tagString = [system.String]::Join("`",`"", $tags.Split(","))
$json = @"
{
"title": "$title",
"text": "$body",
"priority": "$priority",
"tags": ["$tagString"],
"alert_type": "$alertType"
}
"@
# Make the response and handle exceptions **Requires PS 3.0 +
try {
$response = Invoke-WebRequest -Uri $url -Method POST -Body ($json | ConvertFrom-Json | ConvertTo-Json) -ContentType "Application/json" -UseBasicParsing
}catch{
Write-Error "Error: $_"
EXIT 0
}
# Some Error handling here
if($response.StatusCode -ne 202){
Write-Error "There was an error listing response content below to debug"
$response.RawContent
}else{
Write-Host "Sent Successfully"
}
# We usually don't want to fail a deployment because of this
EXIT 0To use this template in Octopus Deploy, copy the JSON below and paste it into the Library → Step templates → Import dialog.
Show JSON{
"Id": "40af3b8d-83b0-499e-99ed-e4b1093a7633",
"Name": "Datadog - Create Event",
"Description": "Datadog is cloud monitoring service which allows you to push arbitrary events into via an api. This task allows you to create an event to correlate with other data.",
"Version": 3,
"ExportedAt": "2014-07-08T02:19:06.141+00:00",
"ActionType": "Octopus.Script",
"Author": "bobjwalker",
"Parameters": [
{
"Name": "ApiKey",
"Label": "Datadog Api Key",
"HelpText": "The api key used to authenticate with Datadog.",
"DefaultValue": null,
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Name": "EventTitle",
"Label": "Title",
"HelpText": "The title for the event to publish.",
"DefaultValue": null,
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Name": "EventBody",
"Label": "Body",
"HelpText": "The text to provide more information about the event.",
"DefaultValue": null,
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Name": "AlertType",
"Label": "Alert Type",
"HelpText": "The alert type out of the following options: \"error\", \"warning\", \"info\" or \"success\".",
"DefaultValue": "info",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Name": "Priority",
"Label": "Priority",
"HelpText": "The priority out of the following: \"normal\" or \"low\".",
"DefaultValue": "normal",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Name": "Tags",
"Label": "Tags",
"HelpText": "A comma separated list of tags to identify the event.",
"DefaultValue": null,
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Name": "DatadogEndpoint",
"Label": "Datadog Endpoint",
"HelpText": "The endpoint for datadog, for most (if not all) instances this should just be \"https://app.datadoghq.com\"",
"DefaultValue": "https://app.datadoghq.com",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
}
],
"Properties": {
"Octopus.Action.Script.ScriptBody": "# Lets handle our own errors here\n$ErrorActionPreference = \"continue\"\n\n$apiKey = $OctopusParameters['ApiKey']\n$title = $OctopusParameters['EventTitle']\n$body = $OctopusParameters['EventBody']\n$alertType = $OctopusParameters['AlertType']\n$priority = $OctopusParameters['Priority']\n$tags = $OctopusParameters['Tags']\n$endpoint = $OctopusParameters['DatadogEndpoint']\n$eventsApiEndpoint = \"/api/v1/events\"\n\n# Write out some debug information\nWrite-Host \"Event Title: $title\"\nWrite-Host \"Event Body: $body\"\nWrite-Host \"Alert Type: $alertType\"\nWrite-Host \"Priority: $priority\"\nWrite-Host \"Tags: $tags\"\nWrite-Host \"Datadog Endpoint: $endpoint$eventsApiEndpoint\"\n\n# Create the url from basic information\n$url = \"$endpoint$eventsApiEndpoint`?api_key=$apiKey\"\n$tagString = [system.String]::Join(\"`\",`\"\", $tags.Split(\",\"))\n\n$json = @\"\n{\n \"title\": \"$title\",\n \"text\": \"$body\",\n \"priority\": \"$priority\",\n \"tags\": [\"$tagString\"],\n \"alert_type\": \"$alertType\"\n }\n\"@\n\n# Make the response and handle exceptions **Requires PS 3.0 + \ntry {\n $response = Invoke-WebRequest -Uri $url -Method POST -Body ($json | ConvertFrom-Json | ConvertTo-Json) -ContentType \"Application/json\" -UseBasicParsing\n}catch{\n Write-Error \"Error: $_\"\n EXIT 0\n}\n\n# Some Error handling here\nif($response.StatusCode -ne 202){\n Write-Error \"There was an error listing response content below to debug\"\n $response.RawContent\n}else{\n Write-Host \"Sent Successfully\"\n}\n\n# We usually don't want to fail a deployment because of this\nEXIT 0",
"Octopus.Action.Script.Syntax": "PowerShell"
},
"Category": "Datadog",
"HistoryUrl": "https://github.com/OctopusDeploy/Library/commits/master/step-templates/datadog-create-event.json",
"Website": "/step-templates/40af3b8d-83b0-499e-99ed-e4b1093a7633",
"Logo": "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",
"$Meta": {
"Type": "ActionTemplate"
}
}Provided under the Apache License version 2.0.