Чтение полезных данных webhook в Gitlab CI - PullRequest
0 голосов
/ 29 января 2019

У меня есть проект (PROJECT_A), который запускается через веб-крючок и ожидает, что будет установлена ​​переменная $PRODUCT.Его значение используется для запуска определенного пути в сборке.Задание в файле .gitlab-ci.yml выглядит следующим образом:

deploy:
  stage: publish
  script:
    - ./generate_doc.sh $PRODUCT

Вызов webhook выглядит следующим образом:

http://<GITLAB_URL>/api/v4/projects/710/ref/master/trigger/pipeline?token=<TOKEN>&variables[PRODUCT]=<PRODUCT>

Я вызываю этот триггер через webhook из других проектов, включая PROJECT_B.Поэтому я вручную заполнил нужное значение в соответствующих веб-заданиях, например, для PROJECT_B:

http://<GITLAB_URL>/api/v4/projects/710/ref/master/trigger/pipeline?token=<TOKEN>&variables[PRODUCT]=PROJECT_B

Когда запущен конвейер в PROJECT_A, $PRODUCT имеет значение PROJECT_B, как и ожидалось.

Я бы хотел еще больше параметризовать конвейер и учесть, в частности, сообщение о коммите.Вся необходимая информация, по-видимому, представлена ​​в полезной нагрузке webhook .

Есть ли встроенный способ чтения этой полезной нагрузки в конвейере ?Или, альтернативно, поместите содержимое полезной нагрузки в переменную в webhook следующим образом:

http://<GITLAB_URL>/api/v4/projects/710/ref/master/trigger/pipeline?token=<TOKEN>&variables[COMMIT_REF]=???

Я обнаружил обсуждений о выполнении параметризованных сборок Jenkins с использованием webhookполезная нагрузка, включая этот связанный вопрос .Существует также аналогичный вопрос на форуме Gitlab , без какого-либо ответа.

Есть ли способ сделать доступ к этой полезной нагрузке в конвейере Gitlab CI?Возможно, я мог бы извлечь предоставленные значения с помощью вызова jq, но как я могу получить Json в первую очередь?

...