Open tomaswolf opened 8 months ago
One potential stumbling stone: what are the API limits (rate limits) that our Jenkins would be subject to?
Another option would be to implement a Gerrit plugin based on its-base [1] similar to the its-jira plugin [2]. There is already an empty its-github repo [3] where this could be implemented.
Yes, that's another possibility. Don't know what would be better or easier to implement or maintain.
A Gerrit plug-in would also need an API token, which probably would have to come from the Eclipse Foundation since they own the repo/the organization? The load of doing these Github API calls would be on Gerrit, and that plug-in would need to be installed in Gerrit. It might also be subject to rate limits on the Github API. The solution would be specific to Gerrit. OTOH, it might provide an easy solution for other interested parties.
Doing it with Jenkins jobs would mean the Eclipse Foundation can set up the Jenkins credential, we could define our jobs, and the actual API calls would be off-loaded from Gerrit to some Jenkins agent (which would have to be fired up first, so overall there might be more work, but it wouldn't contribute to the load on the Gerrit server). The solution would be independent of Gerrit; only prerequisite would be that there is something in Jenkins that triggers build on Gerrit events, and that already is there.
Description
The Eclipse Foundation used to have the "Eclipse Genie" that helped maintaining traceability between Bugzilla issues and Gerrit.
We should have something similar for our GerritHub setup.
This would need a Jenkins credential for a Github token that could be used to authenticate to the Github API. Operations could then be done via curl in Jenkins jobs triggered on appropriate conditions (change pushed, merged, ...)
Motivation
Reporting Gerrit changes in issues improves traceability. Adding fixed issues to milestones gives us a way to list all issues resolved in a release.
Alternatives considered
Currently, all these operation have to be done manually, which is easy to forget.
Additional context
No response