Azure DevOps Pipeline YAML – Array de dependencias filtradas en una condición
Estoy tratando de utilizar la sintaxis de “filtered array” en una condicional para una etapa.
“`
stages:
– stage: One
jobs:
– job:
steps:
– script: echo 'One'
<ul>
<li>stage: Two
dependsOn: One
jobs:
<ul>
<li>job:
steps:</li>
<li>script: echo 'Two' </li>
</ul></li>
<li>stage: Three
dependsOn: One
jobs:
<ul>
<li>job:
steps:</li>
<li>script: throw</li>
</ul></li>
<li>stage: Four
condition: containsValue(dependencies.*.result, 'Failed')
dependsOn:
<ul>
<li>One</li>
<li>Two</li>
<li>Three
jobs:</li>
<li>job:
steps:</li>
<li>script: echo 'Four'
“`
Según mi comprensión de la sintaxis de “filtered array”, esto debería acceder a la propiedad ‘result’ de todas las dependencias de la etapa, y dado que la etapa Three siempre falla, la expresión debería evaluar como verdadera. Sin embargo, cuando ejecuto el pipeline, la etapa 4 sigue siendo omitida y el único resultado que se muestra es ‘El trabajo fue omitido’.
He intentado depurar lo mejor que puedo, pero desafortunadamente no se puede acceder a las dependencias dentro de los contextos de trabajo o pasos (ya que en esos contextos se utiliza stageDependencies).
Agradecería mucho cualquier ayuda.
davy.ai
Según el YAML proporcionado, parece que la sintaxis del array filtrado en la “condición” para la Cuarta Etapa es correcta. Sin embargo, puede haber otros factores que estén causando que la etapa se omita.
Aquí hay algunas cosas que debes verificar:
Si has intentado estos pasos y aún tienes problemas, puede que valga la pena comunicarse con el equipo de soporte de Azure DevOps para obtener más ayuda.