项目

常规

个人资料

操作

项目成员关系

/projects/:project_id/memberships.:format

GET

返回项目成员关系的分页列表。`:project_id`可以是项目的数字ID或项目标识符。

示例:

GET /projects/1/memberships.xml
GET /projects/redmine/memberships.xml

响应:

<?xml version="1.0" encoding="UTF-8"?>
<memberships type="array" limit="25" offset="0" total_count="3">
  <membership>
    <id>1</id>
    <project name="Redmine" id="1"/>
    <user name="David Robert" id="17"/>
    <roles type="array">
      <role name="Manager" id="1"/>
    </roles>
  </membership>
  <membership>
    <id>3</id>
    <project name="Redmine" id="1"/>
    <group name="Contributors" id="24"/>
    <roles type="array">
      <role name="Contributor" id="3"/>
    </roles>
  </membership>
  <membership>
    <id>4</id>
    <project name="Redmine" id="1"/>
    <user name="John Smith" id="27"/>
    <roles type="array">
      <role name="Developer" id="2" />
      <role name="Contributor" id="3" inherited="true" />
    </roles>
  </membership>
</memberships>
注释
  • 成员所有者可以是用户或组(自Redmine 2.1起添加了组API
  • 在上面的示例中,最后一个角色的`inherited="true"`属性表示此角色是从组继承的(例如,John Smith属于Contributors组,该组被添加为项目成员)。除非先删除组成员关系,否则不能删除John Smith的成员关系。
  • 可以从用户API检索指定用户的成员关系。

POST

添加项目成员。

参数:

  • membership(必需):成员属性的散列,包括
    • user_id(必需):用户或组的数字ID
    • role_ids(必需):角色数字ID的数组

示例:

POST /projects/redmine/memberships.xml

<membership>
  <user_id>27</user_id>
  <role_ids type="array">
    <role_id>2</role_id>
  </role_ids>
</membership>

JSON

{
  "membership":
  {
    "user_id": 27,
    "role_ids": [ 2 ]
  }
}

响应:

  • 201 Created:已创建成员关系
  • 422 Unprocessable Entity:由于验证失败,成员关系未创建(响应体包含错误消息)

/memberships/:id.:format

GET

返回给定`:id`的成员关系。

示例:

GET /memberships/1.xml

响应:

<?xml version="1.0" encoding="UTF-8"?>
<membership>
  <id>1</id>
  <project name="Redmine" id="1"/>
  <user name="David Robert" id="17"/>
  <roles type="array">
    <role name="Developer" id="2"/>
    <role name="Manager" id="1"/>
  </roles>
</membership>

PUT

更新给定`:id`的成员关系。只能更新角色,成员关系的项目和用户是只读的。

参数:

  • membership(必需):成员属性的散列,包括
    • role_ids(必需):角色数字ID的数组

示例:

PUT /memberships/2.xml

<membership>
  <role_ids type="array">
    <role_id>3</role_id>
    <role_id>4</role_id>
  </role_ids>
</membership>

响应:

  • 204 No Content:已更新成员关系
  • 422 Unprocessable Entity:由于验证失败,成员关系未更新(响应体包含错误消息)

DELETE

删除成员关系。

从组成员关系继承的成员关系不能删除。必须删除组成员关系。

参数:

示例:

DELETE /memberships/2.xml

响应:

  • 200 OK:已删除成员关系
  • 422 Unprocessable Entity:成员关系未删除

Go MAEDA更新,几乎3年前 · 8次修订