如何在Azure Pipeline中针对自定义条件处理Null?

时间:2019-07-03 17:58:27

标签: azure-devops

我正在寻找一种在自定义条件下查找变量的最佳方法是null。

我试图比较null。但是,如果我这样配置,Azure Pipeline会抱怨导致错误。

and(failed(), ne(variables['Some'], Null))

此外,此配置不会引发错误,但是,当“ Some”为null时,条件变为false。由于Null和'Null'是不同的。

and(failed(), ne(variables['Some'], 'Null'))

我最终想出了一种解决方法。但是,这不是很酷的方法。我添加PowerShell任务,并创建此脚本。

if ($env:Some -eq $null) {
    Write-Host "##vso[task.setvariable variable=SkipSome]True"
}

然后配置自定义条件

and(failed(), ne(variables['SkipSome'], 'True'))

我希望没有Powershell,有一种方法可以与null进行比较。但是,我在官方文档中找不到它。

1 个答案:

答案 0 :(得分:0)

  

如何在Azure Pipeline中针对自定义条件处理Null?

要在自定义条件下处理Null,我们应使用''而不是Null'Null'

您可以检查String以获得一些详细信息。

因此,您可以按以下方式进行配置:

and(failed(), ne(variables['Some'], ''))

为了更直观地进行测试,我将ne更改为eq

and(failed(), eq(variables['Some'], ''))

然后,在“变量”选项卡上将变量设置为空,并添加具有上述条件的Inline powershell任务:

enter image description here

enter image description here

在日志中,我们可以看到任务已执行:

enter image description here

希望这会有所帮助。