所以我一直在阅读 GitHub 开发人员文档和关于 webhooks 他们有以下声明:
Webhooks 允许您构建或设置订阅 GitHub.com 上某些事件的 GitHub 应用程序。当这些事件之一被触发时,我们将向 webhook 的配置 URL 发送一个 HTTP POST 负载。Webhooks 可用于更新外部问题跟踪器、触发 CI 构建、更新备份镜像,甚至部署到您的生产服务器。你只受限于你的想象力。
但是,关于应用程序,他们也有这样的声明:
GitHub 上的应用程序扩展并改进了现有的工作流程。人们可以从 GitHub Marketplace 购买应用程序,或者在 Works with GitHub 中浏览与 GitHub 集成的有用工具和服务。
如果您正在构建或添加集成,本文档将帮助您启动和运行。
有关与 GitHub 应用程序(而非 OAuth 应用程序)相关的支持请求、错误报告和讨论,请使用 GitHub 平台论坛。该论坛允许您与其他集成商以及来自 GitHub 的工程师和产品经理合作。
如果您的请求与 OAuth 应用程序有关,或者您需要讨论私人问题,请直接联系支持人员。
这似乎 Webhooks 只能与 GitHub Apps 一起使用?GitHub 应用程序和 GitHub OAuth 应用程序之间的区别不是很清楚,我不明白为什么 OAuth 应用程序不能使用 Webhooks?
例如www.example.com/status,我希望在我的 Android 应用程序中有 URL ,我将观察该URL并将接收来自服务器的多个 POST 请求。对于每个 POST 请求,我将触发一个功能。我不明白如何在 URL 24x7 上实现侦听器。我想要的只是一个开始的地方。如果这是不可能的,那么推送通知是一个可行的选择吗?
注意:webhook 不应该在服务器上,而应该在客户端 (Android) 上,服务器应该在 webhook 上发送请求。
我有一个发送 webhook 来触发 jenkins 工作的 bitbucket 存储库。

http://:8080/buildByToken/buildWithParameters?job=webhook_me&token=ti 想用 webhook 发送 bitbucket 分支名称,所以我在网上搜索了在位桶上使用环境变量的正确方法,我找到了这个站点:

所以我在最后编辑了带有“&branch=$BITBUCKET_BRANCH”的网址,但它不起作用。

有什么想法我应该怎么做才能发送带有分支名称的网络钩子?
*******编辑*******
我看到有一种叫做 Bitbucket 事件负载的东西。这是一个包含有关 webhook 的所有详细信息的 json:https ://confluence.atlassian.com/bitbucket/event-payloads-740262817.html
但我想不出如何使用它并从 jenkins 中提取数据的方法。
我认为,这是解决这个问题的方法,但我不知道如何使用它。
如何在 BitBucket.org 中配置 webhooks 以触发 TeamCity 构建?
我正在尝试在我的网站上集成 Messenger。我想跟踪用户(通过 Cookie 值)。Facebook 聊天插件中有一个选项“ messages_referrals ”,它告诉用户聊天的推荐键。
按照说明,我在 facebook 应用程序 webhook 事件中添加了事件“messaging_referrals”。
但仍然在我的 webhook 中,我没有获得推荐密钥。
我的插件代码看起来像这样
<div class="fb-customerchat"
page_id="ABC"
ref="OPTIONAL_WEBHOOK_PARAM"
logged_in_greeting="<GREETING_MESSAGE_FOR_LOGGED_IN_USERS>"
logged_out_greeting="<GREETING_MESSAGE_FOR_LOGGED_OUT_USERS>">
</div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'XYZ',
autoLogAppEvents : true,
xfbml : true,
version : 'v2.11'
});
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "https://connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
Run Code Online (Sandbox Code Playgroud)
并请求我进入我的网络钩子是这个
"data": {
"sender": {
"id": "abc"
},
"recipient": {
"id": …Run Code Online (Sandbox Code Playgroud) 谁能澄清使用队列的目的是什么?
我的理解是 awebhook只是 a ,您对其URL发出请求,然后根据请求的正文/数据执行一些操作。那么为什么我需要对数据进行排队并将其存储在然后再次循环数据库中并执行这些操作。POSTURLdatabase
我已经为不和谐的 webhooks 编写了这个小 PoC,但收到Can not send empty string 的错误。我尝试谷歌但找不到文档或答案
这是我的代码
import requests
discord_webhook_url = 'https://discordapp.com/api/webhooks/xxxxxxxxxxxxxxxxxx/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
data = {'status': 'success'}
headers = {'Content-Type': 'application/json'}
res = requests.post(discord_webhook_url, data=data, headers=headers)
print(res.content)
Run Code Online (Sandbox Code Playgroud) 完全陷入与 SendGrid 提供的入站解析 Webhook 功能相关的问题:https ://sendgrid.com/docs/for-developers/parsing-email/setting-up-the-inbound-parse-webhook/
\n\n首先,检索发送到我的应用程序端点的邮件一切正常。使用Request.Form我能够检索数据并使用它。
问题是,我们在收到一些邮件时开始注意到问号符号而不是字母(使用 \xc3\x85 \xc3\x84 和 \xc3\x96 用瑞典语编写)。发送纯文本邮件和带有 HTML 正文的邮件时都会发生这种情况。
\n\n然而,这种情况只是偶尔发生。经过大量搜索后,我发现如果邮件是从邮箱或 Outlook(或类似的)发送的,并且应用程序的字符集设置为 iso-8859-1,那么 \xc3\x85 \xc3\ x84 \xc3\x96 被问号替换。
\n\n为了复制错误并能够对其进行调试,我设置了一个 HTML 页面,其中包含使用 iso-8859-1 编码的表单,发送与上面链接中看到的类似的有效负载(默认负载)。之后,我们进行了大量的测试,试图让它发挥作用。
\n\n截至目前,我正在尝试重新编码输入,但没有成功。我正在测试的代码:
\n\n Encoding wind1252 = Encoding.GetEncoding(1252);\n Encoding utf8 = Encoding.UTF8;\n byte[] wind1252Bytes = wind1252.GetBytes(Request.Form.["html"]);\n byte[] utf8Bytes = Encoding.Convert(wind1252, utf8,wind1252Bytes);\n string utf8String = Encoding.UTF8.GetString(utf8Bytes);\nRun Code Online (Sandbox Code Playgroud)\n\n这只会导致utf8String产生与“???”相同的结果。其中 \xc3\x85 \xc3\x84 \xc3\x96 应该是。我的猜测是,这可能是由于 Request.Form["html"] 返回一个 UTF-16 字符串,该字符串的内容已经以错误的编码 iso-8859-1 进行编码。
获取POST的方法如下
\n\npublic async Task<InboundParseModel> FetchMail(IFormCollection …Run Code Online (Sandbox Code Playgroud) 我正在尝试回复我发送到 Microsoft Teams 的旧消息,但到目前为止我无法做到这一点。为了向 Teams 发送消息,我正在创建一条消息,如下所示:首先,我有一个保存数据的模型:
public class WebHookContent
{
public string Text { get; set; }
public string Title { get; set; }
public string Color { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
将数据添加到模型中,如下所示:
WebHookContent content = new WebHookContent();
content.Title = "ALERT";
content.Text = "Sometext";
content.ThemeColor = "F00505";
Run Code Online (Sandbox Code Playgroud)
现在我已经收到消息,我使用 HttpClient 将其发送到 Teams,如下所示:
HttpContent data = new StringContent(JsonConvert.SerializeObject(content));
HttpClient client = new HttpClient();
await client.PostAsync(webHookUrl, data);
Run Code Online (Sandbox Code Playgroud)
这样,消息就会发送到团队,这是最简单的部分,但现在我不知道如何发送对我刚刚发送的消息的回复。
我的想法是,这条消息可能有一个 ID,我可以将其存储在数据库中。不知怎的,有了这个 ID,我就可以回复这条消息了。
那是对的吗?
你怎么看?你会怎么做?
我正在使用 Django Rest Framework,它与外部服务集成。每当在外部服务中创建新任务时,我都会使用端点接收来自 Webhook 的回调。
当回调请求到来时,我的代码需要创建至少一个对象。但可能需要从多个不同的模型创建多个对象。例如,如果创建了一个新任务,则它可能是由新用户创建的,其中我还需要创建一个新的用户对象来反映这一点。
总共最多可以添加 5 个附加对象作为副作用。我知道可以在多个不同的地方添加此逻辑(例如服务层、序列化器、模型、管理器、视图)。但所有这些似乎都存在问题。
以前有人处理过这个问题吗?如果是这样,你是如何解决的?