Stackify's Retrace API Template

Octopus.Script exported 2018-01-29 by mattjbrooksii belongs to ‘Stackify’ category.

Notify Retrace about the status of your deployment via this script.

Parameters

When steps based on the template are included in a project’s deployment process, the parameters below can be set.

Stackify ApiKey

apiKey = #{Stackify.ApiKey}

Located inside your Retrace account. To use the Stackify.ApiKey parameter check out support.stackify.com for more info!

Application Name

app =

Name of your application. Note this must match the name of an app in Retrace

Environment

env = #{Octopus.Environment.Name}

Name of your app’s environment in Retrace. Note this must match the application’s environment in Retrace

Version

version = #{Octopus.Release.Number}

What version of your app is this?

Deployment Action

action = complete

either start/complete/cancel

Deployment URI

uri = #{Octopus.Web.ReleaseLink}

OPTIONAL A link you would like to associate with this release e.g release notes or a link to this release

Branch

branch =

OPTIONAL e.g. master

Commit

commit =

OPTIONAL A unique identifier to assign to this release.

Release Name

name = #{Octopus.Deployment.Name}

OPTIONAL The name of this release.

Script body

Steps based on this template will execute the following PowerShell script.

if (!$hostApi) { $hostApi= 'https://api.stackify.net' }

if ($OctopusParameters["Octopus.Deployment.Error"] -eq $null)
{
$post = $hostApi.TrimEnd('/') + '/api/v1/deployments/' + $action
}
else
{
$post = $hostApi.TrimEnd('/') + '/api/v1/deployments/cancel'
}
# build the authorization header

$headers = @{'authorization'='ApiKey ' + $apiKey}

# build the body of the post

if (!$name) { $name = $version }

$bodyObj = @{ Version=$version; AppName=$app; EnvironmentName=$env; }

if ($action -eq "start" -or $action -eq "complete"){

        $bodyObj.Name = $name

        if ($uri) { $bodyObj.Uri = $uri }

        if ($branch) { $bodyObj.Branch = $branch }

        if ($commit) { $bodyObj.Commit = $commit }

}

$body = ConvertTo-Json $bodyObj

# send the request
Invoke-WebRequest -Uri $post -Method POST -ContentType "application/json" -Headers $headers -Body $body -UseBasicParsing

Provided under the Apache License version 2.0.

Report an issue

To use this template in Octopus Deploy, copy the JSON below and paste it into the Library → Step templates → Import dialog.

{
  "Id": "e28b6898-c336-47b0-bfe0-6158c846ef94",
  "Name": "Stackify's Retrace API Template",
  "Description": "Notify Retrace about the status of your deployment via this script.",
  "Version": 36,
  "ExportedAt": "2018-01-29T22:12:56.674Z",
  "ActionType": "Octopus.Script",
  "Author": "mattjbrooksii",
  "Parameters": [
    {
      "Id": "32391872-38c9-4be1-af4f-785629ab6f6e",
      "Name": "apiKey",
      "Label": "Stackify ApiKey",
      "HelpText": "Located inside your Retrace account. To use the Stackify.ApiKey parameter check out support.stackify.com for more info!",
      "DefaultValue": "#{Stackify.ApiKey}",
      "DisplaySettings": {
        "Octopus.ControlType": "SingleLineText"
      },
      "Links": {}
    },
    {
      "Id": "88767335-f5bd-4eae-8c6a-1d66883b95d7",
      "Name": "app",
      "Label": "Application Name",
      "HelpText": "Name of your application. _Note this must match the name of an app in Retrace_",
      "DefaultValue": "",
      "DisplaySettings": {
        "Octopus.ControlType": "SingleLineText"
      },
      "Links": {}
    },
    {
      "Id": "66237479-d4f0-48b7-82a6-01ea9659c45b",
      "Name": "env",
      "Label": "Environment",
      "HelpText": "Name of your app's environment in Retrace. _Note this must match the application's environment in Retrace_",
      "DefaultValue": "#{Octopus.Environment.Name}",
      "DisplaySettings": {
        "Octopus.ControlType": "SingleLineText"
      },
      "Links": {}
    },
    {
      "Id": "a7d6da84-6b3f-460c-a8bf-7048304943d5",
      "Name": "version",
      "Label": "Version",
      "HelpText": "What version of your app is this?",
      "DefaultValue": "#{Octopus.Release.Number}",
      "DisplaySettings": {
        "Octopus.ControlType": "SingleLineText"
      },
      "Links": {}
    },
    {
      "Id": "911474bd-527e-4b39-90e4-24ef861190e3",
      "Name": "action",
      "Label": "Deployment Action",
      "HelpText": "either start/complete/cancel",
      "DefaultValue": "complete",
      "DisplaySettings": {
        "Octopus.ControlType": "Select",
        "Octopus.SelectOptions": "start|Start\ncomplete|Complete\ncancel|Cancel"
      },
      "Links": {}
    },
    {
      "Id": "56dd8f21-65b8-4dbc-9247-cb5cbb80f86c",
      "Name": "uri",
      "Label": "Deployment URI",
      "HelpText": "**OPTIONAL** A link you would like to associate with this release _e.g release notes or a link to this release_",
      "DefaultValue": "#{Octopus.Web.ReleaseLink}",
      "DisplaySettings": {
        "Octopus.ControlType": "SingleLineText"
      },
      "Links": {}
    },
    {
      "Id": "1fc3268f-7c4a-4877-8663-6fe00253af3c",
      "Name": "branch",
      "Label": "Branch",
      "HelpText": "**OPTIONAL** _e.g. master_",
      "DefaultValue": "",
      "DisplaySettings": {
        "Octopus.ControlType": "SingleLineText"
      },
      "Links": {}
    },
    {
      "Id": "5a4618a6-97a9-42f9-abd3-88234de9a8a1",
      "Name": "commit",
      "Label": "Commit",
      "HelpText": "**OPTIONAL** A unique identifier to assign to this release.",
      "DefaultValue": "",
      "DisplaySettings": {
        "Octopus.ControlType": "SingleLineText"
      },
      "Links": {}
    },
    {
      "Id": "645dab46-ee31-475b-a5a0-05eb059c0893",
      "Name": "name",
      "Label": "Release Name",
      "HelpText": "**OPTIONAL** The name of this release.",
      "DefaultValue": "#{Octopus.Deployment.Name}",
      "DisplaySettings": {
        "Octopus.ControlType": "SingleLineText"
      },
      "Links": {}
    }
  ],
  "Properties": {
    "Octopus.Action.Script.ScriptSource": "Inline",
    "Octopus.Action.Script.Syntax": "PowerShell",
    "Octopus.Action.Script.ScriptBody": "if (!$hostApi) { $hostApi= 'https://api.stackify.net' }\n\nif ($OctopusParameters[\"Octopus.Deployment.Error\"] -eq $null)\n{\n$post = $hostApi.TrimEnd('/') + '/api/v1/deployments/' + $action\n}\nelse\n{\n$post = $hostApi.TrimEnd('/') + '/api/v1/deployments/cancel'\n}\n# build the authorization header\n\n$headers = @{'authorization'='ApiKey ' + $apiKey}\n\n# build the body of the post\n\nif (!$name) { $name = $version }\n\n$bodyObj = @{ Version=$version; AppName=$app; EnvironmentName=$env; }\n\nif ($action -eq \"start\" -or $action -eq \"complete\"){\n\n        $bodyObj.Name = $name\n\n        if ($uri) { $bodyObj.Uri = $uri }\n\n        if ($branch) { $bodyObj.Branch = $branch }\n\n        if ($commit) { $bodyObj.Commit = $commit }\n\n}\n\n$body = ConvertTo-Json $bodyObj\n\n# send the request\nInvoke-WebRequest -Uri $post -Method POST -ContentType \"application/json\" -Headers $headers -Body $body -UseBasicParsing",
    "Octopus.Action.Package.DownloadOnTentacle": "False"
  },
  "Category": "Stackify",
  "HistoryUrl": "https://github.com/OctopusDeploy/Library/commits/master/step-templates//opt/buildagent/work/75443764cd38076d/step-templates/stackify-api-template.json",
  "Website": "/step-templates/e28b6898-c336-47b0-bfe0-6158c846ef94",
  "Logo": "iVBORw0KGgoAAAANSUhEUgAAAG4AAACWCAYAAAA/mr2PAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2Qjk1OEFDRTI0QUQxMUU2QkFENTlFQkUxQjMwOTE2NCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2Qjk1OEFDRjI0QUQxMUU2QkFENTlFQkUxQjMwOTE2NCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjFFODFCRTZCMjRBQjExRTZCQUQ1OUVCRTFCMzA5MTY0IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjFFODFCRTZDMjRBQjExRTZCQUQ1OUVCRTFCMzA5MTY0Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+ERbIWwAADqRJREFUeNrsnQls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",
  "$Meta": {
    "Type": "ActionTemplate"
  }
}

History

Page updated on Monday, January 29, 2018