我有一个非常简单的powershell脚本,可以在特定组件上完成部署时通知newrelic。我遇到的问题是我无法正确发送版本号。
我使用的脚本是:
$NewRelicUri = "https://api.newrelic.com/deployments.xml"
$body = @{
"deployment[app_name]" = "PB.Website";
"deployment[revision]"= "#{Octopus.Release.Number}";
}
Write-Host "Sending notification to $NewRelicUri..."
Invoke-WebRequest -Uri $NewRelicUri -Headers @{ "x-api-key"="XXX" } -Method Post -Body $body -UseBasicParsing
这将使用修订版#{Octopus.Release.Number}
生成newrelic部署。我也尝试使用$OctopusParameters['Octopus.Release.Number']
的长版本,但这会产生版本为System.Collections.Generic.Dictionary``2[System.String,System.String]['Octopus.Release.Number']
的部署
如何让章鱼把实际发布号码发送给newrelic?
答案 0 :(得分:6)
我不使用NewRelic,因此我无法对其进行真正的测试,但是您在长版本中遇到的错误表明您需要对该值使用子表达式:
"deployment[revision]"= "$($OctopusParameters['Octopus.Release.Number'])"
如果版本号已经是字符串,那么您可能只需使用:
"deployment[revision]" = $OctopusParameters['Octopus.Release.Number']