class Object
Public Instance Methods
update_builds(project_id)
click to toggle source
# File jobs/teamcity.rb, line 22 def update_builds(project_id) builds = [] projects = Array.new project = TeamCity.project(:id => project_id) build_types = Array.new {Array.new} TeamCity.project_buildtypes(:id => project['id']).each do |build_type| build_types.push({ :id => build_type.id, :name => build_type.name }) end build_types.each do |build_type| build_type_builds = TeamCity.builds(:buildType => build_type[:id], :branch => 'default:any') unless build_type_builds.nil? latest_build = build_type_builds.first max_build_number = latest_build.id build_type_builds.each do |build| if build.id > max_build_number latest_build = build end end uname = 'Unassigned' if !TeamCity.build(:id => latest_build.id).lastChanges.nil? uname = TeamCity.build(:id => latest_build.id).lastChanges.change.first['username'] end build_type['last_build'] = { :id => latest_build.id, :number => latest_build.number, :state => latest_build.state, :status => latest_build.status, :username => uname } end end projects.push({ :name => project.description, :id => project.id, :description => project.description, :build_types => build_types }) build_info = { :title => project_id, :projects => projects } builds << build_info builds end