如何在该管道中考虑触发 Azure Devops 管道的事件?

How do I take the event that triggered an Azure Devops pipeline into account in that pipeline?

我有一个使用模板的多阶段 YAML 管道。我想根据推到哪个 git 分支做不同的事情。如果是master,我想做一件事,如果是dev,我想做点别的。我在想

- task: ArchiveFiles@2
   condition:  eq(trigger, "master") 
   inputs:
         rootFolderOrFile: 'C:\DevOps$(Build.BuildNumber)\Content\D_C\a\s\api\obj${{ parameters.configuration }}\Package\PackageTmp' 
         includeRootFolder: false 
         archiveType: 'zip' 
         archiveFile: 'C:\DevOps\artifacts\api-${{ parameters.configuration }}.zip' 
         replaceExistingArchive: true 
         verbose: true
                      
- task: CopyFiles@2
   condition:  eq(trigger, "dev") 
   inputs:  
         SourceFolder: 'C:\DevOps$(Build.BuildNumber)\Content\D_C\a\s\api\obj${{ parameters.configuration }}\Package\PackageTmp'
         Contents: '**\*.*'
         OverWrite: true
         TargetFolder: 'C:\QA\Web Sites\API${{ parameters.configuration }}'

显然这是行不通的,因为没有定义“触发器”。但是,如果我想根据推送到的 git 分支采取行动,我该怎么做?

我自己想出来了。我在哪里

condition:  eq(trigger, "master") 

我只需要做到

condition eq(variables['Build.SourceBranch'], 'master')

旁注: 在这样的比较中,事实证明双引号不起作用;我确定这是有原因的,尽管我从未在文档中看到过这一点。