Rest Issues » History » Revision 45
Revision 44 (Jean-Philippe Lang, 2013-01-30 22:02) → Revision 45/70 (Jean-Philippe Lang, 2013-01-30 22:15)
h1. Issues {{>toc}} h2. Listing issues GET /issues.[format] /issues.xml Returns a paginated list of issues. By default, it returns open issues only. +Parameters+: * @offset@: skip this number of issues in response (optional) * @limit@: number of issues per page (optional) * @sort@: column to sort with. Append @:desc@ to invert the order. Optional filters: * @project_id@: get issues from the project with the given id, where id is either project id or project identifier * @subproject_id@: get issues from the subproject with the given id. You can use @project_id=XXX&subproject_id=!*@ to get only the issues of a given project and none of its subprojects. * @tracker_id@: get issues from the tracker with the given id * @status_id@: get issues with the given status id only. Possible values: @open@, @closed@, @*@ to get open and closed issues, status id * @assigned_to_id@: get issues which are assigned to the given user id * @cf_x@: get issues with the given value for custom field with an ID of @x@. (Custom field must have 'used as a filter' checked.) * ... +Examples+: <pre> GET /issues.xml GET /issues.xml?project_id=2 GET /issues.xml?project_id=2&tracker_id=1 GET /issues.xml?assigned_to_id=6 GET /issues.xml?status_id=closed GET /issues.xml?status_id=* GET /issues.xml?cf_1=abcdef Paging example: GET /issues.xml?offset=0&limit=100 /issues.xml?project_id=testproject&query_id=2&offset=0&limit=100 GET /issues.xml?offset=100&limit=100 /issues.xml?project_id=testproject&query_id=2&offset=50&limit=100 To fetch issues for a date range: GET /issues.xml?created_on=><2012-03-01|2012-03-07 </pre> +Response+: <pre> <?xml version="1.0" encoding="UTF-8"?> <issues type="array" count="1640"> <issue> <id>4326</id> <project name="Redmine" id="1"/> <tracker name="Feature" id="2"/> <status name="New" id="1"/> <priority name="Normal" id="4"/> <author name="John Smith" id="10106"/> <category name="Email notifications" id="9"/> <subject> Aggregate Multiple Issue Changes for Email Notifications </subject> <description> This is not to be confused with another useful proposed feature that would do digest emails for notifications. </description> <start_date>2009-12-03</start_date> <due_date></due_date> <done_ratio>0</done_ratio> <estimated_hours></estimated_hours> <custom_fields> <custom_field name="Resolution" id="2">Duplicate</custom_field> <custom_field name="Texte" id="5">Test</custom_field> <custom_field name="Boolean" id="6">1</custom_field> <custom_field name="Date" id="7">2010-01-12</custom_field> </custom_fields> <created_on>Thu Dec 03 15:02:12 +0100 2009</created_on> <updated_on>Sun Jan 03 12:08:41 +0100 2010</updated_on> </issue> <issue> <id>4325</id> ... </issue> </issues> </pre> h2. Showing an issue <pre> GET /issues/[id].[format] </pre> +Parameters+: * @include@: fetch associated data (optional, use comma to fetch multiple associations). Possible values: * @children@ * @attachments@ * @relations@ * @changesets@ * @journals@ - See [[Rest_IssueJournals|Issue journals]] for more information. * @watchers@ - Since 2.3.0 +Examples+: <pre> GET /issues/2.xml GET /issues/2.json GET /issues/2.xml GET /issues/2.xml?include=attachments GET /issues/2.xml?include=attachments,journals </pre> h2. Creating an issue POST /issues.[format] +Parameters+: h3. Using XML * @issue@ - A hash of the issue attributes: * @project_id@ <pre> * @tracker_id@ POST /issues.xml * @status_id@ <?xml version="1.0"?> * @subject@ <issue> <subject>Example</subject> <project_id>1</project_id> <priority_id>4</priority_id> </issue> </pre> Other available tags: * @description@ description * @category_id@ category_id * @assigned_to_id@ assigned_to_id - ID of the user to assign the issue to (currently no mechanism to assign by name) * @parent_issue_id@ status_id * parent_issue_id - ID of the parent issue * @custom_fields@ watcher_user_ids - See [[Rest_api#Working-with-custom-fields|Custom fields]] * @watcher_user_ids@ - Array of user ids to add as watchers (since 2.3.0) Attachments can be added when you create an issue, see [[Rest_api#Attaching-files|Attaching files]]. +Examples+: <pre> h3. Using JSON POST /issues.xml <?xml version="1.0"?> <issue> /issues.json <project_id>1</project_id> <subject>Example</subject> <priority_id>4</priority_id> </issue> </pre> <pre> POST /issues.json { "issue": { "project_id": 1, "example", "subject": "Example", "Test issue", "custom_field_values":{ "1":"1.1.3" #the affected version field } "priority_id": 4 } } </pre> h2. Updating an issue PUT /issues/[id].[format] +Parameters+: * @issue@ - A hash of the issue attributes * @project_id@ * @tracker_id@ * @status_id@ * @subject@ * ... * @notes@ - Comments about the update Attachments can be added when you update an issue, see [[Rest_api#Attaching-files|Attaching files]]. +Examples+: <pre> h3. Using XML PUT /issues/[id].xml <?xml version="1.0"?> <issue> <subject>Subject changed</subject> <notes>The subject was changed</notes> </issue> </pre> <pre> h3. Using JSON PUT /issues/[id].json { "issue": { "subject": "Subject changed", "Example issue (was: Test issue)", "notes": "Changing the subject" "notes": "The subject was changed" } } </pre> h2. Deleting an issue DELETE /issues/[id].[format] /issues/[id].xml h2. Adding a watcher POST /issues/[id]/watchers.[format] +Parameters+: * @user_id@ (required): id of the user to add as a watcher h2. Removing a watcher DELETE /issues/[id]/watchers/[user_id].[format] +Parameters+: _none_