Sha256: 696caa6dd4adf93691609025ae0b1098b54d0fd68455de9e1761a02cdd95b3f3
Contents?: true
Size: 1.06 KB
Versions: 1
Compression:
Stored size: 1.06 KB
Contents
module TeamcityRuby class AgentPool extend TeamcityRuby::Resource attr_accessor :teamcity_id url_path "/agentPools" resource_name "agentPool" def self.create(name, options = {}) payload = { "name" => name }.to_json response = client.post("/agentPools", :body => payload) new(response) end def initialize(options = {}) @teamcity_id = options["id"].to_s @name = options["name"] end def destroy! client.delete("/agentPools/id:#{teamcity_id}") end def add_project(options = {}) raise "Agent pool needs a teamcity_id" unless self.teamcity_id project_id = options.fetch(:project_id) { raise ":project_id is required" } payload = { "id" => project_id } response = client.post("/agentPools/id:#{self.teamcity_id}/projects", :body => payload.to_json) end def projects raise "Agent pool needs a teamcity_id" unless self.teamcity_id client.get("/agentPools/id:#{self.teamcity_id}/projects")["project"].map do |p| Project.new(p) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
teamcity_ruby-0.0.6 | lib/teamcity_ruby/agent_pool.rb |