【问题标题】:How do I get the merge request information in the pre-receive hook?如何在 pre-receive 挂钩中获取合并请求信息?
【发布时间】:2021-06-20 09:47:37
【问题描述】:

我需要在服务器端捕获 GitLab 中的推送和合并,如果它们没有两个标签之一,则拒绝它们。

为此,我打算使用 API 检查合并请求的详细信息。

预接收挂钩具有文件更改的 SHA1 和分支名称,但我如何获取项目和合并请求编号,以便使用 API 检查标签?

【问题讨论】:

  • @LeGEC,每个目录都是一个数字(我假设是 MR 编号?)所以我是否必须搜索每个目录,将 SHA1 编号与文件内容进行比较,还是有更有效的方法?跨度>
  • 我认为我以前的 cmets 不适合您的需要,您可以从 gitlab 的 API 中的 pre-receive 挂钩中获取您需要的信息

标签: git gitlab pre-commit-hook


【解决方案1】:

如果您有分支名称,您可以使用 Gitlab API 检查合并请求是否链接到该分支:

GET /merge_requests?source_branch={branch_name}

在此处合并请求 API 文档:https://docs.gitlab.com/ee/api/merge_requests.html#list-merge-requests

然后您可以解析响应以获取您需要的其他信息(MR ID、当前 SHA ...)

【讨论】:

    猜你喜欢
    • 2021-09-16
    • 2022-01-02
    • 1970-01-01
    • 2017-12-30
    • 1970-01-01
    • 2016-10-27
    • 1970-01-01
    • 2016-10-09
    • 1970-01-01
    相关资源
    最近更新 更多