Я пытаюсь извлечь веб-перехватчик, который запустил конвейер, поскольку Azure отправила эту информацию в параметре времени выполнения в формате JSON. Я хочу восстановить имя.
Я попытался преобразовать параметр следующим образом:
echo ${{ convertToJson(parameters) }} | sed -E 's/^([^:]+) :.*/\1/ ```
to resume I have 2 webhooks in my pipeline and I want to retrieve the webhook that triggered the pipeline to choose which job will execute
I tried this simple test **yet it keep skipping without any output:
resources:
webhooks:
- webhook: webhook1
connection: ServiceConnection1
- webhook: webhook2
connection: ServiceConnection2
trigger:
branches:
include:
- main
stages:
- stage: Stage1
condition: eq(variables['resources.webhooks[2].webhook'], 'webhook1')
jobs:
- job: Job1
steps:
- script: echo "This stage is triggered by webhook1"
- stage: Stage2
condition: eq(variables['resources.webhooks[2].webhook'], 'webhook2')
jobs:
- job: Job1
steps:
- script: echo "This stage is triggered by webhook2" ```
Как извлечь имя параметра среды выполнения из Azure Devops? Я хочу извлечь имя веб-перехватчика, который запустил конвейер?
Чтобы удовлетворить ваши требования, вы можете использовать переменную Pipeline: Resources.TriggeringAlias. Он покажет имя веб-перехватчика, запускающего конвейер.
Вот пример:
resources:
webhooks:
- webhook: webhook1
connection: ServiceConnection1
- webhook: webhook2
connection: ServiceConnection2
stages:
- stage: Stage1
condition: eq(variables['RESOURCES.TRIGGERINGALIAS'], 'webhook1')
jobs:
- job: Job1
steps:
- script: echo "This stage is triggered by webhook1"
- stage: Stage2
condition: eq(variables['RESOURCES.TRIGGERINGALIAS'], 'webhook2')
jobs:
- job: Job1
steps:
- script: echo "This stage is triggered by webhook2"
Когда конвейер запускается одним из веб-перехватчиков, он запускает целевой этап.
Результат: