与Http调用相关的Azure Pipline构建步骤

时间:2019-07-23 11:56:26

标签: azure-devops azure-pipelines

我正在Azure DevOps中创建管道。现在,我想在Azure Pipeline任务中集成Http Get调用。

如果响应为200/201,则将执行其他管道构建步骤,否则将不执行其他管道任务。

建议我如何实现此目标。

1 个答案:

答案 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'))

在编辑器中:

enter image description here