Octopus.Script exported 2021-09-10 by shout belongs to ‘Sentry’ category.
Posts a new release to Sentry and links it to one or more sentry projects.
Updated version which uses the newer API Token instead of the now depreciated API Key which is only available in legacy Sentry accounts.
Parameters
When steps based on the template are included in a project’s deployment process, the parameters below can be set.
Organisation Slug
SentryReleaseTracking.organization =
The organisation-name part of the url
Project Slug
SentryReleaseTracking.projects =
;
-separated list of all your sentry api slugs for the apps, (web/api/admin) on this specific Environment.
myapp-web-dev;myapp-api-dev
protip: Add them all to a environment-scoped variable.
Sentry token
SentryReleaseTracking.apiToken =
Your sentry token
Script body
Steps based on this template will execute the following PowerShell script.
$organization = $OctopusParameters["SentryReleaseTracking.organization"]
$projects = $OctopusParameters["SentryReleaseTracking.projects"]
$apiToken = $OctopusParameters["SentryReleaseTracking.apiToken"]
$url = "https://sentry.io/api/0/organizations/$organization/releases/"
Write-Host $url
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Authorization", "Bearer $apiToken")
$body = ConvertTo-Json @{
"version" = $OctopusParameters['Octopus.Release.Number']
"projects" = $projects.Split(";")
}
Write-Host $body
Try
{
$response = Invoke-RestMethod -Method Post -Uri "$url" -Body $body -Headers $headers -ContentType "application/json"
Write-Host $response
}
Catch {
if($_.Exception.Response.StatusCode -ne 400)
{
Throw $_
}
}
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": "f957377a-6389-4ed1-87a6-3317e5676a77",
"Name": "Sentry Release Tracking (Token Auth)",
"Description": "Posts a new release to Sentry and links it to one or more sentry projects. \n\n**Updated version** which uses the newer **API Token** instead of the now depreciated API Key which is only available in legacy Sentry accounts.",
"Version": 1,
"ExportedAt": "2021-09-10T12:19:29.946Z",
"ActionType": "Octopus.Script",
"Author": "shout",
"Packages": [],
"Parameters": [
{
"Id": "84a0e54c-c914-481a-9277-4b9ab176c9d6",
"Name": "SentryReleaseTracking.organization",
"Label": "Organisation Slug",
"HelpText": "The organisation-name part of the url",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "7ae25fac-65b3-4830-9ade-56c3443ac63b",
"Name": "SentryReleaseTracking.projects",
"Label": "Project Slug",
"HelpText": "`;`-separated list of all your sentry api slugs for the apps, (web/api/admin) on this specific Environment.\n\n myapp-web-dev;myapp-api-dev\n\nprotip: Add them all to a environment-scoped variable.",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "4d2396cc-5313-4188-91ab-18cf7b59369a",
"Name": "SentryReleaseTracking.apiToken",
"Label": "Sentry token",
"HelpText": "Your sentry token",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "Sensitive"
}
}
],
"Properties": {
"Octopus.Action.Script.Syntax": "PowerShell",
"Octopus.Action.Script.ScriptBody": "$organization = $OctopusParameters[\"SentryReleaseTracking.organization\"]\n$projects = $OctopusParameters[\"SentryReleaseTracking.projects\"]\n$apiToken = $OctopusParameters[\"SentryReleaseTracking.apiToken\"]\n\n$url = \"https://sentry.io/api/0/organizations/$organization/releases/\"\nWrite-Host $url\n\n$headers = New-Object \"System.Collections.Generic.Dictionary[[String],[String]]\"\n$headers.Add(\"Authorization\", \"Bearer $apiToken\")\n$body = ConvertTo-Json @{ \n\t\"version\" = $OctopusParameters['Octopus.Release.Number']\n \"projects\" = $projects.Split(\";\")\n}\n\nWrite-Host $body\nTry\n{\n\t$response = Invoke-RestMethod -Method Post -Uri \"$url\" -Body $body -Headers $headers -ContentType \"application/json\"\n\tWrite-Host $response\n}\nCatch { \n\tif($_.Exception.Response.StatusCode -ne 400)\n\t{\n \t\tThrow $_\n }\n}\n",
"Octopus.Action.Script.ScriptSource": "Inline"
},
"Category": "Sentry",
"HistoryUrl": "https://github.com/OctopusDeploy/Library/commits/master/step-templates//opt/buildagent/work/75443764cd38076d/step-templates/sentry-release-tracking-token-auth.json",
"Website": "/step-templates/f957377a-6389-4ed1-87a6-3317e5676a77",
"Logo": "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",
"$Meta": {
"Type": "ActionTemplate"
}
}
Page updated on Friday, September 10, 2021