Class: Danger::Bamboo

Inherits:
CI
  • Object
show all
Defined in:
lib/danger/ci_source/bamboo.rb

Overview

CI Setup

Add a Run Script task that executes danger (or bundle exec danger if you're using Bundler to manage your gems) as your as part of your Bamboo plan. The minimum supported version is Bamboo 6.9.

Token Setup

IMPORTANT: All required Bamboo environment variables will be available only if the plan is run as part of a pull request. This can be achieved by selecting: Configure plan -> Branches -> Create plan branch: "When pull request is created". Otherwise, bamboo_repository_pr_key and bamboo_planRepository_repositoryUrl will not be available.

Instance Attribute Summary

Attributes inherited from CI

#pull_request_id, #repo_slug, #repo_url

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from CI

available_ci_sources, inherited, #supports?

Constructor Details

#initialize(env) ⇒ Bamboo

Returns a new instance of Bamboo.



36
37
38
39
40
41
# File 'lib/danger/ci_source/bamboo.rb', line 36

def initialize(env)
  self.repo_url = env["bamboo_planRepository_repositoryUrl"]
  self.pull_request_id = env["bamboo_repository_pr_key"]
  repo_matches = self.repo_url.match(%r{([/:])([^/]+/[^/]+?)(\.git$|$)})
  self.repo_slug = repo_matches[2] unless repo_matches.nil?
end

Class Method Details

.validates_as_ci?(env) ⇒ Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/danger/ci_source/bamboo.rb', line 27

def self.validates_as_ci?(env)
  env.key? "bamboo_buildKey"
end

.validates_as_pr?(env) ⇒ Boolean

Returns:

  • (Boolean)


31
32
33
34
# File 'lib/danger/ci_source/bamboo.rb', line 31

def self.validates_as_pr?(env)
  exists = ["bamboo_repository_pr_key", "bamboo_planRepository_repositoryUrl"].all? { |x| env[x] && !env[x].empty? }
  exists && env["bamboo_repository_pr_key"].to_i > 0
end

Instance Method Details

#supported_request_sourcesObject



21
22
23
24
25
# File 'lib/danger/ci_source/bamboo.rb', line 21

def supported_request_sources
  @supported_request_sources ||= [
    Danger::RequestSources::BitbucketServer
  ]
end