Attaching an unchanging unique identifier to an issue to support offline issue tracking


I’m working on an offline browser for Github issues named Bugmatic. The idea is that as Github repositories are to local Git repositories, Github Issues should be to a local Bugmatic checkout.

I have the fundamentals working, but there is one big snag: I want to allow creating issues locally and pushing them to other people’s Bugmatic checkouts, so that e.g. people can collaborate on a plane. Later, I want people to be able to push their changes back to Github Issues.

TL;DR: I need a way to attach a UUID to a Github issue when creating it that will from then on stay unchanging, but will be reported back to me when I query for information about an issue.

Long version:

Github assigns issue numbers as sequential numbers.

If Jill and Jane locally create an issue (e.g. on an intercontinental flight), and there were 10 issues in the project when they took off, both of them would pick #11 as the unique issue number for their new issues. When they then push their issues to Github when they’re back on the ground, Jill might push a second earlier, so will get #11, then Jane will push her (different) issue, see there already is an Issue #11, and overwrite it. That’s undesired.

Also, if Jane pushed her issue to Jill on the plane, the issue’s number would have to change (as both issues can’t have #11). So Jane would have an Issue #11, and Jill would have a *different* issue #11, and an Issue #12 that should really be #11 to match what Jane has, with no way for someone looking at the repository knowing that Jane.11 and Jill.12 are the same issue, while Jane.11 and Jill.11 are different, not just substantially edited.

So really, since the unique IDs on the Github server *require* a connection to the server to hand out a new, unique ID, they’re inherently not suitable for offline use.

A UUID (like they’re generated by the uuidgen command line tool, for example) OTOH is reasonably unique as it depends on computer, time/date, and a number of other factors, and is several times larger than a regular number. So if two issues have the same UUID, I can assume that they are the same issue.

But I would need to have a way to attach that UUID to the issue on Github’s server. Otherwise it would again not be possible to tell that Jill’s Issue #12 is Jane’s Issue #11 in above example.

Who do I need to talk to, to get such metadata added to Github Issues?


– Uli

Hi Uli,

Thanks for this feedback! We’re always working to improve GitHub and the GitHub Community Forum, and we consider every suggestion we receive. I’ve logged your feature request in our internal feature request list.

Though I can’t guarantee anything or share a timeline for this, I can tell you that it’s been shared with the appropriate teams for consideration.

Please let me know if you have any other questions.


Thank you! While I’m at it: It would be useful to have this for pretty much every element. In particular, for comments as well.

Hi @uliwitness,

I’d like to clarify what you’re talking about a bit. If you use the Create an issue API endpoint, you get an id number passed back in the response that will refer to that issue and will be unchanging. You are unable to pass an id number into this endpoint, so you should not ever have the issue of one issue overwriting another.

Is there a reason that you need to assign the unique identifier before pushing as opposed to recording the unique identifier upon issue creation?

Thanks for helping me to understand your use case better. :slight_smile: