module LitaBambooHelper::Plan

Public Instance Methods

add_build_label(build_id, label) click to toggle source
# File lib/bamboohelper/plans.rb, line 145
def add_build_label(build_id, label)
  url = "#{config.url}/result/#{build_id}/label"
  payload = {'name' =>  "#{label}"}
  headers = {'Content-Type'=> 'application/json'}
  info = []
  begin
    RestClient::Request.execute(:url => url, :verify_ssl => config.verify_ssl, :method=> :post, :payload =>payload, :headers => headers )
    true
  rescue Exception=>e
    raise "Error to add label to build result :#{e.message}"
  end
end
delete_build_label(build_id, label) click to toggle source
# File lib/bamboohelper/plans.rb, line 158
def delete_build_label(build_id, label)
  url = "#{config.url}/result/#{build_id}/#{label}"
  begin
    RestClient::Request.execute(:url => url, :verify_ssl => config.verify_ssl, :method=> :delete )
    true
  rescue Exception=>e
    raise "Error to delete label from build result :#{e.message}"
  end
end
dequeue_plan(build_id) click to toggle source
# File lib/bamboohelper/plans.rb, line 81
def dequeue_plan(build_id)
  url = "#{config.url}/queue/#{build_id}?os_authType=basic"
  begin
    response = RestClient::Request.execute(:url => url, :verify_ssl => config.verify_ssl, :method=> :delete, user: config.user, password: config.password)
    if response.code == 200
      true
    else
      false
    end
  rescue Exception=>e
    raise "Error to dequeue plan build #{build_id} :#{e.message}"
  end
end
get_build_labels(build_id) click to toggle source
# File lib/bamboohelper/plans.rb, line 128
def get_build_labels(build_id)
  url = "#{config.url}/result/#{build_id}/label.json"
  info = []
  begin
    response = RestClient::Request.execute(:url => url, :verify_ssl => config.verify_ssl, :method=> :get)
    json_response = JSON.parse(response)
    if json_response['labels']['label']
      json_response['labels']['label'].each do |result|
        info << "[#{result['name']}]"
      end
    end
  rescue Exception=>e
    raise "Error to list build queue :#{e.message}"
  end
  info.join(',')
end
get_server_info() click to toggle source
# File lib/bamboohelper/plans.rb, line 112
def get_server_info
  url = "#{config.url}/info.json?os_authType=basic"
  info = {}
  begin
    response = RestClient::Request.execute(:url => url, :verify_ssl => config.verify_ssl, :method=> :get, user: config.user, password: config.password)
    info = JSON.parse(response)
  rescue Exception=>e
    raise "Error to get server info :#{e.message}"
  end
end
get_server_version() click to toggle source
# File lib/bamboohelper/plans.rb, line 123
def get_server_version
  info = get_server_info
  info['version']
end
list_plan_build(plan_id, last=1) click to toggle source
# File lib/bamboohelper/plans.rb, line 39
def list_plan_build(plan_id, last=1)
  count =last -1
  if count<0
    count=0
  end
  puts "***#{count}"
  url = "#{config.url}/result/#{plan_id}.json?expand=results[0:#{count}].result.labels"
  info = []
  begin
    response = RestClient::Request.execute(:url => url, :verify_ssl => config.verify_ssl, :method=> :get)
    json_response = JSON.parse(response)
    if json_response['results']['result']
      json_response['results']['result'].each do |result|
        labels = []
        if result['labels']['label']
          result['labels']['label'].each do |label|
            labels << label['name']
          end
        end
        info << "[#{result['buildResultKey']}] : Successful=#{result['successful'] ? 'T' : 'F'} Finished=#{result['finished'] ? 'T' : 'F'} NotRunYet=#{result['notRunYet'] ? 'T' : 'F'} Start: #{result['prettyBuildStartedTime']} Complete: #{result['prettyBuildCompletedTime']} Label: #{labels.to_s}"
      end
    end
  rescue Exception=>e
    raise "Error to list build results :#{e.message}"
  end
  info
end
list_project_plan(proj_id) click to toggle source
# File lib/bamboohelper/plans.rb, line 22
def list_project_plan(proj_id)
  url = "#{config.url}/project/#{proj_id}.json?expand=plans"
  info = []
  begin
    response = RestClient::Request.execute(:url => url, :verify_ssl => config.verify_ssl, :method=> :get)
    json_response = JSON.parse(response)
    if json_response['plans']['plan']
      json_response['plans']['plan'].each do |plan|
        info << "[#{plan['key']}] : #{plan['name']} Enabled: #{plan['enabled']}"
      end
    end
  rescue Exception=>e
    raise "Error to list plans :#{e.message}"
  end
  info
end
list_projects() click to toggle source
# File lib/bamboohelper/plans.rb, line 5
def list_projects
  url = "#{config.url}/project.json"
  info = []
  begin
    response = RestClient::Request.execute(:url => url, :verify_ssl => config.verify_ssl, :method=> :get)
    json_response = JSON.parse(response)
    if json_response['projects']['project']
      json_response['projects']['project'].each do |proj|
        info << "[#{proj['key']}] : #{proj['name']}"
      end
    end
  rescue Exception=>e
    raise "Error to list projects :#{e.message}"
  end
  info
end
list_queue() click to toggle source
# File lib/bamboohelper/plans.rb, line 95
def list_queue()
  url = "#{config.url}/queue.json?os_authType=basic"
  info = []
  begin
    response = RestClient::Request.execute(:url => url, :verify_ssl => config.verify_ssl, :method=> :get, user: config.user, password: config.password)
    json_response = JSON.parse(response)
    if json_response['queuedBuilds']['queuedBuild']
      json_response['queuedBuilds']['queuedBuild'].each do |result|
        info << "BuildKey: #{result['buildResultKey']} TrigerReason: #{result['triggerReason']} "
      end
    end
  rescue Exception=>e
    raise "Error to list build queue :#{e.message}"
  end
  info.to_s
end
pause_server() click to toggle source
# File lib/bamboohelper/plans.rb, line 168
def pause_server()
  url = "#{config.url}/server/pause"
  begin
    RestClient::Request.execute(:url => url, :verify_ssl => config.verify_ssl, :method=> :post, user: config.user, password: config.password)
    true
  rescue Exception=>e
    raise "Error to pause bamboo server:#{e.message}"
  end
end
prepare_restart() click to toggle source
# File lib/bamboohelper/plans.rb, line 188
def prepare_restart()
  url = "#{config.url}/server/prepareForRestart"
  begin
    RestClient::Request.execute(:url => url, :verify_ssl => config.verify_ssl, :method=> :put, user: config.user, password: config.password)
    true
  rescue Exception=>e
    raise "Error to prepare bamboo server to restart :#{e.message}"
  end
end
queue_plan(plan_id) click to toggle source
# File lib/bamboohelper/plans.rb, line 67
def queue_plan(plan_id)
  url = "#{config.url}/queue/#{plan_id}?os_authType=basic"
  begin
    response = RestClient::Request.execute(:url => url, :verify_ssl => config.verify_ssl, :method=> :post, user: config.user, password: config.password)
    if response.code == 200
      true
    else
      false
    end
  rescue Exception=>e
    raise "Error to queue plan #{plan_id} for build :#{e.message}"
  end
end
resume_server() click to toggle source
# File lib/bamboohelper/plans.rb, line 178
def resume_server()
  url = "#{config.url}/server/resume"
  begin
    RestClient::Request.execute(:url => url, :verify_ssl => config.verify_ssl, :method=> :post, user: config.user, password: config.password)
    true
  rescue Exception=>e
    raise "Error to resume bamboo server :#{e.message}"
  end
end