Class: BuildEval::Server::TeamCity

Inherits:
Object
  • Object
show all
Defined in:
lib/build_eval/server/team_city.rb

Instance Method Summary collapse

Constructor Details

#initialize(args) ⇒ TeamCity

Returns a new instance of TeamCity.



6
7
8
9
10
# File 'lib/build_eval/server/team_city.rb', line 6

def initialize(args)
  @base_uri = args[:uri]
  @username = args[:username]
  @password = args[:password]
end

Instance Method Details

#build_result(name) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/build_eval/server/team_city.rb', line 12

def build_result(name)
  response = BuildEval::Http.get(
    "#{@base_uri}/httpAuth/app/rest/buildTypes/id:#{name}/builds", username: @username, password: @password
  )
  build_element = Nokogiri::XML(response.body).xpath("//build").first
  raise "Unexpected build response: #{response.message}" unless build_element
  BuildEval::Result::BuildResult.create(build_name: name, status_name: build_element.attribute("status").value)
end

#to_s ⇒ Object



21
22
23
# File 'lib/build_eval/server/team_city.rb', line 21

def to_s
  "TeamCity server #{@base_uri}"
end