Project

General

Profile

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_