Project

General

Profile

Rest Issues » History » Version 45

Jean-Philippe Lang, 2013-01-30 22:15

1 1 Jean-Philippe Lang
h1. Issues
2
3 28 Jean-Philippe Lang
{{>toc}}
4
5 1 Jean-Philippe Lang
h2. Listing issues
6
7 45 Jean-Philippe Lang
  GET /issues.[format]
8 1 Jean-Philippe Lang
9 2 Jean-Philippe Lang
Returns a paginated list of issues. By default, it returns open issues only.
10 1 Jean-Philippe Lang
11
+Parameters+:
12 26 Etienne Massip
13 21 Alex Last
* @offset@: skip this number of issues in response (optional)
14
* @limit@: number of issues per page (optional)
15 36 Emmanuel Bourgerie
* @sort@: column to sort with. Append @:desc@ to invert the order.
16 23 Alex Last
17 2 Jean-Philippe Lang
Optional filters:
18
19 30 Ilya Kulakov
* @project_id@: get issues from the project with the given id, where id is either project id or project identifier
20 40 Matthias Lamoureux
* @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.
21 2 Jean-Philippe Lang
* @tracker_id@: get issues from the tracker with the given id
22 33 Ilya Kulakov
* @status_id@: get issues with the given status id only. Possible values: @open@, @closed@, @*@ to get open and closed issues, status id
23 29 Michael Fuchs
* @assigned_to_id@: get issues which are assigned to the given user id
24 25 John Manktelow
* @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.)
25 2 Jean-Philippe Lang
* ...
26
27
+Examples+:
28
29
<pre>
30
GET /issues.xml
31
GET /issues.xml?project_id=2
32 1 Jean-Philippe Lang
GET /issues.xml?project_id=2&tracker_id=1
33 29 Michael Fuchs
GET /issues.xml?assigned_to_id=6
34 12 Robert Palmer
GET /issues.xml?status_id=closed
35 1 Jean-Philippe Lang
GET /issues.xml?status_id=*
36 25 John Manktelow
GET /issues.xml?cf_1=abcdef
37 21 Alex Last
38
Paging example:
39 45 Jean-Philippe Lang
GET /issues.xml?offset=0&limit=100
40
GET /issues.xml?offset=100&limit=100
41 39 Sridhar P
42
To fetch issues for a date range:
43 12 Robert Palmer
GET /issues.xml?created_on=><2012-03-01|2012-03-07
44
</pre>
45 1 Jean-Philippe Lang
46
+Response+:
47
48
<pre>
49
<?xml version="1.0" encoding="UTF-8"?>
50
<issues type="array" count="1640">
51 3 Christoph Witzany
  <issue>
52
    <id>4326</id>
53 1 Jean-Philippe Lang
    <project name="Redmine" id="1"/>
54
    <tracker name="Feature" id="2"/>
55
    <status name="New" id="1"/>
56
    <priority name="Normal" id="4"/>
57
    <author name="John Smith" id="10106"/>
58
    <category name="Email notifications" id="9"/>
59
    <subject>
60
      Aggregate Multiple Issue Changes for Email Notifications
61
    </subject>
62
    <description>
63
      This is not to be confused with another useful proposed feature that
64
      would do digest emails for notifications.
65
    </description>
66
    <start_date>2009-12-03</start_date>
67
    <due_date></due_date>
68
    <done_ratio>0</done_ratio>
69
    <estimated_hours></estimated_hours>
70
    <custom_fields>
71
      <custom_field name="Resolution" id="2">Duplicate</custom_field>
72
      <custom_field name="Texte" id="5">Test</custom_field>
73
      <custom_field name="Boolean" id="6">1</custom_field>
74
      <custom_field name="Date" id="7">2010-01-12</custom_field>
75
    </custom_fields>
76
    <created_on>Thu Dec 03 15:02:12 +0100 2009</created_on>
77
    <updated_on>Sun Jan 03 12:08:41 +0100 2010</updated_on>
78
  </issue>
79 3 Christoph Witzany
  <issue>
80
    <id>4325</id>
81 1 Jean-Philippe Lang
    ...
82
  </issue>
83
</issues>
84
</pre>
85
86
h2. Showing an issue
87
88 31 Ilya Kulakov
<pre>
89 43 Jean-Philippe Lang
GET /issues/[id].[format]
90 31 Ilya Kulakov
</pre>
91
92 43 Jean-Philippe Lang
+Parameters+:
93 1 Jean-Philippe Lang
94 43 Jean-Philippe Lang
* @include@: fetch associated data (optional, use comma to fetch multiple associations). Possible values:
95 1 Jean-Philippe Lang
96 43 Jean-Philippe Lang
  * @children@
97
  * @attachments@
98
  * @relations@
99
  * @changesets@
100
  * @journals@ - See [[Rest_IssueJournals|Issue journals]] for more information.
101
  * @watchers@ - Since 2.3.0
102 1 Jean-Philippe Lang
103 43 Jean-Philippe Lang
+Examples+:
104
105
<pre>
106
GET /issues/2.xml
107
GET /issues/2.json
108
109
GET /issues/2.xml
110
GET /issues/2.xml?include=attachments
111 1 Jean-Philippe Lang
GET /issues/2.xml?include=attachments,journals
112 43 Jean-Philippe Lang
</pre>
113
114 1 Jean-Philippe Lang
h2. Creating an issue
115
116 45 Jean-Philippe Lang
  POST /issues.[format]
117 1 Jean-Philippe Lang
118 45 Jean-Philippe Lang
+Parameters+:
119 1 Jean-Philippe Lang
120 45 Jean-Philippe Lang
* @issue@ - A hash of the issue attributes:
121 1 Jean-Philippe Lang
122 45 Jean-Philippe Lang
  * @project_id@
123
  * @tracker_id@
124
  * @status_id@
125
  * @subject@
126
  * @description@
127
  * @category_id@
128
  * @assigned_to_id@ - ID of the user to assign the issue to (currently no mechanism to assign by name)
129
  * @parent_issue_id@ - ID of the parent issue
130
  * @custom_fields@ - See [[Rest_api#Working-with-custom-fields|Custom fields]]
131
  * @watcher_user_ids@ - Array of user ids to add as watchers (since 2.3.0)
132
133 1 Jean-Philippe Lang
Attachments can be added when you create an issue, see [[Rest_api#Attaching-files|Attaching files]].
134
135 45 Jean-Philippe Lang
+Examples+:
136 1 Jean-Philippe Lang
137 45 Jean-Philippe Lang
<pre>
138
POST /issues.xml
139
<?xml version="1.0"?>
140
<issue>
141
  <project_id>1</project_id>
142
  <subject>Example</subject>
143
  <priority_id>4</priority_id>
144
</issue>
145
</pre>
146 1 Jean-Philippe Lang
147
148 45 Jean-Philippe Lang
<pre>
149
POST /issues.json
150
{
151
  "issue": {
152
    "project_id": 1,
153
    "subject": "Example",
154
    "priority_id": 4
155
  }
156
}
157
</pre>
158
159 38 Jean-Philippe Lang
h2. Updating an issue
160 5 Damien Churchill
161 45 Jean-Philippe Lang
  PUT /issues/[id].[format]
162 5 Damien Churchill
163 45 Jean-Philippe Lang
+Parameters+:
164 5 Damien Churchill
165 45 Jean-Philippe Lang
* @issue@ - A hash of the issue attributes
166 27 Stéphane Schoorens
167 45 Jean-Philippe Lang
  * @project_id@
168
  * @tracker_id@
169
  * @status_id@
170
  * @subject@
171
  * ...
172
  * @notes@ - Comments about the update
173 1 Jean-Philippe Lang
174 45 Jean-Philippe Lang
Attachments can be added when you update an issue, see [[Rest_api#Attaching-files|Attaching files]].
175
176
+Examples+:
177
178
<pre>
179
PUT /issues/[id].xml
180
<?xml version="1.0"?>
181
<issue>
182
  <subject>Subject changed</subject>
183
  <notes>The subject was changed</notes>
184
</issue>
185
</pre>
186
187
<pre>
188
PUT /issues/[id].json
189
{
190
  "issue": {
191
    "subject": "Subject changed",
192
    "notes": "The subject was changed"
193
  }
194 1 Jean-Philippe Lang
}
195 45 Jean-Philippe Lang
</pre>
196 44 Jean-Philippe Lang
197
h2. Deleting an issue
198
199 45 Jean-Philippe Lang
  DELETE /issues/[id].[format]
200 44 Jean-Philippe Lang
201
h2. Adding a watcher
202
203
  POST /issues/[id]/watchers.[format]
204
205
+Parameters+:
206
207
* @user_id@ (required): id of the user to add as a watcher
208
209 1 Jean-Philippe Lang
h2. Removing a watcher
210
211
  DELETE /issues/[id]/watchers/[user_id].[format]
212
213
+Parameters+: _none_