【问题标题】:How to trigger a bash script only after a merge request is merged?如何仅在合并请求合并后触发 bash 脚本?
【发布时间】:2018-11-02 02:17:03
【问题描述】:

我已经像这样写了一个简单的gitlab-ci.yml

job1:
  script: 
  - echo hello

目前,只要将提交推送到任何分支,就会触发脚本。

如何配置 gitlab-ci 以使此脚本仅在合并请求合并到 master 分支后触发?

我在only 关键字中找不到如何实现我的目标。

Settings -> Integrations页面中有一个Merge request events选项,看起来提供的功能和我想要的很接近。

【问题讨论】:

标签: git gitlab gitlab-ci


【解决方案1】:

基于问题here,我在合并请求合并后使用gitlab-webhook-translator触发脚本。

这里的重点是将条件设置为":object_kind == 'merge_request' && :object_attributes.work_in_progress === false && :object_attributes.state == 'merged'"

我要提到的另一件事是,我们必须在 gitlab 中选中 Allow requests to the local network from hooks and services 框,以便我们可以使用 gitlab wbehooks。

我使用a simple web server 来检查从 gitlab 发送的请求。这就是我发现 gitlab-webhook-translator 条件的:object_attributes.state == 'merged' 选项的方式。

【讨论】:

    猜你喜欢
    • 2021-12-19
    • 1970-01-01
    • 2015-01-08
    • 2020-05-19
    • 2013-05-15
    • 1970-01-01
    • 1970-01-01
    • 2019-09-16
    • 1970-01-01
    相关资源
    最近更新 更多