问题标签 [git-webhooks]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1519 浏览

git - 为多个 Git (GitHub) 存储库重用一个 Jenkins 作业

我有一个非常简单的 Jenkins 构建,它是多个存储库所需要的。所有这些存储库都具有相同的组织、相同的分支等。除了存储库名称之外没有区别。

每个单个存储库都应该能够触发仅针对此特定存储库的构建。我想像将参数化构建与包含存储库名称的查询参数的 WebHook URL 结合起来。

对此有任何想法或指示吗?

0 投票
3 回答
2366 浏览

gitlab - 当由 gitlab webhook 调用时,jenkins 管道中的 git 分支名称是什么

我可以使用 webhook 从 gitlab 合并请求中调用一个简单的 Jenkins 管道。现在我想知道进行结帐的源分支是什么。示例:如果我将代码推送到开发分支,则在我的管道脚本中我会签出开发分支。谢谢。

0 投票
1 回答
808 浏览

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

我有一个带有 WebHook 的 GitLab 项目,它触发了 Jenkins 作业。截至目前,我已启用推送事件来触发 Jenkins 作业。因此,每当我将代码从本地计算机推送到远程存储库时,Jenkins 作业都会自动触发,并且该作业通过从 GitLab 的主分支中检出代码成功地构建了我的代码库。

是否有一个选项可以让 Webhook 触发 Jenkins 仅在其提交消息包含指定字符串(如“build jenkins”)的此类推送事件上构建?

我假设上面的答案是否定的,因为 Webhook 已经配置并且无法停止。但是,我阅读了一些关于在远程存储库上创建自定义钩子的信息,这可以帮助我。如果这是真的,我该怎么做,我需要在哪里编写自定义钩子以及如何使用它?

谢谢

0 投票
2 回答
1607 浏览

gitlab - 使用 Gitlab CI 创建 Git 日志

当用户将代码提交到 git 存储库时,我们需要自动生成提交历史文件。

可以使用 Jenkins、Gitlab Webhooks 和 Jenkins Git Changelog 插件来完成。此外,它可以使用下面的 git 命令创建。

但是,无论如何我们可以使用 Gitlab CI/CD 操作生成提交历史文件。该文件可以保存在 git 存储库或本地存储中。

样本提交历史文件

0 投票
1 回答
1179 浏览

gitlab - 在 Gitlab CI 中读取 webhook 有效负载

我有一个PROJECT_A通过 webhook 触发的项目 (),并希望设置变量$PRODUCT。它的值用于触发构建中的某个路径。文件中的作业.gitlab-ci.yml如下所示:

webhook 调用如下所示:

我通过来自其他项目(包括PROJECT_B. 所以我在相应的 webhook 中手动填写了所需的值,例如PROJECT_B

当管道输入PROJECT_A被触发时,如预期$PRODUCT的那样具有值。PROJECT_B

我想进一步参数化管道,并考虑到提交消息等。我需要的所有信息显然都在webhook payload中提供。

是否有内置方法可以在管道中读取此有效负载?或者,将有效负载的内容放入 webhook 中的变量中,如下所示:

我发现了关于使用 webhook 有效负载进行参数化 Jenkins 构建的讨论,包括这个相关问题。Gitlab 论坛里也有类似的问题,没有任何答案。

有没有办法在 Gitlab CI 管道中访问该有效负载?我可能可以通过jq调用提取提供的值,但是我如何首先获得 Json?

0 投票
2 回答
2692 浏览

jenkins - 使用 github webhooks 构建参数化 jenkins

我使用带有“此项目已参数化”选项形式 jenkins 作业配置的选择参数配置了我的 jenkins 作业(自由式)和 dev/test/prod 环境。

我在我的 github soouce 中将 webhook 设置为https://myjenkins/github-webhook/。当我对 github repo 进行更改时,它总是使用“dev”环境选项触发 jenkins 中的构建。如何根据我的要求选择其他环境?

我用谷歌搜索但没有找到正确的答案。有人能帮我吗?

0 投票
1 回答
88 浏览

git - 通过脚本添加 git webhook

是否可以通过脚本添加 webhook?通常,我会访问 hubricator 网站并提供 org/repo 详细信息,它会为我创建一个 phabricator 实例的 webhook,这样当有人签入时,就会生成一个 phabricator 评论。我可以使用脚本创建类似的 webhook 吗?

0 投票
0 回答
292 浏览

bitbucket - BitBucket 中 Webhook 的“用户过滤器”和“分支过滤器”等效项

我们正在尝试从 'BitBucket' 迁移HooksWebhooks,但找不到指定Branch FilterUser Filter的方法。

使用Hooks时,我们只需要如下图所示指定正则表达式值,以通知作业触发“开发”分支并忽略用户“默认用户”的提交。有没有办法达到相同的结果Webhooks

在此处输入图像描述

0 投票
2 回答
2447 浏览

jenkins - 如何让通用 Webhook 触发器插件与 Jenkins 中的多分支管道一起使用?

我正在尝试设置一个场景,在 github 上创建一个触发 Jenkins 多分支管道的拉取请求,并且该多分支管道使用通用 Webhook 插件从从 github 发送到 jenkins 的 POST 请求中提取值以用于剧本。

不幸的是,正如Generic Webhook Trigger Plugin wiki 中所述:

注意:从管道配置时,该管道需要运行一次,以应用插件触发配置,之后该插件将能够触发作业。这就是 Jenkins 的工作方式,而不是在这个插件中实现的东西。您可以通过使用 Job DSL 并让 Job DSL 使用在该 DSL 中配置的插件创建管道作业来避免这种情况。

使用普通管道就可以了,因为它只是创建 Jenkins 作业的一个过程。然而问题是,每当创建新的分支/PR 时,多分支管道都会创建一个新作业,这意味着对于我在 github 上创建的每个拉取请求(这会触发我的多分支管道脚本),我必须运行它两次使通用 webhook 功能正常工作。对于长期项目而言,必须为每个 PR 重新提交将是乏味的。

在我看来,有两种可能的方法来解决/改进这个问题。一种是尝试使用 DSL Jobs(如 wiki 建议的那样);但是我尝试了这个并且无法让它工作(它增加了设置的大量复杂性,所以我现在已经放弃了它)。

第二种可能的解决方案如下:当在 github 中创建 PR 时,Generic Webhook 会导致在该 PR 对应的 multibranch pipeline 中创建新作业;多分支管道第一次运行这个新创建的作业的第一次构建将失败,原因在上面的引用中给出;但随后的解决方案可能涉及测试第一份工作失败并以某种方式告诉詹金斯再次尝试重建该工作。

所以我的问题与第二种方法有关:在 github 上创建 PR 后,我如何才能最巧妙地为这个多分支管道运行重建?

任何建议/建议将不胜感激!

0 投票
1 回答
146 浏览

git - JGit 是否支持 Webhooks?

我正在试验 GitHub 的 Webhooks。据我了解,我们可以在 Github 设置中注册 Webhook 的 URL。但我想以编程方式做到这一点。我正在使用 JGit 进行 API 驱动的 Git 管理。我在 JGit 中看不到对 Webhooks 的任何明显支持。

JGit 是否支持 Webhook 注册、注销、编辑等 API?