项目

常规

个人资料

操作

问题

列出问题

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 的问题。可能的值:openclosed*以获取打开和关闭的问题、状态 id
  • assigned_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]

参数

Mischa The Evil更新,约 3 年前·70 次修订