Class: Danger::DangerJenkins
- Inherits:
-
Plugin
- Object
- Plugin
- Danger::DangerJenkins
- Defined in:
- lib/jenkins/plugin.rb
Overview
Get access to Jenkins information right into your Dangerfile
Constant Summary collapse
- JENKINS_ICON =
'https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png'.freeze
Instance Attribute Summary collapse
-
#api_token ⇒ Object
API token to authenticate with Jenkins REST API.
-
#user_id ⇒ Object
User to authenticate with Jenkins REST API.
Instance Method Summary collapse
-
#build ⇒ Object
Hash containing details about the build which triggered the danger process.
-
#console_html ⇒ Object
Console output in html format.
-
#console_text ⇒ Object
Console output in text format.
-
#initialize(dangerfile) ⇒ DangerJenkins
constructor
A new instance of DangerJenkins.
-
#print_artifacts ⇒ void
Adds a list of artifacts to the danger comment.
-
#print_console_output ⇒ void
Adds a collapsable console output to danger comment.
Constructor Details
#initialize(dangerfile) ⇒ DangerJenkins
Returns a new instance of DangerJenkins.
39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/jenkins/plugin.rb', line 39 def initialize(dangerfile) super(dangerfile) @env = dangerfile.env @user_id = ENV['JENKINS_USER_ID'] @api_token = ENV['JENKINS_API_TOKEN'] @build_url = ENV['BUILD_URL'] raise 'Invalid CI for Jenkins plugin.' unless jenkins? raise "Can't find current build" if @build_url.nil? end |
Instance Attribute Details
#api_token ⇒ Object
API token to authenticate with Jenkins REST API
37 38 39 |
# File 'lib/jenkins/plugin.rb', line 37 def api_token @api_token end |
#user_id ⇒ Object
User to authenticate with Jenkins REST API
32 33 34 |
# File 'lib/jenkins/plugin.rb', line 32 def user_id @user_id end |
Instance Method Details
#build ⇒ Object
Hash containing details about the build which triggered the danger process
55 56 57 |
# File 'lib/jenkins/plugin.rb', line 55 def build @current_build ||= fetch_current_build end |
#console_html ⇒ Object
Console output in html format
62 63 64 |
# File 'lib/jenkins/plugin.rb', line 62 def console_html @console_html_format ||= fetch_console(:html) end |
#console_text ⇒ Object
Console output in text format
69 70 71 |
# File 'lib/jenkins/plugin.rb', line 69 def console_text @console_text_format ||= fetch_console(:text) end |
#print_artifacts ⇒ void
This method returns an undefined value.
Adds a list of artifacts to the danger comment
77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/jenkins/plugin.rb', line 77 def print_artifacts artifacts = build.artifacts return if artifacts.empty? content = "### Jenkins artifacts:\n\n" content << "<img width='40' align='right' src='#{JENKINS_ICON}'></img>\n" artifacts.each do |artifact| content << "* #{artifact_link(artifact)}\n" end markdown content end |
#print_console_output ⇒ void
This method returns an undefined value.
Adds a collapsable console output to danger comment
95 96 97 98 99 100 101 102 |
# File 'lib/jenkins/plugin.rb', line 95 def print_console_output content = "### Jenkins console output:\n\n" content << '<details>' content << '<summary>Details</summary>' content << "<pre>#{console_html}</pre>" content << '</details>' markdown content end |