We usually work on several parallel branches of a repo on github, and we wanted to be able to build and test any branch on demand.
So we set up a parameterised job in Jenkins that will take the name of a branch and run the build process.
As for all github builds, you need to have installed the git plugin first (https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin) and set up your github globals in the Jenkins settings:
Then set up a parameterized build job with the repo as the GitHub project and with "branch" as the parameter to be specified:
and in the Source Code Management section, add the parameter to the "Branches to build":
Now you can build any branch just by giving the branch name as the required parameter when the job is started.