Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure devops 为什么我的azure devops变量没有计算为bool? 问题:_Azure Devops - Fatal编程技术网

Azure devops 为什么我的azure devops变量没有计算为bool? 问题:

Azure devops 为什么我的azure devops变量没有计算为bool? 问题:,azure-devops,Azure Devops,我是否可以将我的类型强制转换为bool,以便在声明变量时不使用eq() 我的变量 这很有效 这不起作用(但我希望它能像这样起作用) 我可以将我的类型强制转换为bool,这样在声明时它就可以在没有eq()的情况下工作了吗 变量还是我一直坚持使用有效的版本 我想你不需要把这个给布尔。我尝试了你们所有的脚本,它们在我这方面都很有效。如果eq(变量['BUILD\u PUBLISH\u ARTIFACTS','True')可以工作,那么在您的条件下变量['BUILD\u PUBLISH\u ARTIF

我是否可以将我的类型强制转换为bool,以便在声明变量时不使用
eq()

我的变量 这很有效 这不起作用(但我希望它能像这样起作用)

我可以将我的类型强制转换为bool,这样在声明时它就可以在没有eq()的情况下工作了吗 变量还是我一直坚持使用有效的版本

我想你不需要把这个给布尔。我尝试了你们所有的脚本,它们在我这方面都很有效。如果
eq(变量['BUILD\u PUBLISH\u ARTIFACTS','True')
可以工作,那么在您的条件下
变量['BUILD\u PUBLISH\u ARTIFACTS']
也应该工作

除了上述组合,我还尝试了
条件:和(变量['BUILD\u xxx'],eq(变量['BUILD\u xxx'],'True'))
,它也起作用。因此,您不需要将其转换为bool,
和()
可以很好地识别它们

在我看来,在对管道做了几次更改之后,可能会出现问题。您是否在同一场景中测试了这两个脚本?同一管道,同一分支

单击此按钮,您将找到问题的直接原因:


希望能有所帮助。

这是一件奇怪的事情-我还添加了一个构建步骤来打印我的变量,该步骤返回True/False,这促使我在使用
和(succeed(),variables[])时尝试
eq(variables[],'')
这两个步骤都运行,而不是我想要的步骤,即使使用扩展变量进行juding,也只应执行一个步骤。当变量是编译/运行时表达式时,可能会有差异吗?我不确定这个奇怪的问题是否与编译/运行时表达式有关,因为我无法在我的计算机中重现它。这两种格式总是给我相同的结果,都运行或都跳过(不运行)。你有没有点击按钮来获取更多的信息,比如我在答案的末尾所显示的信息?它能给你一些提示吗?我没有看到你在截图中显示的工具提示。您使用的是纯yaml构建管道吗?如果您查看我添加到问题中的这个屏幕截图,您将看到另一件值得注意的事情-变量扩展为
'True'
,而不是
True
是的,我还使用yaml管道进行测试。在我的测试中,当条件=>和(True,'True')时,它似乎起作用了。啊哈!这可能就是原因。你用的是
,我用的是
eq
。我很快就会检查我的管道。
variables:
  - name: BUILD_PUBLISH_ARTIFACTS
    value: ${{or(startsWith(variables['Build.SourceBranch'], 'refs/heads/releases/'), eq(variables['Build.SourceBranch'], 'refs/heads/master'))}}
  - name: BUILD_IS_RELEASE
    value: ${{startsWith(variables['Build.SourceBranch'], 'refs/heads/releases/')}}
  - name: BUILD_IS_ALPHA
    value: ${{eq(variables['Build.SourceBranch'], 'refs/heads/master')}}
  - task: PowerShell@2
    condition: and(succeeded(), eq(variables['BUILD_PUBLISH_ARTIFACTS'], 'True'))
  - task: PowerShell@2
    condition: and(succeeded(), variables['BUILD_PUBLISH_ARTIFACTS'])