Class: Danger::DangerfileBitbucketServerPlugin
- Defined in:
- lib/danger/danger_core/plugins/dangerfile_bitbucket_server_plugin.rb
Overview
Handles interacting with Bitbucket Server inside a Dangerfile. Provides a few functions which wrap ‘pr_json` and also through a few standard functions to simplify your code.
Bitbucket Server Misc collapse
-
#html_link(paths, full_path: true) ⇒ String
Returns a list of Markdown links for a file, or files in the head repository.
-
#markdown_link(paths, full_path: true) ⇒ String
Returns a list of Markdown links for a file, or files in the head repository.
-
#pr_json ⇒ Hash
The hash that represents the PR’s JSON.
-
#update_pr_build_status(status, build_job_link, description) ⇒ String
Updates the PR with build status and build server job link.
PR Metadata collapse
-
#pr_author ⇒ String
The username of the author of the Pull Request.
-
#pr_description ⇒ String
(also: #pr_body)
The body text of the Pull Request.
-
#pr_title ⇒ String
The title of the Pull Request.
PR Commit Metadata collapse
-
#base_commit ⇒ String
The base commit to which the PR is going to be merged as a parent.
-
#branch_for_base ⇒ String
The branch to which the PR is going to be merged into.
-
#branch_for_head ⇒ String
The branch to which the PR is going to be merged from.
-
#head_commit ⇒ String
The head commit to which the PR is requesting to be merged from.
-
#pr_link ⇒ String
A href that represents the current PR.
Class Method Summary collapse
-
.instance_name ⇒ String
The instance name used in the Dangerfile.
-
.new(dangerfile) ⇒ Object
So that this init can fail.
Instance Method Summary collapse
-
#initialize(dangerfile) ⇒ DangerfileBitbucketServerPlugin
constructor
A new instance of DangerfileBitbucketServerPlugin.
Methods inherited from Plugin
all_plugins, clear_external_plugins, inherited, #method_missing
Constructor Details
#initialize(dangerfile) ⇒ DangerfileBitbucketServerPlugin
Returns a new instance of DangerfileBitbucketServerPlugin.
64 65 66 67 |
# File 'lib/danger/danger_core/plugins/dangerfile_bitbucket_server_plugin.rb', line 64 def initialize(dangerfile) super(dangerfile) @bs = dangerfile.env.request_source end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Danger::Plugin
Class Method Details
.instance_name ⇒ String
The instance name used in the Dangerfile
60 61 62 |
# File 'lib/danger/danger_core/plugins/dangerfile_bitbucket_server_plugin.rb', line 60 def self.instance_name "bitbucket_server" end |
.new(dangerfile) ⇒ Object
So that this init can fail.
51 52 53 54 55 |
# File 'lib/danger/danger_core/plugins/dangerfile_bitbucket_server_plugin.rb', line 51 def self.new(dangerfile) return nil if dangerfile.env.request_source.class != Danger::RequestSources::BitbucketServer super end |
Instance Method Details
#base_commit ⇒ String
The base commit to which the PR is going to be merged as a parent.
130 131 132 |
# File 'lib/danger/danger_core/plugins/dangerfile_bitbucket_server_plugin.rb', line 130 def base_commit @bs.pr_json[:toRef][:latestCommit].to_s end |
#branch_for_base ⇒ String
The branch to which the PR is going to be merged into.
106 107 108 |
# File 'lib/danger/danger_core/plugins/dangerfile_bitbucket_server_plugin.rb', line 106 def branch_for_base @bs.pr_json[:toRef][:displayId].to_s end |
#branch_for_head ⇒ String
The branch to which the PR is going to be merged from.
122 123 124 |
# File 'lib/danger/danger_core/plugins/dangerfile_bitbucket_server_plugin.rb', line 122 def branch_for_head @bs.pr_json[:fromRef][:displayId].to_s end |
#head_commit ⇒ String
The head commit to which the PR is requesting to be merged from.
138 139 140 |
# File 'lib/danger/danger_core/plugins/dangerfile_bitbucket_server_plugin.rb', line 138 def head_commit @bs.pr_json[:fromRef][:latestCommit].to_s end |
#html_link(paths, full_path: true) ⇒ String
Atlassian [disabled inline HTML support](jira.atlassian.com/browse/BSERV-7147). This method method left for backward compatibility.
Returns a list of Markdown links for a file, or files in the head repository. It returns a string of multiple anchors if passed an array.
154 155 156 |
# File 'lib/danger/danger_core/plugins/dangerfile_bitbucket_server_plugin.rb', line 154 def html_link(paths, full_path: true) markdown_link(paths, full_path: full_path) end |
#markdown_link(paths, full_path: true) ⇒ String
Returns a list of Markdown links for a file, or files in the head repository. It returns a string of multiple links if passed an array.
168 169 170 |
# File 'lib/danger/danger_core/plugins/dangerfile_bitbucket_server_plugin.rb', line 168 def markdown_link(paths, full_path: true) create_link(paths, full_path) { |href, text| create_markdown_link(href, text) } end |
#pr_author ⇒ String
The username of the author of the Pull Request.
98 99 100 |
# File 'lib/danger/danger_core/plugins/dangerfile_bitbucket_server_plugin.rb', line 98 def @bs.pr_json[:author][:user][:slug].to_s end |
#pr_description ⇒ String Also known as: pr_body
The body text of the Pull Request.
89 90 91 |
# File 'lib/danger/danger_core/plugins/dangerfile_bitbucket_server_plugin.rb', line 89 def pr_description @bs.pr_json[:description].to_s end |
#pr_json ⇒ Hash
The hash that represents the PR’s JSON. For an example of what this looks like see the [Danger Fixture’d one](raw.githubusercontent.com/danger/danger/master/spec/fixtures/bitbucket_server_api/pr_response.json).
73 74 75 |
# File 'lib/danger/danger_core/plugins/dangerfile_bitbucket_server_plugin.rb', line 73 def pr_json @bs.pr_json end |
#pr_link ⇒ String
A href that represents the current PR
114 115 116 |
# File 'lib/danger/danger_core/plugins/dangerfile_bitbucket_server_plugin.rb', line 114 def pr_link @bs.pr_json[:links][:self].flat_map { |l| l[:href] }.first.to_s end |
#pr_title ⇒ String
The title of the Pull Request.
81 82 83 |
# File 'lib/danger/danger_core/plugins/dangerfile_bitbucket_server_plugin.rb', line 81 def pr_title @bs.pr_json[:title].to_s end |
#update_pr_build_status(status, build_job_link, description) ⇒ String
Updates the PR with build status and build server job link.
182 183 184 |
# File 'lib/danger/danger_core/plugins/dangerfile_bitbucket_server_plugin.rb', line 182 def update_pr_build_status(status, build_job_link, description) @bs.update_pr_build_status(status, build_job_link, description) end |