Project

General

Profile

Rest Issues » History » Version 51

Jean-Philippe Lang, 2014-01-03 16:58
Filtering with timestamp

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 47 Jean-Baptiste Barth
NB: operators containing ">", "<" or "=" should be hex-encoded so they're parsed correctly. Most evolved API clients will do that for you by default, but for the sake of clarity the following examples have been written with no such magic feature in mind.
28
29 2 Jean-Philippe Lang
+Examples+:
30
31
<pre>
32
GET /issues.xml
33
GET /issues.xml?project_id=2
34 1 Jean-Philippe Lang
GET /issues.xml?project_id=2&tracker_id=1
35 29 Michael Fuchs
GET /issues.xml?assigned_to_id=6
36 12 Robert Palmer
GET /issues.xml?status_id=closed
37 1 Jean-Philippe Lang
GET /issues.xml?status_id=*
38 25 John Manktelow
GET /issues.xml?cf_1=abcdef
39 48 Filou Centrinov
GET /issues.xml?sort=category:desc,updated_on
40 21 Alex Last
41
Paging example:
42 45 Jean-Philippe Lang
GET /issues.xml?offset=0&limit=100
43 1 Jean-Philippe Lang
GET /issues.xml?offset=100&limit=100
44
45 47 Jean-Baptiste Barth
To fetch issues for a date range (uncrypted filter is "><2012-03-01|2012-03-07") :
46
GET /issues.xml?created_on=%3E%3C2012-03-01|2012-03-07
47
48
To fetch issues created after a certain date (uncrypted filter is ">=2012-03-01") :
49
GET /issues.xml?created_on=%3E%3D2012-03-01
50
51
Or before a certain date (uncrypted filter is "<= 2012-03-07") :
52
GET /issues.xml?created_on=%3C%3D2012-03-07
53 51 Jean-Philippe Lang
54
To fetch issues created after a certain timestamp (uncrypted filter is ">=2014-01-02T08:12:32Z") :
55
GET /issues.xml?created_on=%3E%3D2014-01-02T08:12:32Z
56
57
To fetch issues updated after a certain timestamp (uncrypted filter is ">=2014-01-02T08:12:32Z") :
58
GET /issues.xml?updated_on=%3E%3D2014-01-02T08:12:32Z
59 12 Robert Palmer
</pre>
60 1 Jean-Philippe Lang
61
+Response+:
62
63
<pre>
64
<?xml version="1.0" encoding="UTF-8"?>
65
<issues type="array" count="1640">
66 3 Christoph Witzany
  <issue>
67
    <id>4326</id>
68 1 Jean-Philippe Lang
    <project name="Redmine" id="1"/>
69
    <tracker name="Feature" id="2"/>
70
    <status name="New" id="1"/>
71
    <priority name="Normal" id="4"/>
72
    <author name="John Smith" id="10106"/>
73
    <category name="Email notifications" id="9"/>
74
    <subject>
75
      Aggregate Multiple Issue Changes for Email Notifications
76
    </subject>
77
    <description>
78
      This is not to be confused with another useful proposed feature that
79
      would do digest emails for notifications.
80
    </description>
81
    <start_date>2009-12-03</start_date>
82
    <due_date></due_date>
83
    <done_ratio>0</done_ratio>
84
    <estimated_hours></estimated_hours>
85
    <custom_fields>
86
      <custom_field name="Resolution" id="2">Duplicate</custom_field>
87
      <custom_field name="Texte" id="5">Test</custom_field>
88
      <custom_field name="Boolean" id="6">1</custom_field>
89
      <custom_field name="Date" id="7">2010-01-12</custom_field>
90
    </custom_fields>
91
    <created_on>Thu Dec 03 15:02:12 +0100 2009</created_on>
92
    <updated_on>Sun Jan 03 12:08:41 +0100 2010</updated_on>
93
  </issue>
94 3 Christoph Witzany
  <issue>
95
    <id>4325</id>
96 1 Jean-Philippe Lang
    ...
97
  </issue>
98
</issues>
99
</pre>
100
101
h2. Showing an issue
102
103 31 Ilya Kulakov
<pre>
104 43 Jean-Philippe Lang
GET /issues/[id].[format]
105 31 Ilya Kulakov
</pre>
106
107 43 Jean-Philippe Lang
+Parameters+:
108 1 Jean-Philippe Lang
109 43 Jean-Philippe Lang
* @include@: fetch associated data (optional, use comma to fetch multiple associations). Possible values:
110 1 Jean-Philippe Lang
111 43 Jean-Philippe Lang
  * @children@
112
  * @attachments@
113
  * @relations@
114
  * @changesets@
115
  * @journals@ - See [[Rest_IssueJournals|Issue journals]] for more information.
116
  * @watchers@ - Since 2.3.0
117 1 Jean-Philippe Lang
118 43 Jean-Philippe Lang
+Examples+:
119
120
<pre>
121
GET /issues/2.xml
122
GET /issues/2.json
123
124
GET /issues/2.xml
125
GET /issues/2.xml?include=attachments
126 1 Jean-Philippe Lang
GET /issues/2.xml?include=attachments,journals
127 43 Jean-Philippe Lang
</pre>
128
129 1 Jean-Philippe Lang
h2. Creating an issue
130
131 45 Jean-Philippe Lang
  POST /issues.[format]
132 1 Jean-Philippe Lang
133 45 Jean-Philippe Lang
+Parameters+:
134 1 Jean-Philippe Lang
135 45 Jean-Philippe Lang
* @issue@ - A hash of the issue attributes:
136 1 Jean-Philippe Lang
137 45 Jean-Philippe Lang
  * @project_id@
138
  * @tracker_id@
139
  * @status_id@
140 50 redmineservices .
  * @priority_id@
141 45 Jean-Philippe Lang
  * @subject@
142
  * @description@
143
  * @category_id@
144 49 Maarten Verwijs
  * @fixed_version_id@ - ID of the Target Versions (previously called 'Fixed Version' and still referred to as such in the API)
145 45 Jean-Philippe Lang
  * @assigned_to_id@ - ID of the user to assign the issue to (currently no mechanism to assign by name)
146
  * @parent_issue_id@ - ID of the parent issue
147
  * @custom_fields@ - See [[Rest_api#Working-with-custom-fields|Custom fields]]
148
  * @watcher_user_ids@ - Array of user ids to add as watchers (since 2.3.0)
149
150 1 Jean-Philippe Lang
Attachments can be added when you create an issue, see [[Rest_api#Attaching-files|Attaching files]].
151
152 45 Jean-Philippe Lang
+Examples+:
153 1 Jean-Philippe Lang
154 45 Jean-Philippe Lang
<pre>
155
POST /issues.xml
156
<?xml version="1.0"?>
157
<issue>
158
  <project_id>1</project_id>
159
  <subject>Example</subject>
160
  <priority_id>4</priority_id>
161
</issue>
162
</pre>
163 1 Jean-Philippe Lang
164
165 45 Jean-Philippe Lang
<pre>
166
POST /issues.json
167
{
168
  "issue": {
169
    "project_id": 1,
170
    "subject": "Example",
171
    "priority_id": 4
172
  }
173
}
174
</pre>
175
176 38 Jean-Philippe Lang
h2. Updating an issue
177 5 Damien Churchill
178 45 Jean-Philippe Lang
  PUT /issues/[id].[format]
179 5 Damien Churchill
180 45 Jean-Philippe Lang
+Parameters+:
181 5 Damien Churchill
182 45 Jean-Philippe Lang
* @issue@ - A hash of the issue attributes
183 27 Stéphane Schoorens
184 45 Jean-Philippe Lang
  * @project_id@
185
  * @tracker_id@
186
  * @status_id@
187
  * @subject@
188
  * ...
189
  * @notes@ - Comments about the update
190 1 Jean-Philippe Lang
191 45 Jean-Philippe Lang
Attachments can be added when you update an issue, see [[Rest_api#Attaching-files|Attaching files]].
192
193
+Examples+:
194
195
<pre>
196
PUT /issues/[id].xml
197
<?xml version="1.0"?>
198
<issue>
199
  <subject>Subject changed</subject>
200
  <notes>The subject was changed</notes>
201
</issue>
202
</pre>
203
204
<pre>
205
PUT /issues/[id].json
206
{
207
  "issue": {
208
    "subject": "Subject changed",
209
    "notes": "The subject was changed"
210
  }
211 1 Jean-Philippe Lang
}
212 45 Jean-Philippe Lang
</pre>
213 44 Jean-Philippe Lang
214
h2. Deleting an issue
215
216 45 Jean-Philippe Lang
  DELETE /issues/[id].[format]
217 44 Jean-Philippe Lang
218 46 Jean-Philippe Lang
h2. Adding a watcher 
219 1 Jean-Philippe Lang
220 46 Jean-Philippe Lang
_Added in 2.3.0_
221
222 44 Jean-Philippe Lang
  POST /issues/[id]/watchers.[format]
223
224
+Parameters+:
225
226
* @user_id@ (required): id of the user to add as a watcher
227
228 1 Jean-Philippe Lang
h2. Removing a watcher
229 46 Jean-Philippe Lang
230
_Added in 2.3.0_
231 1 Jean-Philippe Lang
232
  DELETE /issues/[id]/watchers/[user_id].[format]
233
234
+Parameters+: _none_