Class: Dependabot::PullRequestCreator::Labeler
- Inherits:
-
Object
- Object
- Dependabot::PullRequestCreator::Labeler
- Defined in:
- lib/dependabot/pull_request_creator/labeler.rb
Constant Summary collapse
- DEPENDENCIES_LABEL_REGEX =
%r{^[^/]*dependenc[^/]+$}i.freeze
- LANGUAGE_LABEL_DETAILS =
{ "bundler" => { name: "ruby", colour: "ce2d2d" }, "submodules" => { name: "submodules", colour: "000000" }, "docker" => { name: "docker", colour: "21ceff" }, "terraform" => { name: "terraform", colour: "5C4EE5" }, "nuget" => { name: ".NET", colour: "7121c6" }, "maven" => { name: "java", colour: "ffa221" }, "gradle" => { name: "java", colour: "ffa221" }, "npm_and_yarn" => { name: "javascript", colour: "168700" }, "pip" => { name: "python", colour: "2b67c6" }, "composer" => { name: "php", colour: "45229e" }, "hex" => { name: "elixir", colour: "9380dd" }, "cargo" => { name: "rust", colour: "000000" }, "dep" => { name: "go", colour: "16e2e2" }, "go_modules" => { name: "go", colour: "16e2e2" }, "elm" => { name: "elm", colour: "76d3f2" } }.freeze
Instance Method Summary collapse
- #create_default_labels_if_required ⇒ Object
-
#initialize(source:, custom_labels:, credentials:, dependencies:, includes_security_fixes:, label_language:) ⇒ Labeler
constructor
A new instance of Labeler.
- #label_pull_request(pull_request_number) ⇒ Object
- #labels_for_pr ⇒ Object
Constructor Details
#initialize(source:, custom_labels:, credentials:, dependencies:, includes_security_fixes:, label_language:) ⇒ Labeler
Returns a new instance of Labeler.
30 31 32 33 34 35 36 37 38 |
# File 'lib/dependabot/pull_request_creator/labeler.rb', line 30 def initialize(source:, custom_labels:, credentials:, dependencies:, includes_security_fixes:, label_language:) @source = source @custom_labels = custom_labels @credentials = credentials @dependencies = dependencies @includes_security_fixes = includes_security_fixes @label_language = label_language end |
Instance Method Details
#create_default_labels_if_required ⇒ Object
40 41 42 43 44 |
# File 'lib/dependabot/pull_request_creator/labeler.rb', line 40 def create_default_labels_if_required create_default_dependencies_label_if_required create_default_security_label_if_required create_default_language_label_if_required end |
#label_pull_request(pull_request_number) ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/dependabot/pull_request_creator/labeler.rb', line 54 def label_pull_request(pull_request_number) create_default_labels_if_required return if labels_for_pr.none? raise "Only GitHub!" unless source.provider == "github" github_client_for_source.add_labels_to_an_issue( source.repo, pull_request_number, labels_for_pr ) rescue Octokit::UnprocessableEntity ||= false raise if = true retry end |
#labels_for_pr ⇒ Object
46 47 48 49 50 51 52 |
# File 'lib/dependabot/pull_request_creator/labeler.rb', line 46 def labels_for_pr [ *default_labels_for_pr, includes_security_fixes? ? security_label : nil, semver_labels_exist? ? semver_label : nil ].compact.uniq end |