I have a repository on the Git Server like Bitbucket and now I want to switch to Github. So I make a copy of my repository on the Github successfully, but the my repository issues (Nearly 200 issue) not copied on the Github repository!
Exist a way to copy all issues on the Github repository without inserting one by one manually !?
As choroba has said above you can use the BitBucket API to retrieve your current list of issues, or details on a specific issue. Have a look at https://confluence.atlassian.com/display/BITBUCKET/Use+the+Bitbucket+REST+APIs for more info on this. In a nutshell, you can make a request to
https://api.bitbucket.org/2.0/repositories/<repo-owner-username>/<repo-name>/issues/<ID>
and get back a JSON response of the issue details. You can go to https://api.bitbucket.org/2.0/repositories/tutorials/tutorials.bitbucket.org/issues/1 in your browser to see an example of what the response looks like.Since you wan't to migrate all your issues you can repeatedly make a request to
https://api.bitbucket.org/2.0/repositories/tutorials/tutorials.bitbucket.org/issues/<ID>
, where ID ranges from 1 to however many issues you have.Once you have the existing issue details you'll need to write some code to parse the JSON and then use the information provided by BitBucket to make a request to GitHub's API to create the new issue.
You can read up on GitHub's API at https://developer.github.com/v3/issues/#create-an-issue. Basically for this you'll make a
POST
request tohttps://api.github.com/repos/<repo-owner-username>/<repo-name>/issues
and provide the necessary parameters along with the request. Exactly how you do this will depend on the library you use to make the request. Using CURL the request might look likecurl -H "Content-Type: application/json" -X POST -d '{"title":"Found an issue","body":"I'm having a problem with this."}' https://api.github.com/repos/behzad-khosravifar/myRepo/issues
.So putting it all together the pseudocode might look something like:
Extra & Gotchas