开发者

How do I rename a GitHub repository via their API?

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. 开发者_开发问答Is there any way to do so?


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


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 


If we're using GitHub CLI:

gh alias set repo-rename 'api -X PATCH "repos/$1" -f name="$2"'

gh repo-rename username/oldreponame newreponame


Create a new repo, push to it and delete the old one ?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜