2

にある create hook api を使用してフックを作成しようとしています

http://developer.github.com/v3/repos/hooks/#create-a-hook

しかし、投稿しようとすると301が返されるので、間違っていると確信しています...

いくつか質問...

1) github は、そのレポが非公開の場合、そのレポのフックを作成できることをどのように認識しますか? POSTで認証する必要があると確信していますが、どうすればよいですか?

2) 次の curl ステートメントは、フックの作成方法の有効な例ですか?

 curl -v -H "Content-Type: application/json" -X POST -d "{ "name": "cia", 
 "active": true, "events": [ "push" ], "config": { 
 "url": "http://requestb.in/######", "content_type": "json" } }"
  http://github.com/repos/#####/#####/hooks

セキュリティのため、特定の要素を ##### に置き換えました...

3) 上記が正しくない場合、「cia」という名前の Webhook のフックを作成するための有効な例のスニペットをいただけますか?

4

1 に答える 1

7
curl -usigmavirus24 -v -H "Content-Type: application/json" -X POST -d '{"name": "cia", "active": true, "events": ["push"], "config": {"url": "...", "content_type": "json"}}' https://api.github.com/repos/sigmavirus24/reponame/hooks

正しい curl コマンドです。投稿先の URL は、この場合は でhttps://api.github.com/:endpointある必要があります。また、curl コマンドの JSON 本文の前後に sを使用する必要があります。そうしないと、、、、、などのコマンドの出力と連結されたような文字列が得られるからです。:endpointrepos/username/reponame/hooks'"{ "nameciaactiveevents

また、-u :usernameオプションはcurlに必要であるため、curlに認証する必要があることを伝え、そのためにパスワードを要求します。

パスワードが bash の履歴に残っていることを気にしない場合 (そうするべきです)、-u username:password. または、資格情報をフォームに base64 エンコードusername:passwordして、ヘッダーとして次のように送信することもできますAuthentication: Basic <base64-encoded-credentials

于 2013-04-19T15:40:23.053 に答える