Checking the project status, it only got around 2k PRs imported and no issues, so it failed during PRs. Actual importing wouldn't such error (a String instead of a JSON) since the code is wrapped in begin ... rescue block, so the failure has to do with code outside the wrapped code. I think only two places that use + has the potential to fail: in client.rb and in importer.rb, the latter is more likely to be culprit.
Cache keys used for GH importing has a TTL of 2 weeks (the code specifies 1.day but apparently it gets ignored), but I tried to check the keys of this project and found none, although the import started (and failed) a week ago, I don't know the reason behind that. However, it doesn't quite explain why the page variable would be nil since any call to increment_page has to be preceded with by one call to current_page which would make sure there's a current_page exists.
Maybe we shouldn't depend on Redis to store importing progress and use the database instead, with a job that cleans afterwards every now and then.
This will probably get fixed after this GitHub refactor is ported to the importer (at the moment it's only available for the rake task) and this follow-up is done.
@DouweM I started working on this, but I'll don't have time to finish it today. Can we move it to %9.5 in gitlab-foss ? I'll be able to push an MR at the beginning of the next week.
@Razzeee Could you add me as a collaborator on this project on GitHub? This way I can try to figure out what's going on. My GitHub handle is @dbalexandre.