Class: Dependabot::PullRequestCreator::Github
- Inherits:
-
Object
- Object
- Dependabot::PullRequestCreator::Github
- Extended by:
- T::Sig
- Defined in:
- lib/dependabot/pull_request_creator/github.rb
Overview
rubocop:disable Metrics/ClassLength
Constant Summary collapse
- PR_DESCRIPTION_MAX_LENGTH =
GitHub limits PR descriptions to a max of 65,536 characters: github.com/orgs/community/discussions/27190#discussioncomment-3726017
65_535
Instance Attribute Summary collapse
-
#assignees ⇒ Object
readonly
Returns the value of attribute assignees.
-
#author_details ⇒ Object
readonly
Returns the value of attribute author_details.
-
#base_commit ⇒ Object
readonly
Returns the value of attribute base_commit.
-
#branch_name ⇒ Object
readonly
Returns the value of attribute branch_name.
-
#commit_message ⇒ Object
readonly
Returns the value of attribute commit_message.
-
#credentials ⇒ Object
readonly
Returns the value of attribute credentials.
-
#custom_headers ⇒ Object
readonly
Returns the value of attribute custom_headers.
-
#files ⇒ Object
readonly
Returns the value of attribute files.
-
#labeler ⇒ Object
readonly
Returns the value of attribute labeler.
-
#milestone ⇒ Object
readonly
Returns the value of attribute milestone.
-
#pr_description ⇒ Object
readonly
Returns the value of attribute pr_description.
-
#pr_name ⇒ Object
readonly
Returns the value of attribute pr_name.
-
#reviewers ⇒ Object
readonly
Returns the value of attribute reviewers.
-
#signature_key ⇒ Object
readonly
Returns the value of attribute signature_key.
-
#source ⇒ Object
readonly
Returns the value of attribute source.
Instance Method Summary collapse
- #create ⇒ Object
-
#initialize(source:, branch_name:, base_commit:, credentials:, files:, commit_message:, pr_description:, pr_name:, author_details:, signature_key:, custom_headers:, labeler:, reviewers:, assignees:, milestone:, require_up_to_date_base:) ⇒ Github
constructor
A new instance of Github.
Constructor Details
#initialize(source:, branch_name:, base_commit:, credentials:, files:, commit_message:, pr_description:, pr_name:, author_details:, signature_key:, custom_headers:, labeler:, reviewers:, assignees:, milestone:, require_up_to_date_base:) ⇒ Github
88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
# File 'lib/dependabot/pull_request_creator/github.rb', line 88 def initialize( source:, branch_name:, base_commit:, credentials:, files:, commit_message:, pr_description:, pr_name:, author_details:, signature_key:, custom_headers:, labeler:, reviewers:, assignees:, milestone:, require_up_to_date_base: ) @source = source @branch_name = branch_name @base_commit = base_commit @credentials = credentials @files = files @commit_message = @pr_description = pr_description @pr_name = pr_name @author_details = @signature_key = signature_key @custom_headers = custom_headers @labeler = labeler @reviewers = reviewers @assignees = assignees @milestone = milestone @require_up_to_date_base = require_up_to_date_base end |
Instance Attribute Details
#assignees ⇒ Object (readonly)
Returns the value of attribute assignees.
62 63 64 |
# File 'lib/dependabot/pull_request_creator/github.rb', line 62 def assignees @assignees end |
#author_details ⇒ Object (readonly)
Returns the value of attribute author_details.
47 48 49 |
# File 'lib/dependabot/pull_request_creator/github.rb', line 47 def @author_details end |
#base_commit ⇒ Object (readonly)
Returns the value of attribute base_commit.
29 30 31 |
# File 'lib/dependabot/pull_request_creator/github.rb', line 29 def base_commit @base_commit end |
#branch_name ⇒ Object (readonly)
Returns the value of attribute branch_name.
26 27 28 |
# File 'lib/dependabot/pull_request_creator/github.rb', line 26 def branch_name @branch_name end |
#commit_message ⇒ Object (readonly)
Returns the value of attribute commit_message.
44 45 46 |
# File 'lib/dependabot/pull_request_creator/github.rb', line 44 def @commit_message end |
#credentials ⇒ Object (readonly)
Returns the value of attribute credentials.
32 33 34 |
# File 'lib/dependabot/pull_request_creator/github.rb', line 32 def credentials @credentials end |
#custom_headers ⇒ Object (readonly)
Returns the value of attribute custom_headers.
53 54 55 |
# File 'lib/dependabot/pull_request_creator/github.rb', line 53 def custom_headers @custom_headers end |
#files ⇒ Object (readonly)
Returns the value of attribute files.
35 36 37 |
# File 'lib/dependabot/pull_request_creator/github.rb', line 35 def files @files end |
#labeler ⇒ Object (readonly)
Returns the value of attribute labeler.
56 57 58 |
# File 'lib/dependabot/pull_request_creator/github.rb', line 56 def labeler @labeler end |
#milestone ⇒ Object (readonly)
Returns the value of attribute milestone.
65 66 67 |
# File 'lib/dependabot/pull_request_creator/github.rb', line 65 def milestone @milestone end |
#pr_description ⇒ Object (readonly)
Returns the value of attribute pr_description.
38 39 40 |
# File 'lib/dependabot/pull_request_creator/github.rb', line 38 def pr_description @pr_description end |
#pr_name ⇒ Object (readonly)
Returns the value of attribute pr_name.
41 42 43 |
# File 'lib/dependabot/pull_request_creator/github.rb', line 41 def pr_name @pr_name end |
#reviewers ⇒ Object (readonly)
Returns the value of attribute reviewers.
59 60 61 |
# File 'lib/dependabot/pull_request_creator/github.rb', line 59 def reviewers @reviewers end |
#signature_key ⇒ Object (readonly)
Returns the value of attribute signature_key.
50 51 52 |
# File 'lib/dependabot/pull_request_creator/github.rb', line 50 def signature_key @signature_key end |
#source ⇒ Object (readonly)
Returns the value of attribute source.
23 24 25 |
# File 'lib/dependabot/pull_request_creator/github.rb', line 23 def source @source end |
Instance Method Details
#create ⇒ Object
125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 |
# File 'lib/dependabot/pull_request_creator/github.rb', line 125 def create Dependabot.logger.info( "Initiating Github pull request." ) if branch_exists?(branch_name) && no_pull_request_exists? Dependabot.logger.info( "Existing branch \"#{branch_name}\" found. Pull request not created." ) raise BranchAlreadyExists, "Duplicate branch #{branch_name} already exists" end if branch_exists?(branch_name) && open_pull_request_exists? raise UnmergedPRExists, "PR ##{open_pull_requests.first.number} already exists" end if require_up_to_date_base? && !base_commit_is_up_to_date? raise BaseCommitNotUpToDate, "HEAD #{head_commit} does not match base #{base_commit}" end create_annotated_pull_request rescue AnnotationError, Octokit::Error => e handle_error(e) end |