如何从 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自动操作