Module: TeamCity::Client::Projects
- Included in:
- TeamCity::Client
- Defined in:
- lib/teamcity/client/projects.rb
Overview
Defines methods related to projects
Instance Method Summary collapse
-
#copy_project(source_project_id, target_project_name, options = {}) ⇒ Hashie::Mash
Copy another project.
-
#create_project(name) ⇒ Hashie::Mash
Create an empty project.
-
#delete_project(project_id) ⇒ nil
Delete a project.
-
#delete_project_parameter(project_id, parameter_name) ⇒ nil
Delete a project parameter.
-
#project(options = {}) ⇒ Hashie::Mash
Get project details.
-
#project_buildtypes(options = {}) ⇒ Array<Hashie::Mash> of build types (an empty array will be returne if none exist)
List of Build Configurations of a project.
-
#project_parameters(options = {}) ⇒ Array<Hashie::Mash>
List of parameters defined on a project.
-
#projects ⇒ Array<Hashie::Mash>?
List of projects.
-
#set_project_field(project_id, field_name, field_value) ⇒ String
Set a project field.
-
#set_project_parameter(project_id, parameter_name, parameter_value) ⇒ String
Set a project parameter (Create or Update).
Instance Method Details
#copy_project(source_project_id, target_project_name, options = {}) ⇒ Hashie::Mash
Copy another project
63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/teamcity/client/projects.rb', line 63 def copy_project(source_project_id, target_project_name, ={}) attributes = { :name => target_project_name } builder = Builder::XmlMarkup.new builder.tag!(:newProjectDescription ,.merge(attributes)) do |node| node.tag!(:sourceProject, locator: source_project_id) end post("projects", :content_type => :xml) do |req| req.body = builder.target! end end |
#create_project(name) ⇒ Hashie::Mash
Create an empty project
48 49 50 51 52 |
# File 'lib/teamcity/client/projects.rb', line 48 def create_project(name) post("projects", :content_type => :text) do |req| req.body = name end end |
#delete_project(project_id) ⇒ nil
Delete a project
80 81 82 |
# File 'lib/teamcity/client/projects.rb', line 80 def delete_project(project_id) delete("projects/#{project_id}") end |
#delete_project_parameter(project_id, parameter_name) ⇒ nil
Delete a project parameter
89 90 91 92 |
# File 'lib/teamcity/client/projects.rb', line 89 def delete_project_parameter(project_id, parameter_name) path = "projects/#{project_id}/parameters/#{parameter_name}" delete(path, :accept => :text) end |
#project(options = {}) ⇒ Hashie::Mash
Get project details
19 20 21 22 |
# File 'lib/teamcity/client/projects.rb', line 19 def project(={}) () get("projects/#{locator()}") end |
#project_buildtypes(options = {}) ⇒ Array<Hashie::Mash> of build types (an empty array will be returne if none exist)
List of Build Configurations of a project
28 29 30 31 32 |
# File 'lib/teamcity/client/projects.rb', line 28 def project_buildtypes(={}) () response = get("projects/#{locator()}/buildTypes") response['buildType'] end |
#project_parameters(options = {}) ⇒ Array<Hashie::Mash>
List of parameters defined on a project
38 39 40 41 42 |
# File 'lib/teamcity/client/projects.rb', line 38 def project_parameters(={}) () response = get("projects/#{locator()}/parameters") response['property'] end |
#projects ⇒ Array<Hashie::Mash>?
List of projects
9 10 11 12 |
# File 'lib/teamcity/client/projects.rb', line 9 def projects response = get('projects') response['project'] end |
#set_project_field(project_id, field_name, field_value) ⇒ String
Set a project field
121 122 123 124 125 126 |
# File 'lib/teamcity/client/projects.rb', line 121 def set_project_field(project_id, field_name, field_value) path = "projects/#{project_id}/#{field_name}" put(path, :content_type => :text, :accept => :text) do |req| req.body = field_value end end |
#set_project_parameter(project_id, parameter_name, parameter_value) ⇒ String
Set a project parameter (Create or Update)
101 102 103 104 105 106 |
# File 'lib/teamcity/client/projects.rb', line 101 def set_project_parameter(project_id, parameter_name, parameter_value) path = "projects/#{project_id}/parameters/#{parameter_name}" put(path, :content_type => :text, :accept => :text) do |req| req.body = parameter_value end end |