module Rundeck::Client::Project
Defines methods related to projects.
Public Instance Methods
Create a project
@see rundeck.org/docs/api/index.html#project-creation
Rundeck API documentation for 'POST /api/11/projects' endpoint
@example
Rundeck.create_project('{ "name": "json_project" }', 'json')
@example
Rundeck.create_project('<project><name>xml_project</name></project>', 'xml')
@param [String] content The job definition(s) as yaml or xml @param [String] format The project creation format. ‘json|xml’,
defaults to 'json'
@!macro options @return [Rundeck::ObjectifiedHash] @!macro exceptions
# File lib/rundeck/client/project.rb, line 37 def create_project(content, format = 'json', options = {}) options[:headers] = {} if options[:headers].nil? options[:headers] = if format == 'json' options[:headers].merge!( 'Content-Type' => 'application/json') elsif format == 'xml' options[:headers].merge!( 'Content-Type' => 'application/xml') else fail Error::InvalidAttributes, 'format must be json or xml' end options[:body] = content objectify post('/projects', options)['project'] end
Delete a project
@see rundeck.org/docs/api/index.html#project-deletion
Rundeck API documentation for 'DELETE /api/11/project/[NAME]' endpoint
@example
Rundeck.delete_project('my_project')
@param [String] name The project name @!macro options @return nil @!macro exceptions
# File lib/rundeck/client/project.rb, line 82 def delete_project(name, options = {}) objectify delete("/project/#{name}", options) end
Get a project by name
@see rundeck.org/docs/api/index.html#getting-project-info
Rundeck API documentation for 'GET /api/1/project/[NAME]' endpoint
@example
Rundeck.project('anvils')
@param [String] name The project name @!macro options @return [Rundeck::ObjectifiedHash] @!macro exceptions
# File lib/rundeck/client/project.rb, line 66 def project(name, options = {}) objectify get("/project/#{name}", options)['project'] end
Get all projects
@see rundeck.org/docs/api/index.html#listing-projects
Rundeck API documentation for 'GET /api/1/projects' endpoint
@example
Rundeck.projects
@!macro options @return [Rundeck::ObjectifiedHash] @!macro exceptions
# File lib/rundeck/client/project.rb, line 16 def projects(options = {}) objectify get('/projects', options)['projects'] end