[英]Azure DevOps Pipelines Expressions
目標是根據管道中使用的任務來調整任務自定義擴展。 為此,我們想使用管道裝飾器
例如,如果任何用戶在他們的管道中使用 Powershell 任務,我們希望使用裝飾器執行我們的任務。
但我們可以弄清楚如何讓它發揮作用。
Yaml:
steps:
- ${{ if and(eq(resources.repositories['self'].ref, r esources.repositories['self'].defaultBranch), not(containsValue(job.steps.*.task.id, 'd9bafed4-0b18-4f58-968d-86655b4d2ce9'))) }}:
- script: dir
displayName: 'Run my script (injected from decorator)'
直接來自微軟教程
在 Azure DevOps Pipelines 內部,可視化編輯器會出現此錯誤:
Unexpected property ${{ if containsValue(job.steps.*.task.id, '1c524b9b-9f4d-4897-8f1e-6ec33271d75c') }}
第一個屬性必須是任務
在運行時:
我們還嘗試了condition()
:
condition: |
and
(
eq(dependencies.A.result, 'Succeeded'),
containsValue(dependencies.A.steps.*.task.id, '1c524b9b-9f4d-4897-8f1e-6ec33271d75c')
)
但是我們找不到正確的語法,object 的內容是 null:
任何人都知道如何檢索任務 ID 並使用它來調節任何進一步的任務?
您應該將表達式放在裝飾器 YAML 文件中,而不是管道 azure-pipelines.yml 文件中。 要開始使用管道裝飾器,您需要執行以下步驟:
您可以從以下博客獲得更多詳細信息:
https://soltisweb.com/blog/detail/2019-11-07-simplifying-azure-devops-pipelines-with
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.