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

san*_*yuu 5 azure-devops

我发现在自定义条件下查找变量的最佳方法是 null。

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

and(failed(), ne(variables['Some'], Null))
Run Code Online (Sandbox Code Playgroud)

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

and(failed(), ne(variables['Some'], 'Null'))
Run Code Online (Sandbox Code Playgroud)

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

and(failed(), ne(variables['Some'], Null))
Run Code Online (Sandbox Code Playgroud)

然后配置自定义条件

and(failed(), ne(variables['SkipSome'], 'True'))
Run Code Online (Sandbox Code Playgroud)

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

Leo*_*SFT 7

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

要处理自定义条件的 Null,我们应该使用''代替Nullor'Null'

您可以检查字符串以获取一些详细信息。

所以,你可以像下面这样配置它:

and(failed(), ne(variables['Some'], ''))
Run Code Online (Sandbox Code Playgroud)

为了更直观地测试它,我将其更改neeq

and(failed(), eq(variables['Some'], ''))
Run Code Online (Sandbox Code Playgroud)

然后我在变量选项卡上设置变量为空,并添加一个具有上述条件的内联 powershell 任务:

在此处输入图片说明

在此处输入图片说明

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

在此处输入图片说明

希望这可以帮助。