2017-02-12 5 views
1

GitHub APIでWebhooksを試しています。リポジトリに移動して設定をクリックしてWebフックを有効にするのと同じように、手動で作業しています。しかし今、私はAJAXでこれをやりたいと思っています。問題が発生しています。いつでも私はWeb APIにPOSTを送信しようとすると、400(Bad Request)で失敗します。自分のコードでどこが間違っているのか分かりません。AJAXを使用してGitHub Web API上のリポジトリにウェブフックを作成するには?

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からあなた

答えて

0

ありがとう:

名 - 文字列 - 必須。ウェブフックには「web」を使用するか、有効な サービスの名前を使用してください。 (有効なサービス名のリストについては/hooksを参照してください。)だから、

をあなたのケースでは、単にWebhookwebに名前を変更します。送信する前にも

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); 
    } 
}); 
+0

これで運がない。依然として「リソースのロードに失敗しました:サーバーが400(Bad Request)のステータスで応答しました」という同じ応答が返されます。しかし、あなたの助けをありがとう。 – DanoBuck

+0

データを文字列化するのを忘れました。投稿を更新しました –

+0

データ:JSON.stringify(json) - その行は完全に機能します。ご助力ありがとうございます。ヘルプを大いに評価してください。 – DanoBuck

関連する問題