Octopus.Script exported 2024-04-09 by benjimac93 belongs to ‘Raygun’ category.
Notifies Raygun of a deployment using their Deployments API. Sends the release number, deployer, release notes from the Octopus deployment.
Parameters
When steps based on the template are included in a project’s deployment process, the parameters below can be set.
Api Key
Raygun.ApiKey =
Raygun Application’s ApiKey (the same one you use to set Raygun up within your app)
Personal Access Token
Raygun.PersonalAccessToken =
Personal Access Token to use from your Raygun User Settings page.
Script body
Steps based on this template will execute the following PowerShell script.
Function Get-Parameter($Name, [switch]$Required, $Default, [switch]$FailOnValidate) {
$result = $null
$errMessage = [string]::Empty
If ($OctopusParameters -ne $null) {
$result = $OctopusParameters[$Name]
Write-Host "Octopus paramter value for $Name : $result"
}
If ($result -eq $null) {
$variable = Get-Variable $Name -EA SilentlyContinue
if ($variable -ne $null) {
$result = $variable.Value
}
}
If ($result -eq $null) {
If ($Required) {
$errMessage = "Missing parameter value $Name"
} Else {
$result = $Default
}
}
If (-Not [string]::IsNullOrEmpty($errMessage)) {
If ($FailOnValidate) {
Throw $errMessage
} Else {
Write-Warning $errMessage
}
}
return $result
}
& {
Write-Host "Start AddInRaygun"
$deploymentId = [string] (Get-Parameter "Octopus.Release.Number" $true [string]::Empty $true)
$ownerName = [string] (Get-Parameter "Octopus.Deployment.CreatedBy.DisplayName" $true [string]::Empty $true)
$emailAddress = [string] (Get-Parameter "Octopus.Deployment.CreatedBy.EmailAddress" $false [string]::Empty $true)
$releaseNotes = [string] (Get-Parameter "Octopus.Release.Notes" $false [string]::Empty $true)
$personAccessToken = [string] (Get-Parameter "Raygun.PersonalAccessToken" $true [string]::Empty $true)
$apiKey = [string] (Get-Parameter "Raygun.ApiKey" $true [string]::Empty $true)
$deployedAt = Get-Date -Format "o"
Write-Host "Registering deployment with Raygun"
# Some older API keys may contain URL reserved characters (eg '/', '=', '+') and will need to be encoded.
# If your API key does not contain any reserved characters you can exclude the following line.
$urlEncodedApiKey = [System.Uri]::EscapeDataString($apiKey);
$url = "https://api.raygun.com/v3/applications/api-key/" + $urlEncodedApiKey + "/deployments"
$headers = @{
Authorization="Bearer " + $personAccessToken
}
$payload = @{
version = $deploymentId
ownerName = $ownerName
emailAddress = $emailAddress
comment = $releaseNotes
deployedAt = $deployedAt
}
$payloadJson = $payload | ConvertTo-Json
try {
Invoke-RestMethod -Uri $url -Body $payloadJson -Method Post -Headers $headers -ContentType "application/json" -AllowInsecureRedirect
Write-Host "Deployment registered with Raygun"
} catch {
Write-Host "Tried to send a deployment to " $url " with payload " $payloadJson
Write-Error "Error received when registering deployment with Raygun: $_"
}
Write-Host "End AddInRaygun"
}
Provided under the Apache License version 2.0.
To use this template in Octopus Deploy, copy the JSON below and paste it into the Library → Step templates → Import dialog.
{
"Id": "bb7de751-edba-4c5f-9845-1bd1b26f6b62",
"Name": "Raygun API - Register Deployment",
"Description": "Notifies [Raygun](https://raygun.com) of a deployment using their [Deployments API](https://raygun.com/documentation/product-guides/deployment-tracking/powershell/).\nSends the release number, deployer, release notes from the Octopus deployment.",
"Version": 1,
"ExportedAt": "2024-04-09T08:20:04.075Z",
"ActionType": "Octopus.Script",
"Author": "benjimac93",
"Packages": [],
"Parameters": [
{
"Id": "0dd429d3-28f6-46b8-8fb7-e2ceb9124c15",
"Name": "Raygun.ApiKey",
"Label": "Api Key",
"HelpText": "Raygun Application's ApiKey (the same one you use to set Raygun up within your app)",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "22d41dfb-f8f3-479d-8e72-08f456529f04",
"Name": "Raygun.PersonalAccessToken",
"Label": "Personal Access Token",
"HelpText": "Personal Access Token to use from your [Raygun User Settings page](https://app.raygun.io/user).",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "Sensitive"
}
}
],
"Properties": {
"Octopus.Action.Script.ScriptSource": "Inline",
"Octopus.Action.Script.Syntax": "PowerShell",
"Octopus.Action.Script.ScriptBody": "Function Get-Parameter($Name, [switch]$Required, $Default, [switch]$FailOnValidate) {\n $result = $null\n $errMessage = [string]::Empty\n\n If ($OctopusParameters -ne $null) {\n $result = $OctopusParameters[$Name]\n Write-Host \"Octopus paramter value for $Name : $result\"\n }\n\n If ($result -eq $null) {\n $variable = Get-Variable $Name -EA SilentlyContinue\n if ($variable -ne $null) {\n $result = $variable.Value\n }\n }\n\n If ($result -eq $null) {\n If ($Required) {\n $errMessage = \"Missing parameter value $Name\"\n } Else {\n $result = $Default\n }\n } \n\n If (-Not [string]::IsNullOrEmpty($errMessage)) {\n If ($FailOnValidate) {\n Throw $errMessage\n } Else {\n Write-Warning $errMessage\n }\n }\n\n return $result\n}\n\n& {\n Write-Host \"Start AddInRaygun\"\n\n $deploymentId = [string] (Get-Parameter \"Octopus.Release.Number\" $true [string]::Empty $true)\n $ownerName = [string] (Get-Parameter \"Octopus.Deployment.CreatedBy.DisplayName\" $true [string]::Empty $true)\n $emailAddress = [string] (Get-Parameter \"Octopus.Deployment.CreatedBy.EmailAddress\" $false [string]::Empty $true)\n $releaseNotes = [string] (Get-Parameter \"Octopus.Release.Notes\" $false [string]::Empty $true)\n $personAccessToken = [string] (Get-Parameter \"Raygun.PersonalAccessToken\" $true [string]::Empty $true)\n $apiKey = [string] (Get-Parameter \"Raygun.ApiKey\" $true [string]::Empty $true)\n $deployedAt = Get-Date -Format \"o\"\n\n Write-Host \"Registering deployment with Raygun\"\n\n # Some older API keys may contain URL reserved characters (eg '/', '=', '+') and will need to be encoded.\n # If your API key does not contain any reserved characters you can exclude the following line.\n $urlEncodedApiKey = [System.Uri]::EscapeDataString($apiKey);\n\n $url = \"https://api.raygun.com/v3/applications/api-key/\" + $urlEncodedApiKey + \"/deployments\"\n\n $headers = @{\n Authorization=\"Bearer \" + $personAccessToken\n }\n\n $payload = @{\n version = $deploymentId\n ownerName = $ownerName\n emailAddress = $emailAddress\n comment = $releaseNotes\n deployedAt = $deployedAt\n }\n\n $payloadJson = $payload | ConvertTo-Json \n\n\n try {\n Invoke-RestMethod -Uri $url -Body $payloadJson -Method Post -Headers $headers -ContentType \"application/json\" -AllowInsecureRedirect\n Write-Host \"Deployment registered with Raygun\"\n } catch {\n Write-Host \"Tried to send a deployment to \" $url \" with payload \" $payloadJson\n Write-Error \"Error received when registering deployment with Raygun: $_\"\n }\n\n Write-Host \"End AddInRaygun\"\n}"
},
"Category": "Raygun",
"HistoryUrl": "https://github.com/OctopusDeploy/Library/commits/master/step-templates//opt/buildagent/work/75443764cd38076d/step-templates/raygun-api-register-deployment.json",
"Website": "/step-templates/bb7de751-edba-4c5f-9845-1bd1b26f6b62",
"Logo": "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",
"$Meta": {
"Type": "ActionTemplate"
}
}
Page updated on Tuesday, April 9, 2024