Class: See::Plugins::Circle
Instance Method Summary collapse
- #config_name ⇒ Object
- #display_name ⇒ Object
- #latest_builds(account, repository, lines) ⇒ Object
- #run(config, plugin_config) ⇒ Object
Methods inherited from Plugin
Instance Method Details
#config_name ⇒ Object
11 12 13 |
# File 'lib/see/plugins/circle.rb', line 11 def config_name 'circle' end |
#display_name ⇒ Object
7 8 9 |
# File 'lib/see/plugins/circle.rb', line 7 def display_name 'CircleCi' end |
#latest_builds(account, repository, lines) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/see/plugins/circle.rb', line 15 def latest_builds(account, repository, lines) token = access_token('CIRCLE_CI_ACCESS_TOKEN') CircleCi.configure do |cfg| cfg.token = token end response = CircleCi::Project.recent_builds(account, repository) if response.errors.length > 0 lines << " Errors encountered:".red response.errors.each do |error| lines << " - " + "Error #{error.code}:".red + " #{JSON.parse(error.)['message'].strip}" raise end end response.body[0..4] end |
#run(config, plugin_config) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/see/plugins/circle.rb', line 33 def run(config, plugin_config) lines = [] begin builds = latest_builds(plugin_config['account'], plugin_config['repository'], lines) rescue => error return lines end lines << " Latest Builds:".light_blue lines << builds.map do |build| time = "- #{Date.parse(build['committer_date']).strftime("%b %e,%l:%M %p")}".black if build['committer_date'] was_bad = build['status'].match(/failed|not_run/) status = build['status'].capitalize.send(was_bad ? :red : :green) name = "[#{build['committer_name']}]".cyan ||= '' commit_id = build["vcs_revision"][0..8].light_yellow build_number = ("#"+build['build_num'].to_s).light_green " - #{status} #{commit_id} #{build_number} #{build['subject']} #{name} #{time}" end lines end |