MD XF
Tengo entendido que para crear un repositorio personal en la línea de comando, usando la API de GitHub v3, uno puede hacer esto (reemplazando NOMBRE DE USUARIO y NOMBRE DE REPO apropiadamente):
curl -u 'USERNAME' https://api.github.com/user/repos -d '{"name":"REPONAME"}'
Luego, el usuario ingresa su nombre de usuario y contraseña, y GitHub creará un nuevo repositorio vacío en “github.com/USERNAME/REPONAME”.
Mi pregunta es, ¿cómo creo un repositorio propiedad de la organización a través de la línea de comandos? Intenté reemplazar el NOMBRE DE USUARIO con el nombre de la organización y me solicitó la ‘contraseña del host’. Soy el dueño de la organización, así que ingresé mi contraseña pero obtuve “Credenciales incorrectas”. ¿Este método no funciona para los repositorios propiedad de la organización? ¿O estoy haciendo algo mal?
Con el nuevo github clies tan simple como:
gh repo create ORGNAME/REPONAME
Para crear un repositorio bajo una organización, debe enviar la solicitud al POST /orgs/:org/repos
punto final en lugar de /user/repos
. Su usuario no debería necesitar ningún permiso o alcance adicional sobre lo que se requiere para crear un repositorio de usuarios, pero el usuario debe ser miembro de :org
:
Crear
Cree un nuevo repositorio para el usuario autenticado. (Actualmente no habilitado para Integraciones)
POST /user/repos
Cree un nuevo repositorio en esta organización. El usuario autenticado debe ser miembro de la organización especificada.
POST /orgs/:org/repos
-
Para aclarar, ¿conservo el
:
en el:org
? Por ejemplo, si el nombre de mi organización fuera ‘foo’, ¿la solicitud seríaPOST /orgs/:foo/repos
oPOST /orgs/foo/repos
?– MD XF
9 de noviembre de 2016 a las 18:49
-
No te quedas con el colon. Solo lo designa como una variable. Puede ver un ejemplo de una llamada realizada al mismo punto final aquí: stackoverflow.com/a/19577228/1639983 EDITAR: Sé que la llamada no está haciendo lo mismo, pero el punto final sigue siendo el mismo.
-Holden Lewis
9 de noviembre de 2016 a las 19:28
Solo para completar: Ejemplo para Git Api v3:
curl -u USERNAME https://api.github.com/orgs/ORGNAME/repos -d '{"name":"NAME_OF_REPO", "description":"SOME_DESCRIPTION", "private": true, "has_issues": true, "has_projects": true, "has_wiki":false }'
-
¡muy lindo! esto resuelve mi problema. ¡No es muy fácil de encontrar! Muchas gracias
– danivicario
02/09/2019 a las 21:01