Создать 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
,