github API - использование curl PUT для добавления репо в команду - PullRequest
12 голосов
/ 28 октября 2011

Я пытаюсь добавить репо в команду на github, таким образом:

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

(подробности опущены)

В значительной степени, как указано в не столь подробной документации.
Это дает 500 Internal server error.

Если я опускаю -d"", это дает 411 "Content-Length required",
, если я укажу (используя -H) "Content-Length: 0": снова ошибка 500 ...
Любаяподсказки?


[править] Ответ: API давал ложные ответы, и документы там не очень хороши:
":team" - это числовой идентификатор, назначенный системой (неимя, которое вы дали .. arg!) - оно доступно только из запроса API или из просмотра URL-адреса в браузере, когда вы посещаете команду.Как элегантно.
Более того, не похоже, что вы можете назначить просто любое ол 'РЕПО под своей учетной записью - оно должно быть в «организации», к которой принадлежит команда.
Получениеочевидно, потребуется немного занимательной гимнастики ... больше, если я это выясню.GitHub Рейтинг популярности на данный момент: (1-10) 2.


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

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

Чтобы добавить репо в команду, аутентифицированный пользователь должен быть владельцем организации, с которой связана команда.

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

Не работает. делает работу следующим образом:

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

Замена ":user" на ":org" (название "организации", к которой принадлежит команда.

Дело закрыто. Надеюсь, это поможет кому-нибудь избежать такого же занимательного дня.

Ответы [ 3 ]

1 голос
/ 03 июля 2012

Вам также необходимо убедиться, что: repo - это поле repo["name"], а НЕ поле repo["id"].

0 голосов
/ 13 апреля 2016

"В документах на github прописано следующее:"

Добавить репо команды

Чтобы добавить репо в команду, аутентифицированный пользователь должен быть владельцем организации.что команда связана с.

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

Не работает.Что работает, так это:

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

Замена ": user" на ": org" (название "организации", к которой принадлежит команда.

0 голосов
/ 26 апреля 2014

Для тех, кто сталкивается с этим снова ... это выглядит так: org теперь полное имя, а не ID

...