Octopus.Script exported 2020-01-29 by waxtell belongs to ‘SwaggerHub’ category.
Post your Swagger/OAS to SwaggerHub
Parameters
When steps based on the template are included in a project’s deployment process, the parameters below can be set.
SwaggerHub API Key
shpApiKey =
Your SwaggerHub API key
Owner
shpOwner =
API owner (user or organization, case-sensitive)
Api Name
shpApi =
API name (case-sensitive)
Is Private
shpIsPrivate = False
Defines whether the API has to be private
Version
shpVersion =
API version
OAS Version
shpOas = 2.0
The OpenApi Specification (OAS) version.
Definition
shpDefinition =
The Swagger definition, or the path to the file that contains the definition, of this API
Definition Content Type
shpContentType = application/json
Definition Content Type
Force
shpForce = False
Force update
Script body
Steps based on this template will execute the following PowerShell script.
function Coalesce($a, $b) {
if ($null -ne $a) {
$a
} else {
$b
}
}
function Validate([string]$parameterValue, [string[]]$validInput, $parameterName) {
Write-Host "${parameterName}: $parameterValue"
if (!$parameterValue) {
throw "Parameter $parameterName is required!"
}
if ($validInput) {
if (! $validInput -contains $parameterValue) {
throw "'$input' is not a valid value for '$parameterName'"
}
}
}
$apiKey = $OctopusParameters['shpApiKey']
$owner = $OctopusParameters['shpOwner']
$apiName = $OctopusParameters['shpApi']
$definition = $OctopusParameters['shpDefinition']
$contentType = Coalesce $OctopusParameters['shpContentType'] "application/json"
$oas = Coalesce $OctopusParameters['shpOas'] "2.0"
$isPrivate = (Coalesce $OctopusParameters['shpIsPrivate'] "False").ToLower()
$force = (Coalesce $OctopusParameters['shpForce'] "False").ToLower()
$version = $OctopusParameters['shpVersion']
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor [System.Net.SecurityProtocolType]::Tls12
Validate $apiKey -parameterName "Api Key"
Validate $owner -parameterName "Owner"
Validate $apiName -parameterName "Api Name"
Validate $definition -parameterName "Definition"
try {
Write-Host "Updating $($apiName)..."
$headers = @{
'Authorization' = $apiKey
'Accept' = 'application/json'
}
$query = "https://api.swaggerhub.com/apis/$($owner)/$($apiName)?isPrivate=$($isPrivate.ToLower())&oas=$($oas)&force=$($force.ToLower())"
if($version) {
$query = $query+"&version=$($version)"
}
$specification = $definition
# If $definition contains a file path, load the content of the provided value
if((Test-Path $definition -ErrorAction SilentlyContinue)[0]) {
$specification = get-content $definition
}
Invoke-RestMethod $query -Headers $headers -ContentType $contentType -Method Post -Body $specification
Write-Host "SwaggerHub post successful"
} catch {
Write-Host $_.Exception.Message
Write-Host "SwaggerHub post failed!"
Write-Host " HttpStatus: $($_.Exception.Response.StatusCode.value__)"
exit 1
}
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": "0f60f13c-bc00-4035-a0ba-5aeef6a2c1e5",
"Name": "SwaggerHub Post Api",
"Description": "Post your Swagger/OAS to SwaggerHub",
"Version": 1,
"ExportedAt": "2020-01-29T17:02:59.155Z",
"ActionType": "Octopus.Script",
"Author": "waxtell",
"Packages": [],
"Parameters": [
{
"Id": "c71e96a7-5e25-4624-9e57-976cc18eb348",
"Name": "shpApiKey",
"Label": "SwaggerHub API Key",
"HelpText": "Your SwaggerHub API key",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "Sensitive"
}
},
{
"Id": "7047922F-8AA3-476F-B2E6-89E9C6F0DB3F",
"Name": "shpOwner",
"Label": "Owner",
"HelpText": "API owner (user or organization, case-sensitive)",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "BBE8AB7A-2BFE-4413-ACFF-384F6B6F953C",
"Name": "shpApi",
"Label": "Api Name",
"HelpText": "API name (case-sensitive)",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "409EAF93-FF98-4430-89CD-19C30E1CC792",
"Name": "shpIsPrivate",
"Label": "Is Private",
"HelpText": "Defines whether the API has to be private",
"DefaultValue": "False",
"DisplaySettings": {
"Octopus.ControlType": "Checkbox"
}
},
{
"Id": "3643C071-B51F-4611-900C-FAB22B4C5698",
"Name": "shpVersion",
"Label": "Version",
"HelpText": "API version",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "25550589-4208-476C-B581-20EF0A4F1453",
"Name": "shpOas",
"Label": "OAS Version",
"HelpText": "The OpenApi Specification (OAS) version.",
"DefaultValue": "2.0",
"DisplaySettings": {
"Octopus.ControlType": "Select",
"Octopus.SelectOptions": "2.0|2.0\n3.0.0|3.0.0\n3.0.1|3.0.1"
}
},
{
"Id": "AF1EF8F1-A829-4D40-86B1-9D18D909037E",
"Name": "shpDefinition",
"Label": "Definition",
"HelpText": "The Swagger definition, or the path to the file that contains the definition, of this API",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "MultiLineText"
}
},
{
"Id": "F99E5B74-55BF-4C91-83E6-E6AC17284F4C",
"Name": "shpContentType",
"Label": "Definition Content Type",
"HelpText": "Definition Content Type",
"DefaultValue": "application/json",
"DisplaySettings": {
"Octopus.ControlType": "Select",
"Octopus.SelectOptions": "application/json|application/json\napplication/yaml|application/yaml"
}
},
{
"Id": "3790F1C7-3FA8-4908-B4C3-F96DCD02B96D",
"Name": "shpForce",
"Label": "Force",
"HelpText": "Force update",
"DefaultValue": "False",
"DisplaySettings": {
"Octopus.ControlType": "Checkbox"
}
}
],
"Properties": {
"Octopus.Action.Script.ScriptBody": "function Coalesce($a, $b) { \n if ($null -ne $a) { \n $a \n } else { \n $b \n } \n}\n\nfunction Validate([string]$parameterValue, [string[]]$validInput, $parameterName) {\n Write-Host \"${parameterName}: $parameterValue\"\n\n if (!$parameterValue) {\n throw \"Parameter $parameterName is required!\"\n }\n \n if ($validInput) {\n if (! $validInput -contains $parameterValue) {\n throw \"'$input' is not a valid value for '$parameterName'\"\n }\n }\n}\n\n$apiKey = $OctopusParameters['shpApiKey']\n$owner = $OctopusParameters['shpOwner']\n$apiName = $OctopusParameters['shpApi']\n$definition = $OctopusParameters['shpDefinition']\n$contentType = Coalesce $OctopusParameters['shpContentType'] \"application/json\"\n$oas = Coalesce $OctopusParameters['shpOas'] \"2.0\"\n$isPrivate = (Coalesce $OctopusParameters['shpIsPrivate'] \"False\").ToLower()\n$force = (Coalesce $OctopusParameters['shpForce'] \"False\").ToLower()\n$version = $OctopusParameters['shpVersion']\n\n[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor [System.Net.SecurityProtocolType]::Tls12\n\nValidate $apiKey -parameterName \"Api Key\"\nValidate $owner -parameterName \"Owner\"\nValidate $apiName -parameterName \"Api Name\"\nValidate $definition -parameterName \"Definition\"\n\ntry {\n Write-Host \"Updating $($apiName)...\"\n\n $headers = @{ \n 'Authorization' = $apiKey \n 'Accept' = 'application/json'\n } \n \n $query = \"https://api.swaggerhub.com/apis/$($owner)/$($apiName)?isPrivate=$($isPrivate.ToLower())&oas=$($oas)&force=$($force.ToLower())\"\n\n if($version) {\n $query = $query+\"&version=$($version)\"\n }\n \n $specification = $definition\n \n # If $definition contains a file path, load the content of the provided value\n if((Test-Path $definition -ErrorAction SilentlyContinue)[0]) {\n $specification = get-content $definition\n }\n\n Invoke-RestMethod $query -Headers $headers -ContentType $contentType -Method Post -Body $specification\n\n Write-Host \"SwaggerHub post successful\"\n} catch {\n Write-Host $_.Exception.Message\n Write-Host \"SwaggerHub post failed!\"\n Write-Host \" HttpStatus: $($_.Exception.Response.StatusCode.value__)\" \n\n exit 1\n}\n",
"Octopus.Action.Script.Syntax": "PowerShell",
"Octopus.Action.Script.ScriptSource": "Inline",
"Octopus.Action.RunOnServer": "false"
},
"Category": "SwaggerHub",
"HistoryUrl": "https://github.com/OctopusDeploy/Library/commits/master/step-templates//opt/buildagent/work/75443764cd38076d/step-templates/swaggerhub-post-api.json",
"Website": "/step-templates/0f60f13c-bc00-4035-a0ba-5aeef6a2c1e5",
"Logo": "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",
"$Meta": {
"Type": "ActionTemplate"
}
}
Page updated on Wednesday, January 29, 2020