读取Gitlab CI中的webhook负载
我有一个通过webhook触发的项目(读取Gitlab CI中的webhook负载,gitlab,webhooks,gitlab-ci,git-webhooks,Gitlab,Webhooks,Gitlab Ci,Git Webhooks,我有一个通过webhook触发的项目(project\u a),希望设置变量$PRODUCT)。其值用于触发生成中的特定路径。.gitlab ci.yml文件中的作业如下所示: deploy: stage: publish script: - ./generate_doc.sh $PRODUCT http://<GITLAB_URL>/api/v4/projects/710/ref/master/trigger/pipeline?token=<TOKEN>
project\u a
),希望设置变量$PRODUCT
)。其值用于触发生成中的特定路径。.gitlab ci.yml
文件中的作业如下所示:
deploy:
stage: publish
script:
- ./generate_doc.sh $PRODUCT
http://<GITLAB_URL>/api/v4/projects/710/ref/master/trigger/pipeline?token=<TOKEN>&variables[PRODUCT]=<PRODUCT>
http://<GITLAB_URL>/api/v4/projects/710/ref/master/trigger/pipeline?token=<TOKEN>&variables[COMMIT_REF]=???
webhook调用如下所示:
deploy:
stage: publish
script:
- ./generate_doc.sh $PRODUCT
http://<GITLAB_URL>/api/v4/projects/710/ref/master/trigger/pipeline?token=<TOKEN>&variables[PRODUCT]=<PRODUCT>
http://<GITLAB_URL>/api/v4/projects/710/ref/master/trigger/pipeline?token=<TOKEN>&variables[COMMIT_REF]=???
当触发PROJECT_A
中的管道时,$PRODUCT
具有预期的值PROJECT_B
我想进一步参数化管道,并考虑提交消息。我所需要的所有信息显然都在报告中提供了
是否有一种内置的方法可以在一个数据库中读取此有效负载?或者,将有效负载的内容放入webhook中的变量中,如下所示:
deploy:
stage: publish
script:
- ./generate_doc.sh $PRODUCT
http://<GITLAB_URL>/api/v4/projects/710/ref/master/trigger/pipeline?token=<TOKEN>&variables[PRODUCT]=<PRODUCT>
http://<GITLAB_URL>/api/v4/projects/710/ref/master/trigger/pipeline?token=<TOKEN>&variables[COMMIT_REF]=???
http:///api/v4/projects/710/ref/master/trigger/pipeline?token=&variables[COMMIT_REF]=???
我已经发现如何使用webhook负载,包括。还有一个问题,没有任何答案
有没有办法在Gitlab CI管道中访问该负载?我可能可以通过
jq
调用提取所提供的值,但是首先我如何获得Json呢?成功地解决了这个问题吗?不,我无法进一步参数化。这些变量现在在Webhook调用中是固定的,例如http://.../ref/master/trigger/pipeline?token=&variables[产品]=项目A
。触发的项目有一个处理变量值的脚本。