操作
问题¶
列出问题¶
GET /issues.[format]
返回分页的问题列表。默认情况下,它仅返回打开的问题。
参数:
offset
:在响应中跳过该数量的问题(可选)limit
:每页的问题数量(可选)sort
:排序所用的列。附加:desc
以反转顺序。include
:获取关联数据(可选,使用逗号获取多个关联)。可能的值attachments
- 自 3.4.0 起relations
可选过滤器
issue_id
:使用 “,” 分隔 id 获取给定 id 的问题或多个问题。project_id
:获取给定 id 的项目中的问题(数字值,不是项目标识符)。subproject_id
:获取给定 id 的子项目中的问题。可以使用project_id=XXX&subproject_id=!*
仅获取给定项目的而不是其任何子项目的问题。tracker_id
:获取给定 id 的跟踪器中的问题status_id
:仅获取具有给定状态 id 的问题。可能的值:open
、closed
、*
以获取打开和关闭的问题、状态 idassigned_to_id
:获取分配给给定用户 id 的问题。可以使用me
来获取通过 API 密钥或 HTTP 身份验证登录的用户的所有问题parent_id
:获取父问题为给定 id 的问题。cf_x
:获取具有 ID 为x
的自定义字段且值为给定的问题。(必须选中“用作过滤器”自定义字段。)- ...
注意:包含“>”、“<”或“=”的运算符应进行十六进制编码,以便正确解析。大多数高级 API 客户端会默认执行此操作,但为清楚起见,已编写以下示例,而未考虑上述神奇功能。
示例:
GET /issues.xml GET /issues.xml?issue_id=1 GET /issues.xml?issue_id=1,2 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?assigned_to_id=me GET /issues.xml?status_id=closed GET /issues.xml?status_id=* GET /issues.xml?cf_1=abcdef GET /issues.xml?sort=category:desc,updated_on Paging example: GET /issues.xml?offset=0&limit=100 GET /issues.xml?offset=100&limit=100 To fetch issues for a date range (uncrypted filter is "><2012-03-01|2012-03-07") : GET /issues.xml?created_on=%3E%3C2012-03-01|2012-03-07 To fetch issues created after a certain date (uncrypted filter is ">=2012-03-01") : GET /issues.xml?created_on=%3E%3D2012-03-01 Or before a certain date (uncrypted filter is "<= 2012-03-07") : GET /issues.xml?created_on=%3C%3D2012-03-07 To fetch issues created after a certain timestamp (uncrypted filter is ">=2014-01-02T08:12:32Z") : GET /issues.xml?created_on=%3E%3D2014-01-02T08:12:32Z To fetch issues updated after a certain timestamp (uncrypted filter is ">=2014-01-02T08:12:32Z") : GET /issues.xml?updated_on=%3E%3D2014-01-02T08:12:32Z To fetch issues for which custom field 4 contains the substring "foo" : GET /issues.xml?cf_4=~foo
响应:
<?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>
显示问题¶
GET /issues/[id].[format]
参数:
include
:获取关联数据(可选,使用逗号获取多个关联)。可能的值子项
附件
relations
变更集
期刊
- 有关详细信息,请参见问题期刊。观察者
- 自 2.3.0 起允许的实施状态
- 自 5.0.x 起,返回根据以下内容提供的可用允许的实施状态(与在问题编辑表单中提供的值相同):- 问题的当前跟踪器、问题的当前状态和成员的角色(已定义的工作流);
- 任何打开的子任务是否存在;
- 任何打开的阻塞问题是否存在;
- 已关闭的父问题是否存在。
示例:
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
创建问题¶
POST /issues.[format]
参数:
问题
- 问题属性的哈希项目 ID
跟踪器 ID
实施状态 ID
优先级 ID
主题
描述
类别 ID
已修复版本 ID
- 目标版本的 ID(之前称为“修复版本”,在 API 中仍如此称呼)分配给 ID
- 要将问题分配到的用户 ID(目前没有按名称分配的机制)父问题 ID
- 父问题的 ID自定义字段
- 请参见自定义字段。观察用户 ID
- 要作为观察者添加的用户 ID 的数组(自 2.3.0 起)是否私有
- 使用 true 或 false 来表示问题是否私有估计的工时
- 针对问题估算的工时数
创建问题时可以添加附件,请参见附加文件。
示例:
POST /issues.xml
<?xml version="1.0"?>
<issue>
<project_id>1</project_id>
<subject>Example</subject>
<priority_id>4</priority_id>
</issue>
POST /issues.json
{
"issue": {
"project_id": 1,
"subject": "Example",
"priority_id": 4
}
}
更新问题¶
PUT /issues/[id].[format]
参数:
问题
- 问题属性的哈希项目 ID
跟踪器 ID
实施状态 ID
主题
- ...
备注
- 关于更新的评论私有备注
- 如果备注是私有的,则为 true
更新问题时可以添加附件,请参见附加文件。
示例:
PUT /issues/[id].xml
<?xml version="1.0"?>
<issue>
<subject>Subject changed</subject>
<notes>The subject was changed</notes>
</issue>
PUT /issues/[id].json
{
"issue": {
"subject": "Subject changed",
"notes": "The subject was changed"
}
}
删除问题¶
DELETE /issues/[id].[format]
添加观察者¶
在 2.3.0 中添加
POST /issues/[id]/watchers.[format]
参数:
用户 ID
(必需):要作为观察者添加的用户的 ID
删除观察者¶
在 2.3.0 中添加
DELETE /issues/[id]/watchers/[user_id].[format]
参数:无