Module: Datadog::CI::Ext::Environment::Providers

Defined in:
lib/datadog/ci/ext/environment/providers.rb,
lib/datadog/ci/ext/environment/providers/base.rb,
lib/datadog/ci/ext/environment/providers/azure.rb,
lib/datadog/ci/ext/environment/providers/buddy.rb,
lib/datadog/ci/ext/environment/providers/gitlab.rb,
lib/datadog/ci/ext/environment/providers/travis.rb,
lib/datadog/ci/ext/environment/providers/bitrise.rb,
lib/datadog/ci/ext/environment/providers/jenkins.rb,
lib/datadog/ci/ext/environment/providers/appveyor.rb,
lib/datadog/ci/ext/environment/providers/circleci.rb,
lib/datadog/ci/ext/environment/providers/teamcity.rb,
lib/datadog/ci/ext/environment/providers/bitbucket.rb,
lib/datadog/ci/ext/environment/providers/buildkite.rb,
lib/datadog/ci/ext/environment/providers/codefresh.rb,
lib/datadog/ci/ext/environment/providers/local_git.rb,
lib/datadog/ci/ext/environment/providers/github_actions.rb,
lib/datadog/ci/ext/environment/providers/user_defined_tags.rb

Defined Under Namespace

Classes: Appveyor, Azure, Base, Bitbucket, Bitrise, Buddy, Buildkite, Circleci, Codefresh, GithubActions, Gitlab, Jenkins, LocalGit, Teamcity, Travis, UserDefinedTags

Constant Summary collapse

PROVIDERS =
[
  ["APPVEYOR", Providers::Appveyor],
  ["TF_BUILD", Providers::Azure],
  ["BITBUCKET_COMMIT", Providers::Bitbucket],
  ["BITRISE_BUILD_SLUG", Providers::Bitrise],
  ["BUDDY", Providers::Buddy],
  ["BUILDKITE", Providers::Buildkite],
  ["CIRCLECI", Providers::Circleci],
  ["CF_BUILD_ID", Providers::Codefresh],
  ["GITHUB_SHA", Providers::GithubActions],
  ["GITLAB_CI", Providers::Gitlab],
  ["JENKINS_URL", Providers::Jenkins],
  ["TEAMCITY_VERSION", Providers::Teamcity],
  ["TRAVIS", Providers::Travis]
]

Class Method Summary collapse

Class Method Details

.for_environment(env) ⇒ Object



42
43
44
45
46
47
# File 'lib/datadog/ci/ext/environment/providers.rb', line 42

def self.for_environment(env)
  _, provider_klass = PROVIDERS.find { |provider_env_var, _| env.key?(provider_env_var) }
  provider_klass = Providers::Base if provider_klass.nil?

  provider_klass.new(env)
end