问题标签 [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 回答
12340 浏览

github - 当另一个存储库创建新版本时触发 GitHub 操作

我正在尝试构建一个 GitHub 工作流程,该工作流程将在另一个存储库创建新版本时触发。

在文档中,有一段:on.event_name.typeswhere event_namewill be release.

问题是:有没有办法引用release另一个存储库的事件?

0 投票
1 回答
1623 浏览

amazon-web-services - 如何将环境变量从源传递到 AWS CodePipelines 中的构建?

在 AWS CodeBuild 中,传递环境变量非常容易,如文档中所示。如果我想获取事件触发器引用,我可以使用变量CODEBUILD_WEBHOOK_TRIGGER,它是上下文相关的:对于 GitHubPUSH事件,这将是分支名称,但对于PULL_REQUEST_CREATEDorPULL_REQUEST_UPDATED事件,这将是 PR 编号。

所以问题是这样的:使用 AWS CodePipeline 时,CodeBuild 项目的“源”是 CodePipeline 而不是 GitHub webhook。突然,CODEBUILD_WEBHOOK_TRIGGER是一个空字符串,似乎对触发 CodePipeline 的原始 GitHub webhook 事件一无所知。

如何使用由 CodePipeline 触发的 CodeBuild 项目访问这些环境变量?这似乎是 AWS 忽略的一个用例,因此它可能是一个错误。不幸的是,仅使用基本访问帐户很难提交错误报告。

0 投票
1 回答
1376 浏览

node.js - 使用 GitHub Webhook 使用 dockerimage 转发到 Jenkins 时出现 Nodejs 错误“EPROTO”

我在防火墙后面使用詹金斯服务器。我使用 smee-client smee.io通过防火墙从 GitHub 获取 webhook。

我使用了来自deltaprojects/smee-client的 dockerimage 。它正在运行并连接到 smee.io/xyz 以获取 webhook。但是如果 GitHub 发送一个 webhook(配置发送到 smee.io/xyz)它是成功的,有 200 响应。但是 smee-client 会从 nodejs 抛出一些 EPROTO 错误。(见下面的输出)

配置 Github webhook:
Payload url https://smee.io/xyz
内容类型 application/json
启用 SSL 验证
* 将所有内容发送给我
[*] 活动

Webhooks 似乎可以工作并获得 200 HTML 响应

smee 客户端显示以下错误:

我尝试自己构建图像,但在错误按摩中得到相同的结果。我对 ssl 证书并不熟悉,即使这个问题与 ssl 有关。
也许有人也遇到过这个问题并且知道提示我做错了什么?那真的很好

0 投票
2 回答
1022 浏览

python-3.x - 如何在 Python 3 中验证来自 GitHub webhook 的有效负载?

我已经通过 Github webhooks 在服务器上实现了我的 Flask 应用程序的自动部署,但是我无法将手册中指定的 Ruby 脚本适应 Python 3 来验证 POST 请求。我试过这个:

我也尝试了其他变体与 sha1(...).hexdigest() 和 compare_digest() 来自 secrets 包,但收到的签名总是不同。

我做错了什么?

0 投票
1 回答
2359 浏览

python-3.x - 谷歌云功能完成状态:“连接错误”

我有一个由 Github webhook 调用的 HTTP Cloud Function (Python 3.7),当事件类型不是拉取请求时,它通常(但不总是)以连接错误退出。当它没有进入 if 块时,它总是干净地退出。

这是功能:

在日志中它显示为:

在 Github 端,响应是 HTTP/500 错误消息“错误:无法处理请求”。

我已经将它重新部署为不同项目中的新功能,并且发生了同样的事情。有时,一个函数会返回 200,而另一个函数会为同一事件返回 500。知道这里发生了什么吗?谢谢 :)

0 投票
1 回答
890 浏览

git - 在 Github 上找不到存储库的设置

我正在尝试使用 webhook在服务器上执行以下自动拉取操作。

问题是我在存储库中找不到设置。github.com 是否删除了它?谁能帮我解开这个谜团?

0 投票
1 回答
347 浏览

github - 通过 webhook 传递拉取请求状态和提交数据

我正在致力于自动化 Jira 和 Github 之间的集成,其中票证通过基于拉取请求的状态/生命周期的工作流转换其状态(进行中 -> 代码审查 -> 完成)。

拉取请求创建:票证转换到代码审查状态
拉取请求合并:票证转换到完成状态

我遇到的问题是如何为 Jira 自动化流程发送足够的数据。开发人员提交消息包括我正在寻找的票证 ID ( git commit -m 'ID-22, <commit message here>),我还需要知道拉取请求数据以了解 PR 的状态。

为此配置 webhook 时,我选择接收拉取请求的事件以及发送到我的 Jira 自动化工作流的推送事件。

在此处输入图像描述

这些事件是单独发送的,这是主要问题,因为我需要这两个事件来应用票证自动化。例如,这是提交 webhook,它成功地从提交中找到票证,但是缺少拉取请求数据,因此无法采取任何操作。

在此处输入图像描述

下一个事件是拉取请求事件,它找不到票证,因为它在有效负载中缺少提交。

在此处输入图像描述

我可以使用包含有关提交和 PR 的数据的事件吗?如果可能,我宁愿避免设置机器人/服务器将它们合并在一起。
如果分支名称包含票证,我可以在技术上使拉取请求事件工作(单独),但这需要更改流程+很多时候拉取请求将包含多个票证的修复,分支名称策略太 1: 1. 理想情况下,我想从提交消息中发现票证

谢谢阅读!

0 投票
1 回答
33 浏览

node.js - 用于 Google Cloud Functions 身份验证重定向的 gitHubAutoDeployer

我正在尝试使用以下gitHubAutoDeployer提供的功能:

https://github.com/GoogleCloudPlatform/community/blob/master/tutorials/cloud-functions-github-auto-deployer/index.md

我关注了该项目,但在部署并尝试触发它时,我发现对我的 webhook 的响应是 Google OAuth 屏幕(在 GitHub 项目中,转到设置 > Webhook > 最近交付)。我继续在浏览器中使请求交互,以便我可以提供访问权限。提供我的凭据后,我被重定向到以下内容:

现在,GitHub 中的最近交付以 302 响应:

我究竟做错了什么?有什么想法吗?

更新:我在项目的 GitHub 上打开了一个问题 - 那里有更多信息可用:

https://github.com/GoogleCloudPlatform/community/issues/1202

0 投票
0 回答
223 浏览

aws-api-gateway - Github Webhook 到与 SQS 集成的 AWS API Gateway 错误?

我有这个主要工作。Github 发送的所有事件最终都在我的 SQS 队列中。webhook 正在组织级别发送带有“Send me everthing”的应用程序/json。我在我的 API Gateway 中使用以下模板映射:

(我也试过'"bodyJson":"$util.base64Encode($util.body)",')

来自 Github 的大约 5% 的事件通知(各种事件类型,例如:状态、推送)无法正确转换。当我从队列中去 base64 解码消息时,我得到部分消息/部分随机垃圾。注意到每次重试时重新发送相同的事件都会失败。(不过,该事件在 Github UI 中看起来像格式正确的 json。)我正在登录到 cloudwatch,但日志被截断了。所以我不知道有多少原始消息通过了。我还尝试将 application/json 设置为二进制媒体类型。这只是导致所有事件在转换时失败并将 500 返回到 Github。任何人都知道我做错了什么或者这是否是一个错误?

更新 需要多测试一点,但我想我已经弄清楚了。我们需要对 base64Encoded bodyJson 进行 urlEncode 编码,因为 base64 编码输出包括不经过 url 编码的 application/x-www-form-urlencoded 不兼容的字符(+ 和 /):

0 投票
0 回答
502 浏览

github - GitHub Webhook 未向我的 Discord 频道发送有关项目选项卡更改的消息

这个问题可能最适合 GitHub 的开发人员,但无论如何我都会在这里发布给其他有同样问题的人。

GitHub Webhook 在 Discord 发送有关存储中任何更改的通知时工作得很好,但是对“项目”选项卡的任何更改都不会通过 Webhook 更新到 Discord。