class FlowdockBuildNotifier::BuildMetadata

Attributes

config[R]
metadata[R]

Public Class Methods

new(config: Configuration.load) click to toggle source
# File lib/flowdock_build_notifier/build_metadata.rb, line 10
def initialize(config: Configuration.load)
  @config = config
end

Public Instance Methods

branch() click to toggle source
# File lib/flowdock_build_notifier/build_metadata.rb, line 33
def branch
  metadata.root.attributes['branchName']
end
fetch(build_id) click to toggle source
# File lib/flowdock_build_notifier/build_metadata.rb, line 14
def fetch(build_id)
  build_uri = URI("#{config.teamcity_url}/httpAuth/app/rest/builds/#{build_id}")

  Net::HTTP.start(build_uri.host, build_uri.port, use_ssl: true) do |http|
    request = Net::HTTP::Get.new(build_uri)
    request.basic_auth config.teamcity_user, config.teamcity_password
    @result = http.request(request).body
  end
  @metadata = REXML::Document.new(@result)
end
name() click to toggle source
# File lib/flowdock_build_notifier/build_metadata.rb, line 37
def name
  project_name = metadata.root.elements['buildType'].attributes['projectName']
  name = metadata.root.elements['buildType'].attributes['name']
  [project_name, name].compact.join(" :: ")
end
status() click to toggle source
# File lib/flowdock_build_notifier/build_metadata.rb, line 25
def status
  metadata.root.attributes['status']
end
url() click to toggle source
# File lib/flowdock_build_notifier/build_metadata.rb, line 29
def url
  metadata.root.attributes['webUrl']
end