Rest Projects » History » Revision 20
Revision 19 (Matt Wiseley, 2014-12-13 18:19) → Revision 20/40 (Lucile Quirion, 2015-02-11 17:35)
h1. Projects h2. Listing projects GET /projects.xml Returns all projects (all public projects and private projects where user have access to) +Parameters+: * @include@: fetch associated data (optional). Possible values: trackers, issue_categories, enabled_modules (since 2.6.0). Values should be separated by a comma ",". +Response+: <pre> <projects type="array"> <project> <id>1</id> <name>Redmine</name> <identifier>redmine</identifier> <description> Redmine is a flexible project management web application written using Ruby on Rails framework. </description> <created_on>Sat Sep 29 12:03:04 +0200 2007</created_on> <updated_on>Sun Mar 15 12:35:11 +0100 2009</updated_on> <is_public>true</is_public> </project> <project> <id>2</id> ... </project> </pre> +Notes+: * @is_public@ is exposed since 2.6.0 h2. Showing a project GET /projects/[id].xml Returns the project of given id or identifier. +Parameters+: * @include@: fetch associated data (optional). Possible values: trackers, issue_categories, enabled_modules (since 2.6.0). Values should be separated by a comma ",". +Examples+: <pre> GET /projects/12.xml GET /projects/12.xml?include=trackers GET /projects/12.xml?include=trackers,issue_categories GET /projects/12.xml?include=enabled_modules GET /projects/redmine.xml </pre> +Response+: <pre> <?xml version="1.0" encoding="UTF-8"?> <project id="1"> <name>Redmine</name> <identifier>redmine</identifier> <description> Redmine is a flexible project management web application written using Ruby on Rails framework. </description> <homepage></homepage> <created_on>Sat Sep 29 12:03:04 +0200 2007</created_on> <updated_on>Sun Mar 15 12:35:11 +0100 2009</updated_on> <is_public>true</is_public> </project> </pre> +Notes+: * @is_public@ is exposed since 2.6.0 h2. Creating a project POST /projects.xml Creates a the project. +Parameters+: * @project@ (required): a hash of the project attributes, including: * @name@ (required): the project name * @identifier@ (required): the project identifier * @description@ * @homepage@ @inherit_members@ * @is_public@: true or false * @parent_id@: the parent project number * @inherit_members@: true or false * @tracker_ids@: (repeatable element) the tracker id: 1 for Bug, etc. * @enabled_module_names@: (repeatable element) the module name: boards, calendar, documents, files, gantt, issue_tracking, news, repository, time_tracking, wiki. @parent_id@ <pre> POST /projects.xml <name>test project</name> <identifier>test</identifier> <enabled_module_names>time_tracking</enabled_module_names> <enabled_module_names>issue_tracking</enabled_module_names> </pre> +Response+: * @201 Created@: project was created * @422 Unprocessable Entity@: project was not created due to validation failures (response body contains the error messages) h2. Updating a project PUT /projects/[id].xml Updates the project of given id or identifier. h2. Deleting a project DELETE /projects/[id].xml Deletes the project of given id or identifier. h2. Limitations: A POST request on Redmine 1.0.1-2 (debian stable) does not work using the API key, but does work with a login/passw authentication http://www.redmine.org/issues/12104