如何从 Gitlab webhook 事件负载中获取项目名称

Posted

技术标签:

【中文标题】如何从 Gitlab webhook 事件负载中获取项目名称【英文标题】:How to get project name from Gitlab webhook event payload 【发布时间】:2018-05-19 22:18:11 【问题描述】:

我在 Jenkins 端使用事件负载来运行声纳扫描,为此,我需要项目名称变量。在 Gitlab 请求中,我可以看到项目详细信息已发送到 Jenkins,但在 Jenkins 中,当我回显环境时,我只能看到以下属性。

gitlabActionType gitlab 分支 gitlabMergedByUser gitlabMergeRequestId gitlabMergeRequestIid gitlabMergeRequestLastCommit gitlabMergeRequestState gitlabMergeRequestTargetProjectId gitlabMergeRequestTitle gitlabSourceBranch gitlabSourceNamespace gitlabSourceRepo 主页 gitlabSourceRepoHttpUrl gitlabSourceRepoName gitlabSourceRepoSshUrl gitlabSourceRepoURL gitlabTargetBranch gitlabTargetNamespace gitlabTargetRepoHttpUrl gitlabTargetRepoName gitlabTargetRepoSshUrl gitlabUserEmail gitlab用户名

如何获取项目名称?

【问题讨论】:

【参考方案1】:

您不会通过 (GitLab) webhook 发送的 JSON 有效负载来获取它,因为 GitLab(本机)对声纳一无所知。

您需要从项目本身的文件中推断出 Sonar 项目名称。

通常(例如)Maven 项目会使用 pom.xml 项目名称作为其 Sonar 项目名称:请参阅“Is it possible to tell Sonar the project name from the command line?”。

【讨论】:

以上是关于如何从 Gitlab webhook 事件负载中获取项目名称的主要内容,如果未能解决你的问题,请参考以下文章

如何创建一个 Gitlab webhook 来更新 Github 上的镜像仓库?

可以阻止 GitLab Webhook 在 Jenkins 中触发构建吗

利用GitLab webhook来实现触发Jenkins自动操作

Jenkins+Gitlab配置Webhook实现提交自动部署

github webhook 是如何工作的?

我如何将从gitlab传入的Webhook设置为Messenger(不是松弛的,不是著名的?)?