Child pages
  • GitHub pull request builder plugin

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Install the plugin.
  • Go to "Manage Jenkins" -> "Configure System" -> "Github pull requests builder" section.
  • If you are using Enterprise GitHub set the server api URL in "Github server api URL". Otherwise leave there "https://api.github.com".
  • Set your 'bot' user's Access Token.
    • If you don't have generated your access token you can generate one in "Advanced...".
      • Set your 'bot' user's GitHub username and password.
      • Press the "Create Access Token" button
      • Copy the generated Access Token into the field "Access Token"
      • Clear the username and password fields
    • If you don't want to use Access Token leve leave the field empty and fill the username and password in "Advanced...".
  • Add GitHub usernames of admins (these usernames will be used as defaults in new jobs).
  • Under Advanced, you can modify:
    • The phrase for adding users to the whitelist via comment. (Java regexp)
    • The phrase for accepting a pullrequest for testing. (Java regexp)
    • The phrase for starting a new build. (Java regexp)
    • The crontab line. This specify default setting for new jobs.
    • The target branch whitelist.  This allows you to test only pull requests targeted for the branches in this list.
    • If you want to get comments posted to GitHub for each build, fill the "Published Jenkins URL", if you only want to use the GitHub status API, leave it empty.
  • Save to preserve your changes.
  • Allow raw HTML rendering. (See JENKINS-22028)
    • Manage Jenkins > Configure Global Security > Under "markup formatter", set to "raw HTML"

Creating job:

  • Create a new job.
  • Add the project's GitHub URL to the "GitHub project" field (the one you can enter into browser. eg: "https://github.com/janinko/ghprb")
  • Select Git SCM.
  • Add your GitHub "Repository URL".
  • Under Advanced, set "refspec" to
    Code Block
    +refs/pull/*:refs/remotes/origin/pr/*
  • In "Branch Specifier", enter "${sha1}".
  • Under "Build Triggers", check "Github pull requests builder".
    • Add admins for this specific job.
    • If you want to use GitHub hooks for automatic testing, read the help for "Use github hooks for build triggering" in job configuration. Then you can check the checkbox.
    • In Advanced, you can modify:
      • The crontab line for this specific job. This schedules polling to GitHub for new changes in Pull Requests.
      • The whitelisted users for this specific job.
      • The organisation names whose members are considered whitelisted for this specific job.
  • Save to preserve your changes.
    Make sure you DON'T have "Prune remote branches before build" advanced option selected, since it will prune the branch created to test this build.

...