Создать GitHub.com Hook

Я пытаюсь создать хук, используя api create hook, найденный на

http://developer.github.com/v3/repos/hooks/

но я получаю 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"?

1 ответ

Решение
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 где :endpoint в этом случае repos/username/reponame/hooks, Вы также должны использовать 'вокруг тела JSON для команды curl, потому что в противном случае вы получите такие строки, как "{ " объединены с выводом таких команд, как name, cia, active, events, так далее.

Так же -u :username опция необходима для curl, поэтому она сообщит curl, что она ДОЛЖНА пройти аутентификацию, и попросит вас ввести пароль для этого.

Если вы не против того, чтобы ваш пароль был в вашей истории bash (что вы должны), вы также можете сделать -u username:password, Или даже лучше, вы можете Base64 кодировать свои учетные данные в виде username:password и затем отправьте это как заголовок так: Authentication: Basic <base64-encoded-credentials,

Другие вопросы по тегам