class Danger::Bitrise


The patterns used are ‘(%r{.com/(.*)})` and `(%r{.com:(.*)})` and .split(/.git$|$/) to remove “.git” if the URL contains it.
Git Clone Repo step, you may need to set adjust this property in the settings tab, maybe even fake it.
comes from the App Settings tab for your Bitrise App. If you are manually setting a repo URL in the
finding the project and repo slug in the GIT_REPOSITORY_URL variable. This GIT_REPOSITORY_URL variable
Danger will read the environment variable GIT_REPOSITORY_URL to construct the Bitbucket Server API URL
### bitbucket server and bitrise
Add the `DANGER_GITHUB_API_TOKEN` to your workflow’s [Secret App Env Vars](blog.bitrise.io/anyone-even-prs-can-have-secrets).
### Token Setup
“‘
bundle exec danger
bundle install
- content: |-
inputs:
- script@1.1.2:
“`yml
Add a script step to your workflow:
### CI Setup

def self.validates_as_ci?(env)

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

def self.validates_as_pr?(env)

def self.validates_as_pr?(env)
  return !env["BITRISE_PULL_REQUEST"].to_s.empty?
end

def initialize(env)

def initialize(env)
  self.pull_request_id = env["BITRISE_PULL_REQUEST"]
  self.repo_url = env["GIT_REPOSITORY_URL"]
  matcher_url = self.repo_url
  self.repo_slug = repo_slug_from(self.repo_url)
end

def repo_slug_asgiturl(url)

def repo_slug_asgiturl(url)
  matcher_url = url
  repo_matches = matcher_url.match(%r{([/:])(([^/]+/)+[^/]+?)(\.git$|$)})[2]
  return repo_matches unless repo_matches.nil?
end

def repo_slug_from(url)

def repo_slug_from(url)
  if url =~ URI::DEFAULT_PARSER.make_regexp
    # Try to parse the URL as a valid URI. This should cover the cases of http/https/ssh URLs.
    begin
      uri = URI.parse(url)
      return uri.path.sub(%r{^(/)}, "").sub(/(.git)$/, "")
    rescue URI::InvalidURIError
      # In case URL could not be parsed fallback to git URL parsing.
      repo_slug_asgiturl(url)
    end
  else
    # In case URL could not be parsed fallback to git URL parsing. git@github.com:organization/repo.git
    repo_slug_asgiturl(url)
  end
end

def supported_request_sources

def supported_request_sources
  @supported_request_sources ||= [
    Danger::RequestSources::GitHub,
    Danger::RequestSources::GitLab,
    Danger::RequestSources::BitbucketServer,
    Danger::RequestSources::BitbucketCloud
  ]
end