Craig Rodrigues: For GitHub, this would require you have an internal Web Service Git Hook server, as neither github.com nor self hosted enterprise has support for server side hooks.
- I use the Workflow plugin to wrap 3 jobs: Checkout 1, Checkout 2, Build
- I have a GitHook server which is called by a GitHub Hook on push or merge request.
- This web service then calls the Jenkins job mentioned above.
Small companies cannot afford to maintain a GitHub Hook webserver and depend upon Jenkins capabilities.
Specific limitations of Jenkins even when using this "proof-of-concept" multi-scm plugin:
- Jenkins has job / env vars for only 1 GIT repo.
- The HTML display just says "Git Build Data" and "No Tags" for each repo. I must iterate through each of these links to find the repo I'm interested in.
- The order of the repos in the list is critical to which env var Jenkins picks up.
If the Jenkins team is proposing their team does not work with GitHub / CI, this solution is good to go. Otherwise, the team needs to rethink the solution.