项目

常规

个人资料

操作

用户

/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:身份验证模式ID
    • mail_notification:only_my_events、none等
    • must_change_passwd:true或false
    • generate_password:true或false
    • custom_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>[email protected]</mail>
  <auth_source_id>2</auth_source_id>
</user>

JSON

{
    "user": {
        "login": "jplang",
        "firstname": "Jean-Philippe",
        "lastname": "Lang",
        "mail": "[email protected]",
        "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>[email protected]</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>

如果请求的用户不是管理员,则取决于请求的用户。

  • 如果用户未被锁定且不是管理员,端点将返回包含以下字段的用户对象:firstnamelastnamemailcreated_on
  • 如果用户未被锁定且是管理员,端点将返回包含以下字段的用户对象:firstnamelastnamecreated_onlast_login_on
  • 如果用户被锁定,端点将返回404状态码
  • 如果用户是请求的用户,您还将获得以下字段:loginapi_key
如果请求的用户是管理员,无论用户是否被锁定,总是返回用户对象。它将包含更多详细信息。
  • api_key:用户的API密钥,管理员和您自己可见(自2.3.0版本添加)。
  • status:表示用户状态的数字ID,只有管理员可见(自2.4.0版本添加)。有关可用状态列表,请参阅app/models/principal.rb

PUT

更新用户。

此端点需要管理员权限。

示例:

PUT /users/20.xml

参数:

  • user(必需):用户属性哈希(与用户创建相同)
  • admin(可选):可能的值是truefalse,赋予用户实例管理员权限
  • custom_fields - 请参阅自定义字段

DELETE

此端点需要管理员权限。

删除用户。

示例:

DELETE /users/20.xml

响应:

  • 204 No Content:用户已被删除

另请参阅

  • 有关添加或从项目中删除用户的成员资格API
  • 有关添加或从组中删除用户的组API

Lorenzo Meneghetti更新,8个月前 · 30次修订