操作
用户¶
/users.:format¶
GET¶
返回用户列表。
此端点需要管理员权限。
示例:
GET /users.xml
可选过滤器
status:仅获取具有给定状态的用户。有关可用状态的列表,请参阅app/models/principal.rb。提供空值以匹配所有用户,无论其状态如何。默认为1(活动用户)。可能的值包括1:活动(用户可以登录并使用其账户)2:已注册(用户已注册但尚未确认其电子邮件地址或尚未由管理员激活。用户无法登录)3:锁定(用户曾经是活动的,现在是锁定的,用户无法登录)
name:根据用户的登录、名、姓和邮件过滤用户;如果模式包含空格,则还将返回名匹配第一个单词或姓匹配第二个单词的用户。group_id:仅获取是给定组成员的用户
POST¶
创建用户。
此端点需要管理员权限。
参数:
user(必需):用户属性的哈希,包括login(必需):用户登录名password:用户密码firstname(必需)lastname(必需)mail(必需)auth_source_id:身份验证模式IDmail_notification:only_my_events、none等must_change_passwd:true或falsegenerate_password:true或falsecustom_fields- 请参阅自定义字段
send_information:true或false:向用户发送账户信息
示例:
POST /users.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<user>
<login>jplang</login>
<firstname>Jean-Philippe</firstname>
<lastname>Lang</lastname>
<password>secret</password>
<mail>jp_lang@yahoo.fr</mail>
<auth_source_id>2</auth_source_id>
</user>
JSON
{
"user": {
"login": "jplang",
"firstname": "Jean-Philippe",
"lastname": "Lang",
"mail": "jp_lang@yahoo.fr",
"password": "secret"
}
}
响应:
201 Created:已创建用户422 Unprocessable Entity:由于验证失败而未创建用户(响应体包含错误消息)
/users/:id.:format¶
GET¶
返回用户详细信息。您可以使用/users/current.:format检索用于访问API的凭据所属的用户。
此端点可由管理员或非管理员使用,但返回的字段将取决于请求用户的权限(请参阅下面的响应)。
参数:
include(可选):要在响应中包含的关联的逗号分隔列表memberships:添加有关用户在项目中的成员资格和角色的额外信息groups(2.1中添加):添加有关用户组的额外信息
示例:
GET /users/current.xml
返回当前用户的详细信息。
GET /users/3.xml?include=memberships,groups
返回用户ID 3的详细信息以及用户项目成员资格的附加信息。
响应:
<user>
<id>3</id>
<login>jplang</login>
<firstname>Jean-Philippe</firstname>
<lastname>Lang</lastname>
<mail>jp_lang@yahoo.fr</mail>
<created_on>2007-09-28T00:16:04+02:00</created_on>
<updated_on>2010-08-01T18:05:45+02:00</updated_on>
<last_login_on>2011-08-01T18:05:45+02:00</last_login_on>
<passwd_changed_on>2011-08-01T18:05:45+02:00</passwd_changed_on>
<api_key>ebc3f6b781a6fb3f2b0a83ce0ebb80e0d585189d</api_key>
<avatar_url></avatar_url>
<status>1</status>
<custom_fields type="array" />
<memberships type="array">
<membership>
<project name="Redmine" id="1"/>
<roles type="array">
<role name="Administrator" id="3"/>
<role name="Contributor" id="4"/>
</roles>
</membership>
</memberships>
<groups type="array">
<group id="20" name="Developers"/>
</groups>
</user>
如果请求的用户不是管理员,则取决于请求的用户。
- 如果用户未被锁定且不是管理员,端点将返回包含以下字段的用户对象:
firstname、lastname、mail、created_on - 如果用户未被锁定且是管理员,端点将返回包含以下字段的用户对象:
firstname、lastname、created_on、last_login_on - 如果用户被锁定,端点将返回404状态码
- 如果用户是请求的用户,您还将获得以下字段:
login、api_key
api_key:用户的API密钥,管理员和您自己可见(自2.3.0版本添加)。status:表示用户状态的数字ID,只有管理员可见(自2.4.0版本添加)。有关可用状态列表,请参阅app/models/principal.rb。
PUT¶
更新用户。
此端点需要管理员权限。
示例:
PUT /users/20.xml
参数:
user(必需):用户属性哈希(与用户创建相同)admin(可选):可能的值是true或false,赋予用户实例管理员权限custom_fields- 请参阅自定义字段
DELETE¶
此端点需要管理员权限。
删除用户。
示例:
DELETE /users/20.xml
响应:
204 No Content:用户已被删除
另请参阅¶
由Lorenzo Meneghetti更新,8个月前 · 30次修订