GitHub Importer: API for bulk import of personal gists to personal snippets
Release notes
With GitHub Importer, you could import GitHub repositories to GitLab, however there was no possibility to import gists as well. Now you can use a new public API endpoint to bulk-import your personal gists into your personal GitLab Snippets visible on Snippets Dashboard.
Problem to solve
We can import repos from GitHub, but for a more complete migration away from GitHub, we would need to have a way to import GitHub Gists as well.
With the release of Snippets with multiple Files, it is now possible to migrate GitHub Gists (up to 10 files) directly into GitLab Snippets. As we haven't had any requests to increase that limit in the product and allow snippets to have more files, we won't try to make that possible with import either.
Proposal
Create a public API for a bulk import of personal gists created by the person into their personal GitLab Snippets visible on Snippets Dashboard:
- public gists become public visibility level snippets
- secret gists become private visibility level snippets.
Technical details
If gist description is present, we use it as the snippet title (attention: Gist description has a limit of 256, while the snippet's title can be up to 255).
If gist description is missing we use the file name (filename of the first file, if there are multiple files) as a snippet title.
In case of gists with multiple files, in the first iteration we:
- skip the import of anything larger than 10 files
- log an error when a gist import has to be skipped in a way we can query the frequency
- document this limit and encourage customers to manually migrate these rare gists over to projects.
No import of gists comments, only gists description and files.