- Users API
- Users API
- List users
- Single user
- User creation
- User modification
- Delete authentication identity from user
- User deletion
- List current user (for normal users)
- List current user (for admins)
- User status
- Get the status of a user
- Set user status
- User counts
- List user projects
- List SSH keys
- List SSH keys for user
- Single SSH key
- Add SSH key
- Add SSH key for user
- Delete SSH key for current user
- Delete SSH key for given user
- List all GPG keys
- Get a specific GPG key
- Add a GPG key
- Delete a GPG key
- List all GPG keys for given user
- Get a specific GPG key for a given user
- Add a GPG key for a given user
- Delete a GPG key for a given user
- List emails
- List emails for user
- Single email
- Add email
- Add email for user
- Delete email for current user
- Delete email for given user
- Block user
- Unblock user
- Deactivate user
- Activate user
- Get all impersonation tokens of a user
- Get an impersonation token of a user
- Create an impersonation token
- Revoke an impersonation token
- User memberships (admin only)
Users API
- List users
- Single user
- User creation
- User modification
- Delete authentication identity from user
- User deletion
- List current user (for normal users)
- List current user (for admins)
- User status
- Get the status of a user
- Set user status
- User counts
- List user projects
- List SSH keys
- List SSH keys for user
- Single SSH key
- Add SSH key
- Add SSH key for user
- Delete SSH key for current user
- Delete SSH key for given user
- List all GPG keys
- Get a specific GPG key
- Add a GPG key
- Delete a GPG key
- List all GPG keys for given user
- Get a specific GPG key for a given user
- Add a GPG key for a given user
- Delete a GPG key for a given user
- List emails
- List emails for user
- Single email
- Add email
- Add email for user
- Delete email for current user
- Delete email for given user
- Block user
- Unblock user
- Deactivate user
- Activate user
- Get all impersonation tokens of a user
- Get an impersonation token of a user
- Create an impersonation token
- Revoke an impersonation token
- User memberships (admin only)
Users API
List users
活动用户=帐户总数-被阻止的用户
获取用户列表.
此函数使用分页参数page
和per_page
来限制用户列表.
For normal users
GET /users
[ { "id": 1, "username": "john_smith", "name": "John Smith", "state": "active", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/cd8.jpeg", "web_url": "http://localhost:3000/john_smith" }, { "id": 2, "username": "jack_smith", "name": "Jack Smith", "state": "blocked", "avatar_url": "http://gravatar.com/../e32131cd8.jpeg", "web_url": "http://localhost:3000/jack_smith" } ]
您还可以使用?search=
通过名称或主要电子邮件搜索用户. 例如. /users?search=John
.
另外,您可以按用户名查找用户:
GET /users?username=:username
例如:
GET /users?username=jack_smith
另外,您可以根据状态过滤用户,例如. blocked
, active
此选项仅用于过滤被blocked
或active
用户. 它不支持active=false
或blocked=false
.
GET /users?active=true
GET /users?blocked=true
注意:用户名搜索不区分大小写.
For admins
GET /users
Attribute | Type | Required | Description |
---|---|---|---|
order_by |
string | no | 返回按id , name , username , created_at 或updated_at 字段排序的username . 默认为id |
sort |
string | no | 返回用户按asc 或desc 排列. 默认为desc |
two_factor |
string | no | 通过两因素身份验证过滤用户. enabled 或disabled 过滤器值. 默认情况下,它返回所有用户 |
without_projects |
boolean | no | 过滤没有项目的用户. 默认为false |
[ { "id": 1, "username": "john_smith", "email": "john@example.com", "name": "John Smith", "state": "active", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/index.jpg", "web_url": "http://localhost:3000/john_smith", "created_at": "2012-05-23T08:00:58Z", "is_admin": false, "bio": null, "bio_html": null, "location": null, "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": "", "job_title": "", "last_sign_in_at": "2012-06-01T11:41:01Z", "confirmed_at": "2012-05-23T09:05:22Z", "theme_id": 1, "last_activity_on": "2012-05-23", "color_scheme_id": 2, "projects_limit": 100, "current_sign_in_at": "2012-06-02T06:36:55Z", "note": "DMCA Request: 2018-11-05 | DMCA Violation | Abuse | https://gitlab.zendesk.com/agent/tickets/123", "identities": [ {"provider": "github", "extern_uid": "2435223452345"}, {"provider": "bitbucket", "extern_uid": "john.smith"}, {"provider": "google_oauth2", "extern_uid": "8776128412476123468721346"} ], "can_create_group": true, "can_create_project": true, "two_factor_enabled": true, "external": false, "private_profile": false, "current_sign_in_ip": "196.165.1.102", "last_sign_in_ip": "172.127.2.22" }, { "id": 2, "username": "jack_smith", "email": "jack@example.com", "name": "Jack Smith", "state": "blocked", "avatar_url": "http://localhost:3000/uploads/user/avatar/2/index.jpg", "web_url": "http://localhost:3000/jack_smith", "created_at": "2012-05-23T08:01:01Z", "is_admin": false, "bio": null, "bio_html": null, "location": null, "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": "", "job_title": "", "last_sign_in_at": null, "confirmed_at": "2012-05-30T16:53:06.148Z", "theme_id": 1, "last_activity_on": "2012-05-23", "color_scheme_id": 3, "projects_limit": 100, "current_sign_in_at": "2014-03-19T17:54:13Z", "identities": [], "can_create_group": true, "can_create_project": true, "two_factor_enabled": true, "external": false, "private_profile": false, "current_sign_in_ip": "10.165.1.102", "last_sign_in_ip": "172.127.2.22" } ]
使用 GitLab Starter,Bronze 或更高版本的用户还将看到shared_runners_minutes_limit
和extra_shared_runners_minutes_limit
参数.
[ { "id": 1, ... "shared_runners_minutes_limit": 133, "extra_shared_runners_minutes_limit": 133, ... } ]
使用 GitLab Silver 或更高版本的用户还将看到group_saml
提供程序选项:
[ { "id": 1, ... "identities": [ {"provider": "github", "extern_uid": "2435223452345"}, {"provider": "bitbucket", "extern_uid": "john.smith"}, {"provider": "google_oauth2", "extern_uid": "8776128412476123468721346"}, {"provider": "group_saml", "extern_uid": "123789", "saml_provider_id": 10} ], ... } ]
您可以通过外部 UID 和提供程序查找用户:
GET /users?extern_uid=:extern_uid&provider=:provider
例如:
GET /users?extern_uid=1234567&provider=github
您可以使用/users?external=true
搜索外部/users?external=true
您可以使用以下创建日期时间范围来搜索用户:
GET /users?created_before=2001-01-02T00:00:00.060Z&created_after=1999-01-02T00:00:00.060
您可以使用/users?without_projects=true
搜索没有项目的/users?without_projects=true
您可以使用以下自定义属性进行过滤:
GET /users?custom_attributes[key]=value&custom_attributes[other_key]=other_value
您可以通过以下方式在响应中包括用户的自定义属性 :
GET /users?with_custom_attributes=true
Single user
获得一个用户.
For user
GET /users/:id
Parameters:
id
(必填)-用户的 ID
{ "id": 1, "username": "john_smith", "name": "John Smith", "state": "active", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/cd8.jpeg", "web_url": "http://localhost:3000/john_smith", "created_at": "2012-05-23T08:00:58Z", "bio": null, "bio_html": null, "location": null, "public_email": "john@example.com", "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": "", "job_title": "Operations Specialist" }
For admin
GET /users/:id
Parameters:
id
(必填)-用户的 ID
响应示例:
{ "id": 1, "username": "john_smith", "email": "john@example.com", "name": "John Smith", "state": "active", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/index.jpg", "web_url": "http://localhost:3000/john_smith", "created_at": "2012-05-23T08:00:58Z", "is_admin": false, "bio": null, "bio_html": null, "location": null, "public_email": "john@example.com", "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": "", "job_title": "Operations Specialist", "last_sign_in_at": "2012-06-01T11:41:01Z", "confirmed_at": "2012-05-23T09:05:22Z", "theme_id": 1, "last_activity_on": "2012-05-23", "color_scheme_id": 2, "projects_limit": 100, "current_sign_in_at": "2012-06-02T06:36:55Z", "note": "DMCA Request: 2018-11-05 | DMCA Violation | Abuse | https://gitlab.zendesk.com/agent/tickets/123", "identities": [ {"provider": "github", "extern_uid": "2435223452345"}, {"provider": "bitbucket", "extern_uid": "john.smith"}, {"provider": "google_oauth2", "extern_uid": "8776128412476123468721346"} ], "can_create_group": true, "can_create_project": true, "two_factor_enabled": true, "external": false, "private_profile": false, "current_sign_in_ip": "196.165.1.102", "last_sign_in_ip": "172.127.2.22", "plan": "gold", "trial": true }
注意: plan
和trial
参数仅在 GitLab 企业版上可用.
使用 GitLab Starter,Bronze 或更高版本的用户还将看到shared_runners_minutes_limit
和extra_shared_runners_minutes_limit
参数.
{ "id": 1, "username": "john_smith", "shared_runners_minutes_limit": 133, "extra_shared_runners_minutes_limit": 133, ... }
GitLab.com Silver 或更高版本上的用户还将看到group_saml
选项:
{ "id": 1, "username": "john_smith", "shared_runners_minutes_limit": 133, "extra_shared_runners_minutes_limit": 133, "identities": [ {"provider": "github", "extern_uid": "2435223452345"}, {"provider": "bitbucket", "extern_uid": "john.smith"}, {"provider": "google_oauth2", "extern_uid": "8776128412476123468721346"}, {"provider": "group_saml", "extern_uid": "123789", "saml_provider_id": 10} ], ... }
您可以通过以下方式在响应中包括用户的自定义属性 :
GET /users/:id?with_custom_attributes=true
User creation
Creates a new user. Note only administrators can create new users. Either password
, reset_password
, or force_random_password
must be specified. If reset_password
and force_random_password
are both false
, then password
is required.
请注意, force_random_password
和reset_password
优先级高于password
. 此外, reset_password
和force_random_password
可以一起使用.
注意:从GitLab 12.1 开始 , private_profile
将默认为false
.
POST /users
Parameters:
Attribute | Required | Description |
---|---|---|
admin |
No | 用户是管理员-正确或错误(默认) |
avatar |
No | 用户头像的图像文件 |
bio |
No | 用户的传记 |
can_create_group |
No | 用户可以创建组-正确或错误 |
color_scheme_id |
No | 用户针对文件查看器的配色方案(有关更多信息,请参见用户首选项文档 ) |
email |
Yes | |
extern_uid |
No | 外部 UID |
external |
No | 将用户标记为外部用户-true 或 false(默认) |
extra_shared_runners_minutes_limit |
No | 该用户的额外管道分钟配额(在计划中包括的分钟之外购买) |
force_random_password |
No | 将用户密码设置为随机值-正确或错误(默认) |
group_id_for_saml |
No | 已配置 SAML 的组的 ID |
linkedin |
No | |
location |
No | 用户位置 |
name |
Yes | Name |
note |
No | 该用户的管理说明 |
organization |
No | 机构名称 |
password |
No | Password |
private_profile |
No | 用户的个人资料是私有的-true,false(默认)或 null(将转换为 false) |
projects_limit |
No | 用户可以创建的项目数 |
provider |
No | 外部提供商名称 |
public_email |
No | 用户的公开电子邮件 |
reset_password |
No | 发送用户密码重置链接-正确或错误(默认) |
shared_runners_minutes_limit |
No | 该用户的管道分钟配额(包括在计划中). 可以为nil (默认值;继承系统默认值), 0 (无限制)或> 0 |
skip_confirmation |
No | 跳过确认-正确或错误(默认) |
skype |
No | Skype 帐号 |
theme_id |
No | 用户的 GitLab 主题(有关更多信息,请参见用户首选项文档 ) |
twitter |
No | Twitter 账号 |
username |
Yes | Username |
website_url |
No | 网址 |
User modification
修改现有用户. 只有管理员可以更改用户的属性.
PUT /users/:id
Parameters:
Attribute | Required | Description |
---|---|---|
admin |
No | 用户是管理员-正确或错误(默认) |
avatar |
No | 用户头像的图像文件 |
bio |
No | 用户的传记 |
can_create_group |
No | 用户可以创建组-正确或错误 |
color_scheme_id |
No | 用户针对文件查看器的配色方案(有关更多信息,请参见用户首选项文档 ) |
email |
No | |
extern_uid |
No | 外部 UID |
external |
No | 将用户标记为外部用户-true 或 false(默认) |
extra_shared_runners_minutes_limit |
No | 该用户的额外管道分钟配额(在计划中包括的分钟之外购买) |
group_id_for_saml |
No | 已配置 SAML 的组的 ID |
id |
Yes | 用户的 ID |
linkedin |
No | |
location |
No | 用户位置 |
name |
No | Name |
note |
No | 该用户的管理说明 |
organization |
No | 机构名称 |
password |
No | Password |
private_profile |
No | 用户的个人资料是私有的-true,false(默认)或 null(将转换为 false) |
projects_limit |
No | 限制每个用户可以创建的项目 |
provider |
No | 外部提供商名称 |
public_email |
No | 用户的公开电子邮件 |
shared_runners_minutes_limit |
No | 该用户的管道分钟配额(包括在计划中). 可以为nil (默认值;继承系统默认值), 0 (无限制)或> 0 |
skip_reconfirmation |
No | 跳过确认-正确或错误(默认) |
skype |
No | Skype 帐号 |
theme_id |
No | 用户的 GitLab 主题(有关更多信息,请参见用户首选项文档 ) |
twitter |
No | Twitter 账号 |
username |
No | Username |
website_url |
No | 网址 |
密码更新时,用户将被迫在下次登录时进行更改. 请注意,此方法目前仅返回404
错误,即使在409
(冲突)更为合适的情况下也是如此. 例如,将电子邮件地址重命名为某个现有地址时.
Delete authentication identity from user
使用与该身份关联的提供者名称删除用户的身份验证身份. 仅适用于管理员.
DELETE /users/:id/identities/:provider
Parameters:
id
(必填)-用户的 IDprovider
(必填)-外部提供程序名称
User deletion
删除用户. 仅适用于管理员. 如果操作成功,则返回204 No Content
状态代码;如果找不到资源,则返回404
如果无法软删除用户,则返回409
.
DELETE /users/:id
Parameters:
List current user (for normal users)
获取当前经过身份验证的用户.
GET /user
{ "id": 1, "username": "john_smith", "email": "john@example.com", "name": "John Smith", "state": "active", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/index.jpg", "web_url": "http://localhost:3000/john_smith", "created_at": "2012-05-23T08:00:58Z", "bio": null, "bio_html": null, "location": null, "public_email": "john@example.com", "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": "", "last_sign_in_at": "2012-06-01T11:41:01Z", "confirmed_at": "2012-05-23T09:05:22Z", "theme_id": 1, "last_activity_on": "2012-05-23", "color_scheme_id": 2, "projects_limit": 100, "current_sign_in_at": "2012-06-02T06:36:55Z", "identities": [ {"provider": "github", "extern_uid": "2435223452345"}, {"provider": "bitbucket", "extern_uid": "john_smith"}, {"provider": "google_oauth2", "extern_uid": "8776128412476123468721346"} ], "can_create_group": true, "can_create_project": true, "two_factor_enabled": true, "external": false, "private_profile": false }
List current user (for admins)
Parameters:
sudo
(可选)-在其位置进行呼叫的用户的 ID
GET /user
{ "id": 1, "username": "john_smith", "email": "john@example.com", "name": "John Smith", "state": "active", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/index.jpg", "web_url": "http://localhost:3000/john_smith", "created_at": "2012-05-23T08:00:58Z", "is_admin": false, "bio": null, "bio_html": null, "location": null, "public_email": "john@example.com", "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": "", "job_title": "", "last_sign_in_at": "2012-06-01T11:41:01Z", "confirmed_at": "2012-05-23T09:05:22Z", "theme_id": 1, "last_activity_on": "2012-05-23", "color_scheme_id": 2, "projects_limit": 100, "current_sign_in_at": "2012-06-02T06:36:55Z", "identities": [ {"provider": "github", "extern_uid": "2435223452345"}, {"provider": "bitbucket", "extern_uid": "john_smith"}, {"provider": "google_oauth2", "extern_uid": "8776128412476123468721346"} ], "can_create_group": true, "can_create_project": true, "two_factor_enabled": true, "external": false, "private_profile": false, "current_sign_in_ip": "196.165.1.102", "last_sign_in_ip": "172.127.2.22" }
User status
获取当前登录用户的状态.
GET /user/status
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/user/status"
响应示例:
{ "emoji":"coffee", "message":"I crave coffee :coffee:", "message_html": "I crave coffee <gl-emoji title=\"hot beverage\" data-name=\"coffee\" data-unicode-version=\"4.0\">☕</gl-emoji>" }
Get the status of a user
获取用户的状态.
GET /users/:id_or_username/status
Attribute | Type | Required | Description |
---|---|---|---|
id_or_username |
string | yes | 用户的 ID 或用户名,以获取状态 |
curl "https://gitlab.example.com/users/janedoe/status"
响应示例:
{ "emoji":"coffee", "message":"I crave coffee :coffee:", "message_html": "I crave coffee <gl-emoji title=\"hot beverage\" data-name=\"coffee\" data-unicode-version=\"4.0\">☕</gl-emoji>" }
Set user status
设置当前用户的状态.
PUT /user/status
Attribute | Type | Required | Description |
---|---|---|---|
emoji |
string | no | 用作状态的表情符号名称. 如果省略,则使用speech_balloon . 表情符号名称可以是Gemojione 索引中指定的名称之一. |
message |
string | no | 设置为状态的消息. 它还可以包含表情符号代码. |
当参数emoji
和message
都为空时,状态将被清除.
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --data "emoji=coffee" --data "message=I crave coffee" "https://gitlab.example.com/api/v4/user/status"
回应范例
{ "emoji":"coffee", "message":"I crave coffee", "message_html": "I crave coffee" }
User counts
获取当前登录用户的计数(与右上角菜单相同).
Attribute | Type | Description |
---|---|---|
merge_requests |
number | 合并活动的请求并分配给当前用户. |
GET /user_counts
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/user_counts"
响应示例:
{ "merge_requests": 4 }
List user projects
请参考用户项目列表 .
List SSH keys
获取当前经过身份验证的用户的 SSH 密钥的列表.
GET /user/keys
[ { "id": 1, "title": "Public key", "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=", "created_at": "2014-08-01T14:47:39.080Z" }, { "id": 3, "title": "Another Public key", "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=", "created_at": "2014-08-01T14:47:39.080Z" } ]
Parameters:
- none
List SSH keys for user
获取指定用户的 SSH 密钥的列表.
GET /users/:id_or_username/keys
Attribute | Type | Required | Description |
---|---|---|---|
id_or_username |
string | yes | 要为其获取 SSH 密钥的用户的 ID 或用户名. |
Single SSH key
获取一个密钥.
GET /user/keys/:key_id
Parameters:
key_id
(必填)key_id
密钥的 ID
{ "id": 1, "title": "Public key", "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=", "created_at": "2014-08-01T14:47:39.080Z" }
Add SSH key
创建当前经过身份验证的用户拥有的新密钥.
POST /user/keys
Parameters:
title
(必填)-新的 SSH 密钥的标题key
(必填)-新的 SSH 密钥expires_at
(可选)-ISO 8601 格式的 SSH 密钥的到期日期(YYYY-MM-DDTHH:MM:SSZ
)
{ "title": "ABC", "key": "ssh-dss AAAAB3NzaC1kc3MAAACBAMLrhYgI3atfrSD6KDas1b/3n6R/HP+bLaHHX6oh+L1vg31mdUqK0Ac/NjZoQunavoyzqdPYhFz9zzOezCrZKjuJDS3NRK9rspvjgM0xYR4d47oNZbdZbwkI4cTv/gcMlquRy0OvpfIvJtjtaJWMwTLtM5VhRusRuUlpH99UUVeXAAAAFQCVyX+92hBEjInEKL0v13c/egDCTQAAAIEAvFdWGq0ccOPbw4f/F8LpZqvWDydAcpXHV3thwb7WkFfppvm4SZte0zds1FJ+Hr8Xzzc5zMHe6J4Nlay/rP4ewmIW7iFKNBEYb/yWa+ceLrs+TfR672TaAgO6o7iSRofEq5YLdwgrwkMmIawa21FrZ2D9SPao/IwvENzk/xcHu7YAAACAQFXQH6HQnxOrw4dqf0NqeKy1tfIPxYYUZhPJfo9O0AmBW2S36pD2l14kS89fvz6Y1g8gN/FwFnRncMzlLY/hX70FSc/3hKBSbH6C6j8hwlgFKfizav21eS358JJz93leOakJZnGb8XlWvz1UJbwCsnR2VEY8Dz90uIk1l/UqHkA= loic@call", "expires_at": "2016-01-21T00:00:00.000Z" }
将返回状态为201 Created
成功的已创建密钥. 如果发生错误,则会返回400 Bad Request
,并附有一条解释该错误的消息:
{ "message": { "fingerprint": [ "has already been taken" ], "key": [ "has already been taken" ] } }
Add SSH key for user
创建指定用户拥有的新密钥. 仅适用于管理员
POST /users/:id/keys
Parameters:
id
(必填)-指定用户的 IDtitle
(必填)-新的 SSH 密钥的标题key
(必填)-新的 SSH 密钥expires_at
(可选)-ISO 8601 格式的 SSH 密钥的到期日期(YYYY-MM-DDTHH:MM:SSZ
)
注意:这还会添加一个审核事件,如审核实例事件中所述 .
Delete SSH key for current user
删除当前经过身份验证的用户拥有的密钥. 如果操作成功,则返回204 No Content
状态代码;如果找不到资源,则返回404
.
DELETE /user/keys/:key_id
Parameters:
key_id
(必填)key_id
密钥 ID
Delete SSH key for given user
删除指定用户拥有的密钥. 仅适用于管理员.
DELETE /users/:id/keys/:key_id
Parameters:
id
(必填)-指定用户的 IDkey_id
(必填)key_id
密钥 ID
List all GPG keys
获取当前已验证用户的 GPG 密钥的列表.
GET /user/gpg_keys
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/user/gpg_keys"
响应示例:
[ { "id": 1, "key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\r\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\r\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\r\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\r\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\r\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\r\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\r\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\r\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\r\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\r\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\r\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\r\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\r\n=XQoy\r\n-----END PGP PUBLIC KEY BLOCK-----", "created_at": "2017-09-05T09:17:46.264Z" } ]
Get a specific GPG key
获取当前已认证用户的特定 GPG 密钥.
GET /user/gpg_keys/:key_id
Parameters:
Attribute | Type | Required | Description |
---|---|---|---|
key_id |
integer | yes | GPG 密钥的 ID |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/user/gpg_keys/1"
响应示例:
{ "id": 1, "key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\r\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\r\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\r\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\r\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\r\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\r\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\r\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\r\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\r\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\r\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\r\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\r\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\r\n=XQoy\r\n-----END PGP PUBLIC KEY BLOCK-----", "created_at": "2017-09-05T09:17:46.264Z" }
Add a GPG key
创建由当前身份验证用户拥有的新 GPG 密钥.
POST /user/gpg_keys
Parameters:
Attribute | Type | Required | Description |
---|---|---|---|
key | string | yes | 新的 GPG 密钥 |
curl --data "key=-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFV..." --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/user/gpg_keys"
响应示例:
[ { "id": 1, "key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\r\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\r\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\r\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\r\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\r\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\r\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\r\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\r\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\r\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\r\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\r\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\r\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\r\n=XQoy\r\n-----END PGP PUBLIC KEY BLOCK-----", "created_at": "2017-09-05T09:17:46.264Z" } ]
Delete a GPG key
删除当前经过身份验证的用户拥有的 GPG 密钥.
DELETE /user/gpg_keys/:key_id
Parameters:
Attribute | Type | Required | Description |
---|---|---|---|
key_id |
integer | yes | GPG 密钥的 ID |
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/user/gpg_keys/1"
成功时返回204 No Content
,如果404 Not found
密钥,则返回404 Not found
found.
List all GPG keys for given user
获取指定用户的 GPG 密钥的列表. 仅适用于管理员.
GET /users/:id/gpg_keys
Parameters:
Attribute | Type | Required | Description |
---|---|---|---|
id |
integer | yes | 用户的 ID |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/2/gpg_keys"
响应示例:
[ { "id": 1, "key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\r\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\r\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\r\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\r\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\r\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\r\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\r\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\r\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\r\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\r\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\r\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\r\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\r\n=XQoy\r\n-----END PGP PUBLIC KEY BLOCK-----", "created_at": "2017-09-05T09:17:46.264Z" } ]
Get a specific GPG key for a given user
获取给定用户的特定 GPG 密钥. 仅适用于管理员.
GET /users/:id/gpg_keys/:key_id
Parameters:
Attribute | Type | Required | Description |
---|---|---|---|
id |
integer | yes | 用户的 ID |
key_id |
integer | yes | GPG 密钥的 ID |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/2/gpg_keys/1"
响应示例:
{ "id": 1, "key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\r\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\r\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\r\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\r\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\r\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\r\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\r\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\r\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\r\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\r\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\r\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\r\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\r\n=XQoy\r\n-----END PGP PUBLIC KEY BLOCK-----", "created_at": "2017-09-05T09:17:46.264Z" }
Add a GPG key for a given user
创建指定用户拥有的新 GPG 密钥. 仅适用于管理员.
POST /users/:id/gpg_keys
Parameters:
Attribute | Type | Required | Description |
---|---|---|---|
id |
integer | yes | 用户的 ID |
key_id |
integer | yes | GPG 密钥的 ID |
curl --data "key=-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFV..." --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/2/gpg_keys"
响应示例:
[ { "id": 1, "key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\r\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\r\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\r\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\r\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\r\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\r\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\r\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\r\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\r\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\r\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\r\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\r\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\r\n=XQoy\r\n-----END PGP PUBLIC KEY BLOCK-----", "created_at": "2017-09-05T09:17:46.264Z" } ]
Delete a GPG key for a given user
删除指定用户拥有的 GPG 密钥. 仅适用于管理员.
DELETE /users/:id/gpg_keys/:key_id
Parameters:
Attribute | Type | Required | Description |
---|---|---|---|
id |
integer | yes | 用户的 ID |
key_id |
integer | yes | The ID of the GPG key |
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/2/gpg_keys/1"
List emails
获取当前经过身份验证的用户电子邮件列表.
GET /user/emails
[ { "id": 1, "email": "email@example.com" }, { "id": 3, "email": "email2@example.com" } ]
Parameters:
- none
List emails for user
获取指定用户的电子邮件列表. 仅适用于管理员
GET /users/:id/emails
Parameters:
id
(必填)-指定用户的 ID
Single email
收到一封电子邮件.
GET /user/emails/:email_id
Parameters:
email_id
(必填)-电子邮件 ID
{ "id": 1, "email": "email@example.com" }
Add email
创建由当前身份验证用户拥有的新电子邮件.
POST /user/emails
Parameters:
email
(必填)-电子邮件地址
{ "id": 4, "email": "email@example.com" }
将返回状态为201 Created
成功的已创建电子邮件. 如果发生错误,则会返回400 Bad Request
,并附有一条解释该错误的消息:
{ "message": { "email": [ "has already been taken" ] } }
Add email for user
创建指定用户拥有的新电子邮件. 仅适用于管理员
POST /users/:id/emails
Parameters:
id
(必填)-指定用户的 IDemail
(必填)-电子邮件地址skip_confirmation
(可选)-跳过确认并假定电子邮件已通过验证skip_confirmation
或 false(默认)
Delete email for current user
删除当前经过身份验证的用户拥有的电子邮件. 如果操作成功,则返回204 No Content
状态代码;如果找不到资源,则返回404
.
DELETE /user/emails/:email_id
Parameters:
email_id
(必填)-电子邮件 ID
Delete email for given user
删除指定用户拥有的电子邮件. 仅适用于管理员.
DELETE /users/:id/emails/:email_id
Parameters:
id
(必填)-指定用户的 IDemail_id
(必填)-电子邮件 ID
Block user
阻止指定的用户. 仅适用于管理员.
POST /users/:id/block
Parameters:
id
(必填)-指定用户的 ID
Returns:
201 OK
成功成功.404 User Not Found
如果404 User Not Found
用户,则404 User Not Found
用户.403 Forbidden
尝试通过 LDAP 同步阻止已阻止的用户时禁止.
Unblock user
取消阻止指定的用户. 仅适用于管理员.
POST /users/:id/unblock
Parameters:
id
(必填)-指定用户的 ID
尝试取消阻止被 LDAP 同步阻止的用户时,成功返回201 OK
,成功返回404 User Not Found
或403 Forbidden
.
Deactivate user
在 GitLab 12.4 中引入 .
停用指定的用户. 仅适用于管理员.
POST /users/:id/deactivate
Parameters:
id
(必填)-指定用户的 ID
Returns:
201 OK
成功成功.404 User Not Found
如果404 User Not Found
用户,则404 User Not Found
用户.403 Forbidden
尝试停用用户时被禁止:- 被管理员或 LDAP 同步阻止.
- 在过去 180 天内没有任何活动. 这些用户无法停用.
Activate user
在 GitLab 12.4 中引入 .
激活指定的用户. 仅适用于管理员.
POST /users/:id/activate
Parameters:
id
(必填)-指定用户的 ID
Returns:
201 OK
成功成功.404 User Not Found
如果404 User Not Found
用户,则404 User Not Found
用户.403 Forbidden
尝试激活被管理员或 LDAP 同步阻止的用户时禁止.
Get user contribution events
请参阅事件 API 文档
Get all impersonation tokens of a user
需要管理员权限.
它检索用户的每个模拟令牌. 使用分页参数page
和per_page
可以限制模拟令牌的列表.
GET /users/:user_id/impersonation_tokens
Parameters:
Attribute | Type | Required | Description |
---|---|---|---|
user_id |
integer | yes | 用户的 ID |
state |
string | no | 根据状态( all , active , inactive )过滤令牌 |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/42/impersonation_tokens"
响应示例:
[ { "active" : true, "scopes" : [ "api" ], "revoked" : false, "name" : "mytoken", "id" : 2, "created_at" : "2017-03-17T17:18:09.283Z", "impersonation" : true, "expires_at" : "2017-04-04" }, { "active" : false, "scopes" : [ "read_user" ], "revoked" : true, "name" : "mytoken2", "created_at" : "2017-03-17T17:19:28.697Z", "id" : 3, "impersonation" : true, "expires_at" : "2017-04-14" } ]
Get an impersonation token of a user
需要管理员权限.
它显示了用户的模拟令牌.
GET /users/:user_id/impersonation_tokens/:impersonation_token_id
Parameters:
Attribute | Type | Required | Description |
---|---|---|---|
user_id |
integer | yes | 用户的 ID |
impersonation_token_id |
integer | yes | 模拟令牌的 ID |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/42/impersonation_tokens/2"
响应示例:
{ "active" : true, "scopes" : [ "api" ], "revoked" : false, "name" : "mytoken", "id" : 2, "created_at" : "2017-03-17T17:18:09.283Z", "impersonation" : true, "expires_at" : "2017-04-04" }
Create an impersonation token
需要管理员权限. 令牌值返回一次. 确保将其保存-您将无法再次访问它.
它创建一个新的模拟令牌. 请注意,只有管理员可以执行此操作. 您只能创建模拟令牌来模拟用户,并执行 API 调用和 Git 读写. 用户将不会在其个人资料设置页面中看到这些令牌.
POST /users/:user_id/impersonation_tokens
Attribute | Type | Required | Description |
---|---|---|---|
user_id |
integer | yes | 用户的 ID |
name |
string | yes | 模拟令牌的名称 |
expires_at |
date | no | ISO 格式( YYYY-MM-DD )的模拟令牌的到期日期 |
scopes |
array | yes | 模拟令牌作用域的数组( api , read_user ) |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --data "name=mytoken" --data "expires_at=2017-04-04" --data "scopes[]=api" "https://gitlab.example.com/api/v4/users/42/impersonation_tokens"
响应示例:
{ "id" : 2, "revoked" : false, "scopes" : [ "api" ], "token" : "EsMo-vhKfXGwX9RKrwiy", "active" : true, "impersonation" : true, "name" : "mytoken", "created_at" : "2017-03-17T17:18:09.283Z", "expires_at" : "2017-04-04" }
Revoke an impersonation token
需要管理员权限.
它撤销模拟令牌.
DELETE /users/:user_id/impersonation_tokens/:impersonation_token_id
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/42/impersonation_tokens/1"
Parameters:
Attribute | Type | Required | Description |
---|---|---|---|
user_id |
integer | yes | 用户的 ID |
impersonation_token_id |
integer | yes | 模拟令牌的 ID |
Get user activities (admin only)
注意:此 API 端点仅在 8.15(EE)和 9.1(CE)及更高版本上可用.
获取所有用户的上次活动日期,从最旧到最新.
更新时间戳记的活动是:
- Git HTTP / SSH 活动(例如克隆,推送)
- 用户登录 GitLab
- 与仪表板,项目,问题和合并请求相关的用户访问页面(在 GitLab 11.8 中引入 )
- 用户使用 API
- 用户使用 GraphQL API
默认情况下,它显示最近 6 个月内所有用户的活动,但是可以使用from
参数进行修改.
GET /user/activities
Parameters:
Attribute | Type | Required | Description |
---|---|---|---|
from |
string | no | 日期字符串,格式为 YEAR-MONTH-DAY. 例如, 2016-03-11 . 默认为 6 个月前. |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/user/activities"
响应示例:
[ { "username": "user1", "last_activity_on": "2015-12-14", "last_activity_at": "2015-12-14" }, { "username": "user2", "last_activity_on": "2015-12-15", "last_activity_at": "2015-12-15" }, { "username": "user3", "last_activity_on": "2015-12-16", "last_activity_at": "2015-12-16" } ]
请注意, last_activity_at
已过时,请使用last_activity_on
.
User memberships (admin only)
在 GitLab 12.8 中引入 .
列出用户所属的所有项目和组. 该端点仅适用于管理员. 它返回成员资格的source_id
, source_name
, source_type
和access_level
. 源可以是Namespace
(代表一个组)或Project
. 响应仅代表直接成员身份. 不包括继承的成员资格,例如在子组中. 访问级别由整数值表示. 有关更多详细信息,请阅读有关访问级别值的含义.
GET /users/:id/memberships
Parameters:
Attribute | Type | Required | Description |
---|---|---|---|
id |
integer | yes | 指定用户的 ID |
type |
string | no | 按类型过滤成员资格. 可以是Project 或Namespace |
Returns:
200 OK
成功.404 User Not Found
if user can’t be found.403 Forbidden
管理员未要求时禁止.- 不支持请求的类型时出现
400 Bad Request
.
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/:user_id/memberships"
响应示例:
[ { "source_id": 1, "source_name": "Project one", "source_type": "Project", "access_level": "20" }, { "source_id": 3, "source_name": "Group three", "source_type": "Namespace", "access_level": "20" }, ]