My organization has an in-house version control and issue tracking system. We would like to port the source code, file history, and issues for various projects to an Enterprise GitHub (version 3.8) instance with timestamps which match the original system.
We have developed a tool for performing this conversion, but it requires being connected to the original system and our GitHub server simultaneously and does not provide any editing capabilities between downloading the from old system and pushing up the data with GitHub's REST API. Also, we lose timestamps from the original issues and "pull requests" (except for inserting the date in the body of each issue), making it harder to find things and skewing how things are displayed.
Since GitHub provides tools for generating a migration archive from existing Enterprise GitHub repositories and importing such archives into other GitHub instances, I hope that I can generate an archive locally, inspect it manually, and then use GitHub's built-in import mechanisms to migrate the archive in one fell swoop.
Except that the files for the archive are placed into a tarball, I have not found any documentation as to what format GitHub expects for the files internal to the tarball. I would expect the archive to include a bare git repository, a directory containing the git lfs files, and some JSON or XML files containing the issues and other metadata information.
Is the migration archive schema which GitHub can import documented? Where might I find such documentation?
Alternatively, does Enterprise GitHub have any APIs which support specifying the timestamps of various events (e.g., marking the creation time of an issue or time a pull request was approved)?