lib/danger/ci_source/jenkins.rb in danger-2.0.1 vs lib/danger/ci_source/jenkins.rb in danger-2.1.0

- old
+ new

@@ -1,28 +1,40 @@ # https://wiki.jenkins-ci.org/display/JENKINS/Building+a+software+project#Buildingasoftwareproject-JenkinsSetEnvironmentVariables # https://wiki.jenkins-ci.org/display/JENKINS/GitHub+pull+request+builder+plugin module Danger - module CISource - # https://jenkins-ci.org - class Jenkins < CI - def self.validates?(env) - return false unless env["ghprbPullId"].to_i > 0 - return false unless env["GIT_URL"] + # https://jenkins-ci.org - return true - end + ### CI Setup + # + # Ah Jenkins, so many memories. So, if you're using Jenkins, you're hosting your own environment. You + # will want to be using the [GitHub pull request builder plugin](https://wiki.jenkins-ci.org/display/JENKINS/GitHub+pull+request+builder+plugin) + # in order to ensure that you have the build environment set up for PR integration. + # + # With that set up, you can edit your job to add `bundle exec danger` at the build action. + # + # ### Token Setup + # + # As you own the machine, it's up to you to add the enviroment variable for the `DANGER_GITHUB_API_TOKEN`. + # + class Jenkins < CI + def self.validates_as_ci?(env) + env.key? "JENKINS_URL" + end - def supported_request_sources - @supported_request_sources ||= [Danger::RequestSources::GitHub] - end + def self.validates_as_pr?(env) + ["ghprbPullId"].all? { |x| env[x] } + end - def initialize(env) - self.repo_url = env["GIT_URL"] - self.pull_request_id = env["ghprbPullId"] + def supported_request_sources + @supported_request_sources ||= [Danger::RequestSources::GitHub] + end - repo_matches = self.repo_url.match(%r{([\/:])([^\/]+\/[^\/.]+)(?:.git)?$}) - self.repo_slug = repo_matches[2] unless repo_matches.nil? - end + def initialize(env) + self.repo_url = env["GIT_URL"] + self.pull_request_id = env["ghprbPullId"] + + repo_matches = self.repo_url.match(%r{([\/:])([^\/]+\/[^\/.]+)(?:.git)?$}) + self.repo_slug = repo_matches[2] unless repo_matches.nil? end end end