Looking at the GitHub API reference at http://develop.github.com/p/repo.html, I see all sorts of good stuff, but I don\'t see any way to rename a repository through the API.
Create some variables for clarity:
user=MyUserName
pass=MyPassword
newName='{"name": "NewNameForRepo"}'
oldName="MyRepo"
Then use curl to make the request:
curl -u "$user:$pass" -X PATCH -d "$newName" https://api.github.com/repos/$user/$oldName
This is possible through the Edit Repository GitHub API method, but here's the simplest example to do this with curl
:
curl \
-H "Authorization: Token [token]" \
-H "Content-Type:application/json" \
-H "Accept: application/json" \
-X PATCH \
--data '{ "name": "new-repo-name" }' \
https://api.github.com/repos/owner/old-repo-name
Create a new repo, push to it and delete the old one ?
Adding additional notes to what braitsch said already,
If you are trying to rename a repository under an organization, add these variables:
myToken='XXXX_Your_Personal_Access_Token_XXXX'
myOrg="MyGithubOrg"
newName='{"name": "NewNameForRepo"}'
oldName="MyRepo"
And, make a curl request like this:
curl -H 'Authorization: token $myToken' -X PATCH -d "$newName" https://api.github.com/repos/$myOrg/$oldName