class Danger::XcodeServer
### CI
Setup
If you’re bold enough to use Xcode Bots. You will need to use [Buildasaur](github.com/czechboy0/Buildasaur) in order to work with Danger
. This will set up your build environment for you, as the name of the bot contains all of the environment variables that Danger
needs to work.
With Buildasaur set up, you can edit your job to add ‘bundle exec danger` as a post-action build script.
### Token Setup
As this is self-hosted, you will need to add the ‘DANGER_GITHUB_API_TOKEN` to your build user’s ENV. The alternative is to pass in the token as a prefix to the command ‘DANGER_GITHUB_API_TOKEN=“123” bundle exec danger`.`.
Public Class Methods
new(env)
click to toggle source
# File lib/danger/ci_source/xcode_server.rb, line 37 def initialize(env) bot_name = env["XCS_BOT_NAME"] return if bot_name.nil? repo_matches = bot_name.match(/\[(.+)\]/) self.repo_slug = repo_matches[1] unless repo_matches.nil? pull_request_id_matches = bot_name.match(/#(\d+)/) self.pull_request_id = pull_request_id_matches[1] unless pull_request_id_matches.nil? self.repo_url = GitRepo.new.origins # Xcode Server doesn't provide a repo url env variable :/ end
validates_as_ci?(env)
click to toggle source
# File lib/danger/ci_source/xcode_server.rb, line 20 def self.validates_as_ci?(env) env.key? "XCS_BOT_NAME" end
validates_as_pr?(env)
click to toggle source
# File lib/danger/ci_source/xcode_server.rb, line 24 def self.validates_as_pr?(env) value = env["XCS_BOT_NAME"] !value.nil? && value.include?("BuildaBot") end
Public Instance Methods
supported_request_sources()
click to toggle source
# File lib/danger/ci_source/xcode_server.rb, line 29 def supported_request_sources @supported_request_sources ||= [ Danger::RequestSources::GitHub, Danger::RequestSources::BitbucketServer, Danger::RequestSources::BitbucketCloud ] end