gpt4 book ai didi

api - 如何使用 AJAX 在 GitHub web api 的存储库上创建 webhook?

转载 作者:行者123 更新时间:2023-12-04 14:27:40 25 4
gpt4 key购买 nike

我正在 GitHub api 中试验 Webhooks。我通过手动完成一个工作,就像进入我的存储库并单击设置并启用网络 Hook 一样。但是现在我想在 AJAX 中执行此操作,但遇到了问题。每当我尝试向 web api 发送 POST 时,它都会失败并显示 400(错误请求)。我不确定我的代码哪里出错了。

function createWebHooksOnRepos(token){
const webhookURL = "https://api.github.com/repos/DanoBuck/AlgorithmsAndDataStructures/hooks";

const json = {
"name": "WebHook",
"active": true,
"events": [
"issue_comment",
"issues"
],
"config": {
"url": "http://39a40427.ngrok.io/api/webhooks/incoming/github",
"content_type": "json"
}
};
$.ajax({
headers: {
"Authorization": "Token " + token
},
url: webhookURL,
data: json,
type: "POST",
dataType: "json",
success: function(data){
console.log(data);
}
});

谢谢

最佳答案

来自 github Webhook API doc :

name - string - Required. Use "web" for a webhook or use the name of a valid service. (See /hooks for the list of valid service names.)

所以在你的情况下,只需将 Webhook 重命名为 web :

const json = {
"name": "web",
"active": true,
"events": [
"issue_comment",
"issues"
],
"config": {
"url": "http://39a40427.ngrok.io/api/webhooks/incoming/github",
"content_type": "json"
}
};

还有 JSON.stringify 发送前你的数据:

$.ajax({
headers: {
"Authorization": "Token " + token
},
url: webhookURL,
data: JSON.stringify(json),
type: "POST",
dataType: "json",
success: function(data) {
console.log(data);
}
});

关于api - 如何使用 AJAX 在 GitHub web api 的存储库上创建 webhook?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42191905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com