Class: Dependabot::PullRequestCreator::Bitbucket

Inherits:
Object
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/dependabot/pull_request_creator/bitbucket.rb

Constant Summary collapse

PR_DESCRIPTION_MAX_LENGTH =

BitBucket Cloud accepts > 1MB characters, but they display poorly in the UI, so limiting to 4x 65,536

262_143

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(source:, branch_name:, base_commit:, credentials:, files:, commit_message:, pr_description:, pr_name:, author_details:, labeler: nil, work_item: nil) ⇒ Bitbucket

Returns a new instance of Bitbucket.



68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/dependabot/pull_request_creator/bitbucket.rb', line 68

def initialize(source:, branch_name:, base_commit:, credentials:,
               files:, commit_message:, pr_description:, pr_name:,
               author_details:, labeler: nil, work_item: nil)
  @source         = source
  @branch_name    = branch_name
  @base_commit    = base_commit
  @credentials    = credentials
  @files          = files
  @commit_message = commit_message
  @pr_description = pr_description
  @pr_name        = pr_name
  @author_details = author_details
  @labeler        = labeler
  @work_item      = work_item
end

Instance Attribute Details

#author_detailsObject (readonly)

Returns the value of attribute author_details.



41
42
43
# File 'lib/dependabot/pull_request_creator/bitbucket.rb', line 41

def author_details
  @author_details
end

#base_commitObject (readonly)

Returns the value of attribute base_commit.



23
24
25
# File 'lib/dependabot/pull_request_creator/bitbucket.rb', line 23

def base_commit
  @base_commit
end

#branch_nameObject (readonly)

Returns the value of attribute branch_name.



20
21
22
# File 'lib/dependabot/pull_request_creator/bitbucket.rb', line 20

def branch_name
  @branch_name
end

#commit_messageObject (readonly)

Returns the value of attribute commit_message.



32
33
34
# File 'lib/dependabot/pull_request_creator/bitbucket.rb', line 32

def commit_message
  @commit_message
end

#credentialsObject (readonly)

Returns the value of attribute credentials.



26
27
28
# File 'lib/dependabot/pull_request_creator/bitbucket.rb', line 26

def credentials
  @credentials
end

#filesObject (readonly)

Returns the value of attribute files.



29
30
31
# File 'lib/dependabot/pull_request_creator/bitbucket.rb', line 29

def files
  @files
end

#labelerObject (readonly)

Returns the value of attribute labeler.



44
45
46
# File 'lib/dependabot/pull_request_creator/bitbucket.rb', line 44

def labeler
  @labeler
end

#pr_descriptionObject (readonly)

Returns the value of attribute pr_description.



35
36
37
# File 'lib/dependabot/pull_request_creator/bitbucket.rb', line 35

def pr_description
  @pr_description
end

#pr_nameObject (readonly)

Returns the value of attribute pr_name.



38
39
40
# File 'lib/dependabot/pull_request_creator/bitbucket.rb', line 38

def pr_name
  @pr_name
end

#sourceObject (readonly)

Returns the value of attribute source.



17
18
19
# File 'lib/dependabot/pull_request_creator/bitbucket.rb', line 17

def source
  @source
end

#work_itemObject (readonly)

Returns the value of attribute work_item.



47
48
49
# File 'lib/dependabot/pull_request_creator/bitbucket.rb', line 47

def work_item
  @work_item
end

Instance Method Details

#createObject



85
86
87
88
89
90
91
92
93
94
# File 'lib/dependabot/pull_request_creator/bitbucket.rb', line 85

def create
  return if branch_exists? && pull_request_exists?

  # FIXME: Copied from Azure, but not verified whether this is true
  # For Bitbucket we create or update a branch in the same request as creating
  # a commit (so we don't need create or update branch logic here)
  create_commit

  create_pull_request
end