Hi jQA maintainers (and contributors from Kontext-E),
I have found the time to look into this proposal (time by time over the last 5 months). 
Meanwhile, I came up with a (large) refactoring of the Buschmais jQA GitHub Plugin. It is now based on the Kontext-E Git Plugin by re-using the existing Neo4j model.
This allows to first perform a local scan of a clone of the repository, which is way faster than retrieving commits from GitHub (and relieves the rate limiting).
Additionally, I have implemented several changes and improvements
- Scan for all (remote) branches, not just the default (or configured) branch
- Retrieve Git commits from GitHub if necessary on demand (if not provided by local repository). This should enable GH only scans (without prior scanning of a local clone) - the refactored implementation would stay compatible with the existing implementation. Remote commit retrieval is necessary anyways as the commits may not exist in a local clone, e.g., when coming from PRs or additional forks of the GH repository.
- Pre-Load all remote commits from GitHub for branches, tags and pull-requests. Upto now, those linked lists of commits (via parent relationship) was retrieved one-by-one in a recursive manner. This was not only time consuming (one remote call per commit), but lead to stack overflows for large collections. Now the implementation uses bulk retrieval calls for such collections from the underlying framework.
- More sophisticated error handling for missing remote entities, e.g., if a different (forked) remote repository of a pull request was not available anymore (deleted meanwhile) the import was aborted with a RuntimeException.
However, there are still open points and my work requires thorough review. I just wanted to get in touch with you before investing even more work.
I could use my implementation to insert all (> 100) Apache Maven projects into a jQA instance, which was never possible with the given implementation (besides a lack of features like the import of all branches).
I’d be happy if you would incorporate my changes into the existing repository (or even further merge it with the Git plugin). Otherwise I would create (and try to maintain) a fork as I see many benefits in my improvements.
Cheers
  Gerd