【发布时间】:2021-03-27 04:04:17
【问题描述】:
我在 Teamcity 上的一个管道上有下一步工作
powerShell {
name = "Start e2e-container-group build at Azure"
executionMode = BuildStep.ExecutionMode.ALWAYS
scriptMode = script {
content = """
try {
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Authorization", "Basic token")
$headers.Add("Content-Type", "application/json")
$body = "{
`n `"definitionId`": 7,
`n `"description`": `"Release for E2E-UAT testing`"
`n}"
Invoke-RestMethod 'https://vsrm.dev.azure.com/company/projectname/_apis/release/releases?api-version=5.1' -Method 'POST' -Headers $headers -Body $body
} catch [Exception] {
Write-Output ${'$'}_.Exception.Message
exit 1
}
""".trimIndent()
}
}
我在运行管道时得到的输出是:
Kotlin DSL compilation errors
Compilation error Extra\buildTypes\E2ETestsBuild.kt[89:33]: Unresolved reference: headers
Compilation error Extra\buildTypes\E2ETestsBuild.kt[90:33]: Unresolved reference: headers
Compilation error Extra\buildTypes\E2ETestsBuild.kt[91:33]: Unresolved reference: headers
Compilation error Extra\buildTypes\E2ETestsBuild.kt[93:33]: Unresolved reference: body
Compilation error Extra\buildTypes\E2ETestsBuild.kt[98:172]: Unresolved reference: headers
Compilation error Extra\buildTypes\E2ETestsBuild.kt[98:187]: Unresolved reference: body
StackTrace
Load project model
Read build settings from revision c8c0bd16eb07f4165ca37f310d0ee25a69a3d448
脚本在 powershell 中运行良好,是否需要执行任何额外步骤才能在管道上运行它?
【问题讨论】:
-
似乎缺少必要的导入。例如,对于 powershell,这是“import jetbrains.buildServer.configs.kotlin.v2018_2.buildSteps.powershell”
标签: powershell kotlin teamcity