Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to create GitHub repository under an organization from the command-line?

It's my understanding that to create a personal repository on the command line, using the GitHub v3 API, one can do this (replacing USERNAME and REPONAME appropriately):

curl -u 'USERNAME' https://api.github.com/user/repos -d '{"name":"REPONAME"}'

The user then enters their username and password, and GitHub will create a new empty repository at "github.com/USERNAME/REPONAME".

My question is, how do I create an organization-owned repository via command line? I tried replacing USERNAME with the organization's name, and it prompted me for the 'host password'. I own the organization so I entered my password but I got "Bad credentials". Does this method not work for organization-owned repositories? Or am I doing something wrong?

like image 965
MD XF Avatar asked Nov 08 '16 21:11

MD XF


2 Answers

With the new github cli, it is as simple as:

gh repo create ORGNAME/REPONAME
like image 140
greg hor Avatar answered Oct 12 '22 23:10

greg hor


To create a repository under an organisation you should send the request to the POST /orgs/:org/repos endpoint rather than /user/repos. Your user shouldn't need any extra permissions or scopes over what is required to create a user repository, but the user must be a member of :org:

Create

Create a new repository for the authenticated user. (Currently not enabled for Integrations)

POST /user/repos

Create a new repository in this organization. The authenticated user must be a member of the specified organization.

POST /orgs/:org/repos

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

like image 40
kfb Avatar answered Oct 12 '22 23:10

kfb