Project Memberships¶
- Table of contents
- Project Memberships
/projects/:project_id/memberships.:format¶
GET¶
Returns a paginated list of the project memberships. :project_id can be either the project numerical id or the project identifier.
Examples:
GET /projects/1/memberships.xml GET /projects/redmine/memberships.xml
Response:
<?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>
Notes:
- The membership owner can be either a user or a group (Groups API is added in Redmine 2.1)
- In the above example, the
inherited="true"attribute on the last role means that this role was inherited from a group (eg. Jonh Smith belongs to the Contributors group and this group was added as a project member). John Smith's membership can not be deleted without deleting the group membership first. - The memberships of a given user can be retrieved from the Users API.
POST¶
Adds a project member.
Parameters:
membership(required): a hash of the membership attributes, including:user_id(required): the numerical id of the user or grouprole_ids(required): an array of roles numerical ids
Example:
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 ]
}
}
Response:
201 Created: membership was created422 Unprocessable Entity: membership was not created due to validation failures (response body contains the error messages)
/memberships/:id.:format¶
GET¶
Returns the membership of given :id.
Examples:
GET /memberships/1.xml
Response:
<?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¶
Updates the membership of given :id. Only the roles can be updated, the project and the user of a membership are read-only.
Parameters:
membership(required): a hash of the membership attributes, including:role_ids(required): an array of roles numerical ids
Example:
PUT /memberships/2.xml
<membership>
<role_ids type="array">
<role_id>3</role_id>
<role_id>4</role_id>
</role_ids>
</membership>
Response:
204 No Content: membership was updated422 Unprocessable Entity: membership was not updated due to validation failures (response body contains the error messages)
DELETE¶
Deletes a memberships.
Memberships inherited from a group membership can not be deleted. You must delete the group membership.
Parameters:
none
Example:
DELETE /memberships/2.xml
Response:
200 OK: membership was deleted422 Unprocessable Entity: membership was not deleted
Updated by Go MAEDA about 4 years ago · 8 revisions