github API - використовуйте curl PUT, щоб додати репо у команду

Я намагаюся додати репо в команду на github, таким чином:

curl -i -u username:password  -X PUT  -d "" https://api.github.com/teams/:team/repos/:user/:repo

(специфіка виключена)

Досить, як зазначено в не дуже докладній документації.
Це дає 500 Внутрішня помилка сервера .

Якщо я вийду з коду -d "" , він дає 411 "Content-Length required" ,
якщо я вказав (використовуючи -H ) "Content-Length: 0" : знову помилка 500 ...
Які ключі?


[править] Відповідь: API давав хибні відповіді, і документи тут не дуже добре:
": team " - це числовий ідентифікатор, призначений системою (а не ім'я, яке ви надали ... arg!) - він доступний лише з запиту API або перегляду URL-адреси в браузері, коли Ви відвідуєте команду. Як витончено.
Більш того, не здається, що ви можете призначити лише будь-який ol 'repo у вашому обліковому записі - це має бути в "організації", до якої належить команда.
Очевидно, що доїзд до неї, мабуть, потребує розважальної гімнастики ... більше, якщо я зрозумію це. Рейтинг GitHub Usablity до цих пір: (1-10) 2.


[редагувати 2] Висновок: документи на github прописують це:

Додати команду репо

     

Для того, щоб додати репо в команду, автентифікований користувач повинен бути власником організації, з яким пов'язана команда.

PUT /teams/:id/repos/:user/:repo

Не працює. Що робить , це:

PUT /teams/:id/repos/:org/:repo

Заміна ": user " на ": org " (назва організації, до якої належить команда).

Справу закрито. Сподіваємось, це допомагає комусь уникнути подібного розважального дня.

12
Дуже цікаво. Ви можете поставити свою редакцію2 як власну відповідь на цю саму сторінку.
додано Автор VonC, джерело
не потрібно розміщувати фіктивну відповідь: ви можете вирізати і вставити частину edit2 як актуальну та реальну відповідь і вибрати власну відповідь як офіційну. Проте, не існує "закритого" стану, тим, що інший читач може опублікувати власні відповіді, якщо вони думають, що вони мають більш ефективний спосіб.
додано Автор VonC, джерело
Щоб хтось зустрічався з цим, переконайтеся, що в коді curl у вас є -X PUT , а не -X put ... це має значення .
додано Автор bbodenmiller, джерело
Хороша точка - тоді це виявилося, як позначено як відповіли. Чи існує "закритий" або "розв'язаний" стан? Я надумаю фіктивну відповідь ..
додано Автор aperson, джерело

3 Відповіді

Ви також повинні переконатися, що: repo - це поле repo ["name"] , а не поле repo ["id"] .

1
додано

"Документи на гітхуб прописують це:"

Додати команду репо

     

Щоб додати репо в команду, автентифікований користувач повинен бути   власник організації, з якою пов'язана команда.

PUT/teams /: id/repos /: user /: repo

Не працює. Що таке робота:

PUT/teams /: id/repos /: org /: repo

Заміна ": user" на ": org" (назва організації, до якої належить команда).

0
додано

Щоб хтось знову зустрічався ... це виглядає так: org тепер має повне ім'я, а не ідентифікатор

0
додано