¿Cómo crear un repositorio de GitHub bajo una organización desde la línea de comandos?

2 minutos de lectura

Avatar de usuario de MD XF
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

(De https://developer.github.com/v3/repos/#create)

  • Para aclarar, ¿conservo el : en el :org? Por ejemplo, si el nombre de mi organización fuera ‘foo’, ¿la solicitud sería POST /orgs/:foo/repos o POST /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

¿Ha sido útil esta solución?