问题标签 [github-webhook]

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 投票
1 回答
133 浏览

python - 我正在开发一个从 python 中的 github webhook 获取有效负载的 web 服务器

我正在用 python 开发一个 Web 服务器,它从 github webhook 获取特定事件的有效负载(推送、新提交、拉请求...)我如何区分这些事件抛出 gson?我查看了有效负载,但什么都不喜欢..:/ 但另一方面 - 我有一个为推送事件创建处理程序的代码:

@webhook.hook() # 定义 'push' 事件的处理程序 def on_push(data): print("Got push with: {0}".format(data))

那么 webhook 库中是否有内置的“事件检测器”?网上一无所获

编辑:发现这个:“活动的类型是在有效载荷对象的动作属性中指定的。”但是我得到的有效载荷中没有关键字动作,我在 github 中触发的事件类型是提交,但我得到的只是有效载荷说:'修改':['README.md']'消息':'更新README.md没什么直接的

0 投票
1 回答
37 浏览

github - 基于名为“Release-XXXX”的新分支创建启动 Github webbook

有谁知道您是否可以根据创建名为的新分支的 github 操作触发 webhook

Release-xxxx 在哪里 XXXX 可以是任何东西?我只想在那个新的分支名称上启动这个 webhook。

0 投票
1 回答
251 浏览

jenkins - Jenkins管道在合并到主时触发

master当 PR 合并到分支时,我想设置 Jenkins 管道触发器。我在 GitHub 存储库中设置了指向 Jenkins url 的 Webhookhttp://jenkins.example.com:8080/github-webhook/并选择了以下事件

  1. 拉取请求审查意见
  2. 拉取请求审查
  3. 拉取请求

在我的 Jenkinsfile 我用这个

但它失败了这个错误

如果我想在 PR 合并到 master 时触发构建,我应该使用triggers什么?

0 投票
0 回答
271 浏览

jenkins - 找不到通用 Webhook 触发器 Jenkins 插件的临时令牌

我们使用 Generic Webhook Trigger 将许多 jenkins 作业设置为 webhook 端点。

它大部分工作正常。使用令牌,它能够找到要为每个 webhook 事件运行的特定 Jenkins 作业。

但是有时我们会遇到以下错误消息的 404 错误:

想知道这种行为是否有任何原因?是因为通用 Webhook 触发器的标记是如何映射的,也许它会由于某些事件而偶尔重置?由于这个问题,我们遇到了可扩展性瓶颈,并且希望得到一些见解。提前谢谢!

在此处输入图像描述

0 投票
0 回答
379 浏览

nginx - 使用 Github Webhooks 和 secret 配置 Nginx

我一直在寻找一种方法来配置我的 Nginx 以监听来自 Github 的 webhook 的 POST 请求。

我在 Github 中配置了一个新的 Webhook,如下所示:

有效载荷 URL: https://myUrl/payload秘密: thisisthesecret

我的目标是告诉 Nginx:一旦你收到 POST 请求(在我的例子中是 Github webhook),如果你得到的标题匹配“thisisthesecret”然后返回“OK”并将有效负载放在 https://myUrl/payload

除了这个例子,我在网上找不到它的任何实现,所以我正在寻求你的帮助。

这是我当前的 nginx.config 文件:

0 投票
1 回答
80 浏览

github - 避免调用组织级别的 webhook

目前,我们正在为所有 repo 使用组织级别的 generic-webhook。

最近我们添加了新的 repo repo。出于某种原因,它只需要使用 repo 级别的 generic-webhook。

有什么办法,这样我就可以只调用 repo 级别的 generic-webhook 并忽略组织级别的 webhook 吗?

0 投票
0 回答
206 浏览

jenkins - [Generic Webhook Trigger Plugin]Github Push Payload 中的Multiple Resolved Variables for Single Generic Variable

我的詹金斯管道中有如下通用变量

但是当我看到 Github 推送有效负载主体时,我可以看到已解析的变量为“DOCKER_FILE”:“[]”和“DOCKER_FILE_0”:“[]”......这是因为我添加了 2(修改,添加)其中“DOCKER_FILE " 将具有所有值,而 _0 和 _1 将具有自己的like

https://github.com/jenkinsci/generic-webhook-trigger-plugin/blob/master/src/test/resources/org/jenkinsci/plugins/gwt/bdd/github/github-push-get-changed-files。特征

设想:

在我的 Jenkins 管道中

对于手动触发-> 我只有DOCKER_FILE的参数并且“DOCKER_FILE_0”未定义

对于 webhook 触发器 -> 通过通用变量,我将同时拥有 DOCKER_FILE 和 DOCKER_FILE_0

询问:

**如何在管道中使用“DOCKER_FILE_0”的值进行手动触发?

否则如何在没有 [] 的情况下从 DOCKER_FILE 获取“maven-mongodb/file1.txt”以下是我的贡献变量**

在 Webhook 期间触发我的贡献变量:

ie.DOCKER_FILE_0 将在推送事件期间使用通用 webhook 触发器自动创建

0 投票
1 回答
327 浏览

jenkins - GitHub webhook 无法连接到 VPN 内的 Jenkins?

我正在使用 Jenkins 和 GitHub Enterprise 设置持续集成。

到目前为止,我已经能够轻松地创建 Jenkins 项目并定期运行作业。

  • Jenkins 正在使用 SSH 公钥/私钥来验证和克隆 GitHub 存储库。
  • Jenkins 在我公司 VPN 网络内的 Linux 服务器上运行。

我的下一步是配置 Jenkins/GitHub,以便每个git pushGitHub 都会触发 Jenkins 构建作业。我已经在 GitHub 上设置了提交后 webhook,并GitHub hook trigger for GITScm polling在我的 Jenkins 项目中启用了该复选框。

但是,GitHub 无法连接到 Jenkins。

这是日志:

可能是什么问题呢?

0 投票
0 回答
82 浏览

jenkins - 来自github的Jenkins Blue Ocean Plugin webhook集成?

我已经使用蓝海插件在 Jenkins 中设置了我的 github 集成。当我手动单击“立即构建”按钮时,它会拉入我的最新提交并按预期构建。我想通过 github 推送启动管道构建,但是当您设置 github 与 Blue Ocean 的集成时,文档和选项似乎非常不同。

我试图点击http://my.jenk.ip.xx:8080/github-webhook/但我得到:'哎呀!处理请求时出现问题。记录 ID=xxxxx-xxx-xxx-xxx'。在 Network 属性中,它显示 405 - Method Not Allowed。

另外,奇怪的是,当我在我的蓝海创建的 github 管道中时,单击主分支并在阶段视图中,然后单击“查看配置”,我看到了非蓝海插件创建选项的选项,包括(“GitHub 钩子触发器用于 GITScm 轮询'),但所有选项复选框均显示为灰色且不可点击。我到底如何用 Blue Ocean 来触发这个开球?

0 投票
0 回答
262 浏览

github - 找不到从 GitHub webhook 响应创建 SHA256 的格式

我的 GitHub 存储库中有一个网络钩子,每次有推送事件时都会触发它。假设推送事件 JSON 如下所示:

我向 GitHub webhook 提供了一个秘密,GitHub 在请求标头 web hook UI 中告诉我它创建了 abc123456 的 SHA256(例如)。

我正在尝试为 webhook 创建代理,但我无法自己创建此 SHA!我知道我的 SHA 函数有效,因为我在“hello world”等示例字符串上对其进行了测试,并检查了它们与在线转换器的对比。但我不明白我应该如何剥离、转义、字符串化或以其他方式格式化 GitHub JSON 有效负载,以便它为我提供所需的 SHA。

更新:

这是一个完整的例子。我创建了一个新的仓库。这是网络挂钩的链接,您可以自己查看。 https://github.com/fbomb111/webhook-test/settings/hooks/294937131

以下是 GitHub 标头:

这是有效载荷:

这是秘密1234567890

注意标题中的 sha 值:X-Hub-Signature-256: sha256=aaaa0a8550aba58490572b65f998950a242ac61e20f2e295f1c839f58e6b3a23

现在去一个在线转换器,比如这个https://dinochiesa.github.io/hmachash/index.html

使用完全相同的有效负载和机密。你不会得到相同的 sha256 值。

我的猜测是因为 GitHub 使用的不是漂亮打印的 json 来进行 sha 计算。但是我已经尝试了许多这种格式可能没有运气的变体。