问题标签 [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 投票
0 回答
101 浏览

linux - 如何触发 Git-webhook 以通过 Jenkinsfile 将任何受保护的 github 分支合并到测试分支?

我已经使用 jenkinsfile 构建了一个 jenkins 管道,它基本上在我的测试分支上运行 pylint 和单元测试(比如说“devops”分支)。现在我想合并这个测试分支,devops到我的分支,这是一个受保护的分支,即我不能在本地合并这两个分支,然后直接推送到这个主分支。

我阅读了有关 git-webhooks 的信息,我正在考虑从我的 jenkinfile(通过可用插件,如果有的话)触发一个 webhook,这可能会在 github 中创建合并请求,然后我可以查看更改并允许通过手动单击进行合并.

我不知道执行此操作的确切程序和资源。任何铅都将不胜感激。

0 投票
1 回答
328 浏览

jenkins - Freestyle Jenkins 作业和 Gitlab 集成 | 使用多个 webhook,管道将永远处于挂起状态

我已经为 3 个 jenkins 作业设置了 Gitlab Jenkins 与 3 个 webhook 的集成,并在构建后操作中设置了“将构建状态发布到 Gitlab”。面临的问题如下所述。

设置:

Jenkins 版本 V2.152,Gitlab 版本 11.7.0-ee,3 个 Webhooks 用于 3 个 jenkins 作业

詹金斯自由泳项目

Jenkins Git:分支说明符是 origin/${gitlabSourceBranch}

Jenkins 触发器:选择“将更改推送到 GitLab 时构建”,其中包含推送事件、打开的合并请求事件、在推送到源分支和评论时重建打开的合并请求

问题:

管道永远处于挂起状态:如果没有 jenkins 作业正在运行并且更新了一个分支,则创建一个提交的管道来跟踪所有 3 个 jenkins 作业。但是,如果任何 jenkins 作业正在运行并且分支已更新,则会为相同的提交 ID 创建三个单独的管道,一个用于一个 jenkins 作业。在这种情况下,一旦任何树 jenkins 项目开始运行,只有最新的管道将其状态更改为正在运行,现在开始跟踪所有 3 个 jenkins 作业,而其他 2 个管道永远处于挂起状态,它们永远不会运行也不会被取消. 我还选择了自动取消冗余、待处理的管道功能,但它正在工作。

预期的:

在 Gitlab 中,它应该始终为每个作业创建一个单独的管道并跟踪它们,或者应该为每个提交创建一个管道并跟踪所有作业。

如何避免挂起的管道永远不会改变其状态?或者如何使自动取消冗余、待处理的管道功能运行?

0 投票
1 回答
199 浏览

jenkins - 使用 github webhooks 为特定分支触发 jenkins 管道时出现问题

尝试使用 Github webhooks 为特定分支触发 Jenkins 管道。管道应触发合并提交,但在触发时存在问题。使用“通用 Webhook Trigger”插件进行了尝试。

如果我在可选过滤器中使用 ^(refs/heads/release-1.0)$ 并且只要将某些内容合并到 release-1.0 分支中并且管道构建成功,就会触发管道

但是当我在可选过滤器中使用 ^(refs/heads/release- )$ 时,管道没有触发。这就是我使用发布的原因-发布分支有标签号。例如:release-1.0、release-1.1、release-1.2等。

谁能帮我解决这个问题。

0 投票
2 回答
3665 浏览

docker - 如何在设置 jenkins 触发器时在 github webhook 中修复“我们无法提供此有效负载:无法连接到服务器”?

我在 GitHub 中设置了一个 Web-hook 来为每个推送事件触发一个 Jenkins 构建。我正在从 Blue Ocean Docker 容器运行 Jenkins。

https://imgur.com/bNf5dMd

我可以从 docker容器中指定的http://192.168.99.101:32771/访问 jenkins。我已经指定了 git 存储库并选中了“GitHub hook trigger for GITScm polling”复选框。

我可以在提交后手动启动构建过程,但是当我在 github 中使用有效负载 url http://192.168.99.101:32771/github-webhook/设置 webhook并提交某些内容时,我收到错误“我们无法传递此有效负载:无法连接到服务器”

我看过的其他解决方案。

  1. 使用 ngrok。但我没有在本地主机上运行它。
  2. 我尝试使用个人访问令牌并创建了一个从 Jenkins 到 Github 的自动 webhook。我得到了同样的错误。

我错过了什么,或者我做错了什么?

0 投票
1 回答
2978 浏览

jenkins - 如何在推送某个分支时设置 github webhook 触发器

我有 Jenkins 管道,并配置了 github webhook 来触发管道。

如何在推送某个分支时触发管道,而不是通过推送到每个分支来触发管道?

0 投票
2 回答
2882 浏览

amazon-web-services - 使用 AWS API Gateway 的 Github Webhooks 秘密

我正在尝试让 Github Webhook 启动我拥有的 AWS Lambda。我能弄清楚如何做到这一点的最好方法是使用 AWS API Gateway,问题是安全性。

Github Webhooks 只会通过 POST 调用发送一个秘密。

我找不到任何方法让 AWS API Gateway 验证此签名。或者我可以在哪里添加此功能。

我假设我可以编写一个AWS Lambda Authorizer。但这是在不同地方的大量代码,开始看到对serverless框架的需求。

我不知道在 AWS 中有什么更简单的设置吗?

0 投票
1 回答
48 浏览

git - Service Hook 可用于触发另一个存储库中的更新依赖项?

我一直在为我们与 Git 一起使用的本地 Microsoft Team Foundation Server 研究以下问题的解决方案:

我们有几个具有某种程度依赖性的存储库。例如,我们有一个“消息”存储库,它将作为多个存储库之间的接口,每个存储库是我们软件上的不同单元,将在不同的容器中运行,消息是这些单元之间通信的接口。

当我们更改“消息”单元时,我们希望有一个触发器来通知所有依赖项目(自动),例如更新项目文件中“消息”Nuget 包的版本并提交更改。当任何人获得依赖于“消息”单元的每个单元的最新版本时,在恢复他的项目本地版本时,也将获得最新版本的消息。

有什么方法可以使用当前的工具来做到这一点?我们该怎么做?我只能找到向 Slack 发送消息的示例,而这是我不需要的。

最好的祝愿保罗阿博伊姆平托

0 投票
1 回答
3383 浏览

github - AWS CodePipeline github webhook 未在提交时触发

我设置了一个 AWS CodePipeline,它使用 github 作为源,CodeBuild 用于构建,并部署到 ElasticBeanstalk。

当一切都在控制台中设置好并且我是 github 帐户的管理员时,我能够让它工作(我使用不同的帐户进行测试)

我需要部署的实际代码属于我不是管理员的帐户,因此按照本指南,我收到了个人访问令牌并使用 CLI 更新了 CodePipeline。

一旦我使用 cli 更新了项目,它就不会在提交代码时被触发。

我不确定发生了什么变化,因为即使我使用控制台并将 webhook 直接设置为我正在测试的 github 帐户的管理员,它仍然无法正常工作。

这是我更新管道的 json:

0 投票
1 回答
558 浏览

git - 在推送到 Codecommit 时需要特定的提交消息 AWS Lambda

我正在尝试强制执行以“BPSD-XXXXX”开头的提交,并且无法弄清楚如何在推送后强制执行此 lambda 函数,但在代码实际推送到 AWS Codecommit 之前。

下面的 lambda 函数强制执行提交字符串,但直到实际推送代码之后。推送代码时,我为 Codecommit 设置了触发器。

我意识到触发器是问题所在,但是是否有一个触发器可以在完全推送实际发生之前以某种方式检查提交消息?还是在推动发生时?

如果提交消息不包含“BPSD-XXXXX”,我希望不推送代码

0 投票
1 回答
1069 浏览

gitlab - 挂钩执行失败:无法打开与 ::1:8000 的 TCP 连接(连接被拒绝 - “::1” 端口 8000 的连接(2))

我需要手动集成关键跟踪器,因为我需要一些额外的选项,但我收到“无法打开 TCP 连接”错误。我在 localhost 工作,而 gitlab 在 Intranet 中。我已经尝试过文档中的 ruby​​ 示例和 python 中的类似脚本,但都给了我同样的错误。将不胜感激任何帮助来解决它。谢谢