我正在Azure DevOps中创建管道。现在,我想在Azure Pipeline任务中集成Http Get调用。
如果响应为200/201,则将执行其他管道构建步骤,否则将不执行其他管道任务。
建议我如何实现此目标。
答案 0 :(得分:1)
您可以在PowerShell中使Http Get成为可能,然后根据结果集设置一个变量,其他任务将取决于此变量。例如:
$response = Invoke-WebRequest -Uri http://test.com -Method Get
$statusCode = $response.StatusCode
if(($statusCode -eq 200) -or ($statusCode -eq 201))
{
Write-Host "##vso[task.setvariable variable=status]ok"
}
else
{
Write-Host "##vso[task.setvaraible variable=status]notOk"
}
现在,在其他任务中,您可以添加status
变量的自定义条件库:
and(succeeded(), eq(variables['status'], 'ok'))
在Yaml中:
- task: CmdLine@2
inputs:
script: 'echo Test'
condition: and(succeeded(), eq(variables['status'], 'ok'))
在编辑器中: