- ユーザー一覧
- シングルユーザー
- ユーザー作成
- ユーザー修正
- ユーザーから認証 ID を削除します。
- ユーザー削除
- 現在のユーザーを表示
- ユーザーのステータス
- ユーザーのステータスの取得
- ユーザーステータスの設定
- ユーザー設定の取得
- ユーザー設定の変更
- ユーザーフォロー
- ユーザー数
- サービスアカウントユーザーの作成
- ユーザープロジェクトのリスト
- ユーザーのアソシエーション数一覧
- SSH キーのリスト
- ユーザーの SSH キーを一覧表示します。
- 単一のSSHキー
- 指定されたユーザー用の単一のSSHキー
- SSHキーの追加
- ユーザー用の SSH キーを追加します。
- 現在のユーザーの SSH キーを削除します。
- 指定したユーザーのSSHキーを削除します。
- すべての GPG 鍵の一覧
- 特定の GPG 鍵を取得
- GPGキーの追加
- GPG キーの削除
- 指定したユーザーのすべての GPG 鍵を一覧表示します。
- 指定したユーザーの特定の GPG 鍵を取得します。
- 指定されたユーザーの GPG 鍵を追加します。
- 指定されたユーザーの GPG 鍵を削除します。
- メール一覧
- ユーザーのEメールをリストアップします。
- 単一メール
- 電子メールを追加
- ユーザーの電子メールを追加します。
- 現在のユーザーのメールを削除します。
- 指定したユーザーのメールを削除します。
- ユーザーをブロック
- ブロック解除ユーザー
- ユーザーの無効化
- ユーザーをアクティベート
- ユーザーを禁止
- ユーザーを追放
- ユーザー貢献イベントの取得
- ユーザーのすべてのなりすましトークンを取得
- ユーザーの承認者
- ユーザーを拒否
- ユーザーのなりすましトークンの取得
- なりすましトークンの作成
- なりすましトークンの取り消し
- 個人アクセストークンの作成
- ユーザーアクティビティの取得
- ユーザーメンバーシップ
- 二要素認証の無効化
- ランナーの作成
ユーザーAPI
このドキュメントには、Users API の API コール、パラメータ、およびレスポンスに関する情報が記載されています。
ユーザーイベントのタイムスタンプを更新するユーザーアクティビティについては、ユーザーアクティビティの取得を参照してください。
ユーザー一覧
ユーザーのリストを取得します。
この関数は、ページ分割パラメータpage
とper_page
を受け取り、ユーザーのリストを制限します。
管理者以外のユーザーの場合
GET /users
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
username | 文字列です。 | いいえ | 特定のユーザー名を持つ単一のユーザーを取得します。 |
extern_uid | 文字列です。 | いいえ | 特定の外部認証プロバイダUIDを持つ単一のユーザーを取得します。 |
provider | 文字列です。 | いいえ | 外部プロバイダー。 |
search | 文字列です。 | いいえ | ユーザー名を検索します。 |
active | boolean | いいえ | アクティビティユーザーのみをフィルタリングします。デフォルトはfalse です。 |
external | boolean | いいえ | 外部ユーザーのみをフィルタリングします。デフォルトはfalse です。 |
exclude_external | boolean | いいえ | 外部ユーザー以外をフィルタリングします。デフォルトはfalse です。 |
blocked | boolean | いいえ | ブロックされたユーザーのみをフィルタリングします。デフォルトはfalse です。 |
created_after | 日付 | いいえ | 指定した時間以降に作成されたユーザーを返します。 |
created_before | 日付 | いいえ | 指定された時間以前に作成されたユーザーを返します。 |
exclude_internal | boolean | いいえ | 内部ユーザー以外をフィルタリングします。デフォルトはfalse です。 |
without_project_bots | boolean | いいえ | プロジェクトボットのないユーザーをフィルタリングします。デフォルトはfalse です。 |
[
{
"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=
を使って、名前、ユーザー名、公開Eメールでユーザーを検索することもできます。たとえば、/users?search=John
。を検索する場合:
- 公開電子メールを検索する場合は、完全一致を得るために完全な電子メール・アドレスを使用する必要があります。検索は部分一致を返すことがあります。たとえば、電子メールを検索した場合、
on@example.com
検索はon@example.com
jon@example.com
のon@example.com
両方を返す可能性がon@example.com
あります。 - 名前またはユーザー名は、あいまい検索なので、完全に一致する必要はありません。
また、ユーザー名でユーザーを検索することもできます:
GET /users?username=:username
使用例:
GET /users?username=jack_smith
さらに、blocked
とactive
の状態に基づいてユーザーをフィルタリングすることができます。active=false
とblocked=false
には対応していません。
GET /users?active=true
GET /users?blocked=true
さらに、external=true
を使用してのみ、内部ユーザーを検索できます。external=false
はサポートしていません。
GET /users?external=true
GitLabはアラートボットや サポートボットなどのボットユーザーをサポートしています。exclude_internal=true
パラメーター(GitLab 13.4 で導入)で、以下のタイプの内部ユーザーをユーザーリストから除外することができます:
- アラートボット
- サポートボット
ただし、このアクションはプロジェクトのボットユーザーや グループのボットユーザーを除外するものではありません。
GET /users?exclude_internal=true
また、ユーザーリストから内部ユーザーを除外するには、パラメータexclude_external=true
を使用します。
GET /users?exclude_external=true
プロジェクトのボットユーザーと グループのボットユーザーを除外するには、パラメータwithout_project_bots=true
を使用します。
GET /users?without_project_bots=true
管理者の場合
GET /users
誰でも使える全てのパラメータと、管理者だけが使える追加のパラメータを使うことができます。
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
order_by | 文字列です。 | いいえ |
id 、name 、username 、created_at 、updated_at フィールドの順にユーザーを返します。デフォルトはid
|
sort | 文字列です。 | いいえ | ユーザーをasc またはdesc 順序で desc ソートして返しますdesc 。デフォルトは desc
|
two_factor | 文字列です。 | いいえ | ユーザーを二要素認証でフィルタリングします。フィルタ値はenabled またはdisabled です。 デフォルトでは、すべてのユーザーを返します。 |
without_projects | boolean | いいえ | プロジェクトのないユーザーをフィルタリングします。デフォルトはfalse で、プロジェクトの有無にかかわらず、すべてのユーザーを返します。 |
admins | boolean | いいえ | 管理者のみを返します。デフォルトはfalse
|
auditors
| boolean | いいえ | 監査役ユーザーのみを返します。デフォルトはfalse です。 含まれない場合、すべてのユーザーを返します。 |
saml_provider_id
| 数 | いいえ | 指定した SAML プロバイダ ID によって作成されたユーザのみを返します。指定しない場合は、すべてのユーザを返します。 |
skip_ldap
| boolean | いいえ | LDAPユーザーをスキップします。 |
[
{
"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": "",
"location": null,
"skype": "",
"linkedin": "",
"twitter": "",
"discord": "",
"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",
"namespace_id": 1,
"created_by": null
},
{
"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": "",
"location": null,
"skype": "",
"linkedin": "",
"twitter": "",
"discord": "",
"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",
"namespace_id": 2,
"created_by": null
}
]
GitLab Premium または Ultimateのユーザーには、shared_runners_minutes_limit
,extra_shared_runners_minutes_limit
,is_auditor
,using_license_seat
パラメータも表示されます。
[
{
"id": 1,
...
"shared_runners_minutes_limit": 133,
"extra_shared_runners_minutes_limit": 133,
"is_auditor": false,
"using_license_seat": true
...
}
]
GitLab Premium または Ultimateのユーザーには、group_saml
プロバイダーオプションとprovisioned_by_group_id
パラメーターも表示されます:
[
{
"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}
],
"provisioned_by_group_id": 123789
...
}
]
また、?search=
を使って、名前、ユーザー名、Eメールでユーザーを検索することもできます。例えば、/users?search=John
.を検索する場合:
- を検索する場合、完全一致を得るには、完全な電子メール・アドレスを使用する必要があります。管理者であれば、公開メールアドレスと非公開メールアドレスの両方を検索できます。
- 名前またはユーザー名は、あいまい検索なので、完全に一致する必要はありません。
外部UIDとプロバイダからユーザーを検索することができます:
GET /users?extern_uid=:extern_uid&provider=:provider
使用例:
GET /users?extern_uid=1234567&provider=github
GitLab Premium または Ultimateのユーザーはscim
プロバイダを利用できます:
GET /users?extern_uid=1234567&provider=scim
で作成日時の範囲でユーザーを検索できます:
GET /users?created_before=2001-01-02T00:00:00.060Z&created_after=1999-01-02T00:00:00.060
でプロジェクトがないユーザーを検索できます:/users?without_projects=true
カスタム属性でフィルタリングできます:
GET /users?custom_attributes[key]=value&custom_attributes[other_key]=other_value
でユーザーのカスタム属性をレスポンスに含めることができます:
GET /users?with_custom_attributes=true
created_by
パラメータを使うと、ユーザーアカウントが作成されたかどうかを調べることができます:
返された値がnull
の場合、アカウントはユーザー自身が登録したものです。
シングルユーザー
シングルユーザーを取得します。
ユーザー
前提条件:
- このエンドポイントを使用するには、サインインする必要があります。
GET /users/:id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | ユーザーの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": "",
"bot": false,
"location": null,
"public_email": "john@example.com",
"skype": "",
"linkedin": "",
"twitter": "",
"discord": "",
"website_url": "",
"organization": "",
"job_title": "Operations Specialist",
"pronouns": "he/him",
"work_information": null,
"followers": 1,
"following": 1,
"local_time": "3:38 PM",
"is_followed": false
}
管理者の場合
GET /users/:id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | ユーザーの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": "",
"location": null,
"public_email": "john@example.com",
"skype": "",
"linkedin": "",
"twitter": "",
"discord": "",
"website_url": "",
"organization": "",
"job_title": "Operations Specialist",
"pronouns": "he/him",
"work_information": null,
"followers": 1,
"following": 1,
"local_time": "3:38 PM",
"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,
"commit_email": "john-codes@example.com",
"current_sign_in_ip": "196.165.1.102",
"last_sign_in_ip": "172.127.2.22",
"plan": "gold",
"trial": true,
"sign_in_count": 1337,
"namespace_id": 1,
"created_by": null
}
plan
とtrial
パラメータは GitLab Enterprise Edition でのみ利用可能です。GitLab PremiumまたはUltimateのユーザーには、shared_runners_minutes_limit
、is_auditor
、extra_shared_runners_minutes_limit
パラメータも表示されます。
{
"id": 1,
"username": "john_smith",
"is_auditor": false,
"shared_runners_minutes_limit": 133,
"extra_shared_runners_minutes_limit": 133,
...
}
GitLab.com Premium または Ultimateのユーザーには、group_saml
オプションとprovisioned_by_group_id
パラメーターも表示されます:
{
"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}
],
"provisioned_by_group_id": 123789
...
}
GitLab.com Premium または Ultimateのユーザーには、scim_identities
パラメータも表示されます:
{
...
"extra_shared_runners_minutes_limit": null,
"scim_identities": [
{"extern_uid": "2435223452345", "group_id": "3", "active": true},
{"extern_uid": "john.smith", "group_id": "42", "active": false}
]
...
}
管理者はcreated_by
パラメータを使ってユーザーアカウントが作成されたかどうかを確認することができます:
返された値がnull
の場合、アカウントはユーザー自身が登録したものです。
レスポンスには、ユーザーのカスタム属性を含めることができます:
GET /users/:id?with_custom_attributes=true
ユーザー作成
新しいユーザーを作成します。新しいユーザーを作成できるのは管理者のみです。password
、reset_password
、force_random_password
のいずれかを指定する必要があります。reset_password
とforce_random_password
の両方がfalse
の場合、password
が必要です。
force_random_password
とreset_password
は、password
より優先されます。また、reset_password
とforce_random_password
は併用できます。
POST /users
パラメータを指定します:
属性 | 必須 | 説明 |
---|---|---|
admin | なし | ユーザーは管理者です。有効な値はtrue またはfalse です。デフォルトはfalseです。 |
auditor
| なし | ユーザーは監査役です。有効な値はtrue またはfalse です。デフォルトは false です。GitLab 15.3 で導入。 |
avatar | なし | ユーザーアバター用画像ファイル |
bio | なし | ユーザーの経歴 |
can_create_group | なし | ユーザーがトップレベルのグループを作成できる - true または false |
color_scheme_id | なし | ファイルビューアのユーザー配色(詳細については、ユーザー設定ドキュメントを参照してください。) |
email | はい | メール |
extern_uid | なし | 外部UID |
external | なし | ユーザーを外部とフラグ付け - true または false (デフォルト) |
extra_shared_runners_minutes_limit
| なし | 管理者のみが設定できます。このユーザーの追加計算分。 |
force_random_password | なし | ユーザーパスワードをランダムな値に設定 - trueまたはfalse(デフォルト) |
group_id_for_saml | なし | SAML が設定されているグループの ID |
linkedin | なし | |
location | なし | ユーザーの所在地 |
name | はい | 名前 |
note | なし | このユーザーの管理者メモ |
organization | なし | 組織名 |
password | なし | パスワード |
private_profile | なし | ユーザーのプロフィールを非公開にするかどうかを設定します。デフォルト値はこの設定によって決まります。 |
projects_limit | なし | ユーザーが作成できるプロジェクトの数 |
provider | なし | 外部プロバイダー名 |
reset_password | なし | ユーザーパスワードリセットリンクの送信 - true または false(デフォルト) |
shared_runners_minutes_limit
| なし | 管理者のみが設定できます。このユーザーの月間最大計算分数。nil (デフォルト。システムのデフォルトを継承)、0 (無制限)、または> 0 。 |
skip_confirmation | なし | 確認をスキップ - true または false(デフォルト) |
skype | なし | スカイプID |
theme_id | なし | ユーザーのGitLabテーマ(詳細については、ユーザー設定ドキュメントを参照してください。) |
twitter | なし | Twitterアカウント |
discord | なし | Discordアカウント |
username | はい | ユーザー名 |
view_diffs_file_by_file | なし | ユーザーが1ページに1つのファイル差分しか見ないことを示すフラグ |
website_url | なし | ウェブサイトのURL |
ユーザー修正
既存のユーザーを変更します。ユーザーの属性を変更できるのは管理者のみです。
email
フィールドはユーザーのプライマリメールアドレスです。このフィールドを変更できるのは、そのユーザー用にすでに追加されているセカンダリEメールアドレスのみです。同じユーザーにさらにメールアドレスを追加するには、メール追加機能を使用してください。
PUT /users/:id
パラメータを指定します:
属性 | 必須 | 説明 |
---|---|---|
admin | なし | ユーザーは管理者です。有効な値はtrue またはfalse です。デフォルトはfalseです。 |
auditor
| なし | ユーザーは監査役です。有効な値はtrue またはfalse です。デフォルトはfalse。GitLab 15.3で導入されました。 |
avatar | なし | ユーザーアバター用画像ファイル |
bio | なし | ユーザーの経歴 |
can_create_group | なし | ユーザーがグループを作成できる - true または false |
color_scheme_id | なし | ファイル・ビューアーのユーザーの配色(詳細については、ユーザー設定のドキュメントを参照してください。) |
commit_email | なし | ユーザーのコミットメール。非公開のコミットメールを使用するには_private に設定します。GitLab 15.5で導入されました。 |
email | なし | メール |
extern_uid | なし | 外部UID |
external | なし | ユーザーを外部とフラグ付け - true または false (デフォルト) |
extra_shared_runners_minutes_limit
| なし | 管理者のみが設定できます。このユーザーの追加計算分。 |
group_id_for_saml | なし | SAML が設定されているグループの ID |
id | はい | ユーザーのID |
linkedin | なし | |
location | なし | ユーザーの所在地 |
name | なし | 名前 |
note | なし | このユーザーの管理メモ |
organization | なし | 組織名 |
password | なし | パスワード |
private_profile | なし | ユーザーのプロフィールは非公開です。 |
projects_limit | なし | 各ユーザーが作成できるプロジェクトの制限 |
pronouns | なし | 代名詞 |
provider | なし | 外部プロバイダー名 |
public_email | なし | ユーザーの公開メール(認証済みである必要があります。) |
shared_runners_minutes_limit
| なし | 管理者のみが設定できます。このユーザーの月間最大計算分数。nil (デフォルト、システムデフォルトを継承)、0 (無制限)、または> 0 。 |
skip_reconfirmation | なし | 再確認をスキップ - true または false(デフォルト) |
skype | なし | スカイプID |
theme_id | なし | ユーザーのGitLabテーマ(詳細については、ユーザー設定ドキュメントを参照してください。) |
twitter | なし | Twitterアカウント |
discord | なし | Discordアカウント |
username | なし | ユーザー名 |
view_diffs_file_by_file | なし | ユーザーが1ページに1つのファイル差分しか見ないことを示すフラグ |
website_url | なし | ウェブサイトのURL |
パスワードが更新されると、ユーザーは次回ログイン時にパスワードを変更するよう強制されます。今のところ、このメソッドは409
(Conflict) の方が適切な場合でも404
エラーしか返しません。例えば、メールアドレスの名前を既存のものに変更する場合などです。
ユーザーから認証 ID を削除します。
ID に関連付けられたプロバイダ名を使用して、ユーザーの認証 ID を削除します。管理者のみが使用できます。
DELETE /users/:id/identities/:provider
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | ユーザーのID |
provider | 文字列です。 | yes | 外部プロバイダー名 |
ユーザー削除
ユーザーを削除します。管理者のみ利用可能です。オペレーションに成功した場合は204 No Content
、リソースが見つからなかった場合は404
、ユーザーをソフト削除できなかった場合は409
。
DELETE /users/:id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | ユーザーのID |
hard_delete | boolean | いいえ | trueの場合、通常Ghost Userに移動される貢献者は、このユーザーのみが所有するグループと同様に、代わりに削除されます。 |
現在のユーザーを表示
現在のユーザーを取得します。
管理者以外のユーザーの場合
認証済みユーザーを取得します。
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": "",
"location": null,
"public_email": "john@example.com",
"skype": "",
"linkedin": "",
"twitter": "",
"discord": "",
"website_url": "",
"organization": "",
"job_title": "",
"pronouns": "he/him",
"bot": false,
"work_information": null,
"followers": 0,
"following": 0,
"local_time": "3:38 PM",
"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,
"commit_email": "admin@example.com",
}
GitLab Premium または Ultimateのユーザーにはshared_runners_minutes_limit
,extra_shared_runners_minutes_limit
パラメータも表示されます。
管理者の場合
GET /user
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
sudo | 整数。 | いいえ | 代わりに電話をかけるユーザーの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": true,
"bio": "",
"location": null,
"public_email": "john@example.com",
"skype": "",
"linkedin": "",
"twitter": "",
"discord": "",
"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,
"commit_email": "john-codes@example.com",
"current_sign_in_ip": "196.165.1.102",
"last_sign_in_ip": "172.127.2.22",
"namespace_id": 1,
"created_by": null,
"note": null
}
GitLab PremiumまたはUltimateのユーザーにもこれらのパラメータが表示されます:
shared_runners_minutes_limit
extra_shared_runners_minutes_limit
is_auditor
provisioned_by_group_id
using_license_seat
ユーザーのステータス
認証済みユーザーのステータスを取得します。
GET /user/status
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/user/status"
応答例
{
"emoji":"coffee",
"availability":"busy",
"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>",
"clear_status_at": null
}
ユーザーのステータスの取得
ユーザーのステータスを取得します。このエンドポイントは認証なしでアクセスできます。
GET /users/:id_or_username/status
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id_or_username | 文字列です。 | yes | ステータスを取得するユーザーのIDまたはユーザー名 |
curl "https://gitlab.example.com/users/janedoe/status"
応答例
{
"emoji":"coffee",
"availability":"busy",
"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>",
"clear_status_at": null
}
ユーザーステータスの設定
現在のユーザーのステータスを設定します。
PUT /user/status
PATCH /user/status
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
emoji | 文字列です。 | いいえ | ステータスとして使用する絵文字の名前。省略時はspeech_balloon 。絵文字名はGemojioneインデックスで指定された名前のいずれかになります。 |
message | 文字列です。 | いいえ | ステータスとして設定するメッセージ。絵文字コードを含むこともできます。100文字を超えることはできません。 |
clear_status_after | 文字列です。 | いいえ | 与えられた時間間隔の後に自動的にステータスをクリーンアップします:30_minutes 3_hours ,8_hours ,1_day ,3_days ,7_days 、30_days
|
PUT
とPATCH
PUT
を使用する場合、渡されなかったパラメータはnull
に設定され、クリアされます。PATCH
を使用する場合、渡されなかったパラメータは無視されます。フィールドをクリアするには、null
を明示的に渡します。
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --data "clear_status_after=1_day" --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",
"clear_status_at":"2021-02-15T10:49:01.311Z"
}
ユーザー設定の取得
認証済みユーザーの環境設定の一覧を取得します。
GET /user/preferences
応答例
{
"id": 1,
"user_id": 1,
"view_diffs_file_by_file": true,
"show_whitespace_in_diffs": false,
"pass_user_identities_to_ci_jwt": false
}
パラメータを指定します:
- なし
ユーザー設定の変更
現在のユーザーのプリファレンスを更新します。
PUT /user/preferences
{
"id": 1,
"user_id": 1,
"view_diffs_file_by_file": true,
"show_whitespace_in_diffs": false,
"pass_user_identities_to_ci_jwt": false
}
パラメータを指定します:
属性 | 必須 | 説明 |
---|---|---|
view_diffs_file_by_file | はい | ユーザーが1ページに1つのファイル差分しか見ないことを示すフラグ。 |
show_whitespace_in_diffs | はい | ユーザーが diff で空白の変更を見ることを示すフラグ。 |
pass_user_identities_to_ci_jwt | はい | ユーザーが CI 情報として外部 ID を渡すことを示すフラグ。この属性は、外部システムでユーザーを識別または認証するのに十分な情報を含んでいません。この属性は GitLab 内部で使われるものであり、サードパーティのサービスに渡してはいけません。詳細と例については、Token Payload を参照してください。 |
ユーザーフォロー
ユーザーのフォローとフォロー解除
ユーザーをフォロー
POST /users/:id/follow
ユーザーのフォローを解除します。
POST /users/:id/unfollow
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | フォローするユーザーのID |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/users/3/follow"
応答例
{
"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"
}
フォロワーとフォロー
ユーザーのフォロワーを取得します。
GET /users/:id/followers
フォローされているユーザーのリストを取得します。
GET /users/:id/following
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | フォローするユーザーのID |
curl --request GET --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/users/3/followers"
応答例
[
{
"id": 2,
"name": "Lennie Donnelly",
"username": "evette.kilback",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/7955171a55ac4997ed81e5976287890a?s=80&d=identicon",
"web_url": "http://127.0.0.1:3000/evette.kilback"
},
{
"id": 4,
"name": "Serena Bradtke",
"username": "cammy",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/a2daad869a7b60d3090b7b9bef4baf57?s=80&d=identicon",
"web_url": "http://127.0.0.1:3000/cammy"
}
]
ユーザー数
認証済みユーザーのカウント数(右上メニューと同じ)を取得します。
属性 | 種類 | 説明 |
---|---|---|
assigned_issues | 数 | 現在のユーザーに割り当てられているイシューの数。GitLab 14.2 で追加されました。 |
assigned_merge_requests | 数 | アクティブで現在のユーザーに割り当てられているマージリクエストの数。GitLab 13.8 で追加されました。 |
merge_requests | 数 | GitLab 13.8 で非推奨。assigned_merge_requests と同等であり、置き換わっています。 |
review_requested_merge_requests | 数 | 現在のユーザーがレビューをリクエストされたマージリクエストの数。GitLab 13.8 で追加されました。 |
todos | 数 | 現在のユーザーの保留中のTo-Doアイテムの数。GitLab 14.2で追加されました。 |
GET /user_counts
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/user_counts"
応答例
{
"merge_requests": 4,
"assigned_issues": 15,
"assigned_merge_requests": 11,
"review_requested_merge_requests": 0,
"todos": 1
}
サービスアカウントユーザーの作成
サービスアカウントユーザーを作成する機能はGitLab 16.1から導入されました。
自動生成されたメールアドレスとユーザー名でサービスアカウントユーザーを作成します。管理者のみ利用可能です。
POST /service_accounts
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/service_accounts"
ユーザープロジェクトのリスト
ユーザープロジェクトの一覧をご覧ください。
ユーザーのアソシエーション数一覧
指定したユーザーの関連カウントのリストを取得します:
- プロジェクト
- グループ
- イシュー
- マージリクエスト
管理者はどのユーザーにもクエリできますが、非管理者は自分自身にしかクエリできません。
GET /users/:id/associations_count
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | ユーザーのID |
応答例
{
"groups_count": 2,
"projects_count": 3,
"issues_count": 8,
"merge_requests_count": 5
}
SSH キーのリスト
認証済みユーザーの SSH キーの一覧を取得します。
この関数は、鍵の一覧を制限するためのページ分割パラメータpage
とper_page
を受け取ります。
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"
}
]
パラメータを指定します:
- なし
ユーザーの SSH キーを一覧表示します。
指定したユーザーのSSHキーの一覧を取得します。
GET /users/:id_or_username/keys
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id_or_username | 文字列です。 | yes | SSH キーを取得するユーザーの ID またはユーザー名。 |
単一のSSHキー
単一の鍵を取得します。
GET /user/keys/:key_id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
key_id | 文字列です。 | yes | SSHキーのID |
{
"id": 1,
"title": "Public key",
"key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",
"created_at": "2014-08-01T14:47:39.080Z"
}
指定されたユーザー用の単一のSSHキー
GitLab 14.9で導入されました。
指定したユーザーのキーを一つ取得します。
GET /users/:id/keys/:key_id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | 指定ユーザーのID |
key_id | 整数。 | yes | SSHキーID |
{
"id": 1,
"title": "Public key",
"key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",
"created_at": "2014-08-01T14:47:39.080Z"
}
SSHキーの追加
usage_type
パラメータは GitLab 15.7 で導入されました。
認証ユーザーが所有する新しい鍵を作成します。
POST /user/keys
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
title | 文字列です。 | yes | 新しいSSHキーのタイトル |
key | 文字列です。 | yes | 新しいSSHキー |
expires_at | 文字列です。 | いいえ | SSH キーの有効期限 (ISO 8601 形式) (YYYY-MM-DDTHH:MM:SSZ ) |
usage_type | 文字列です。 | いいえ | SSH キーの使用範囲:auth ,signing またはauth_and_signing .デフォルト: auth_and_signing
|
{
"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",
"usage_type": "auth"
}
成功すると、作成された鍵をステータス201 Created
で返します。エラーが発生した場合は、エラーを説明するメッセージとともに400 Bad Request
が返されます:
{
"message": {
"fingerprint": [
"has already been taken"
],
"key": [
"has already been taken"
]
}
}
ユーザー用の SSH キーを追加します。
usage_type
パラメータは GitLab 15.7 で導入されました。
指定したユーザーが所有する新しいキーを作成します。管理者のみ使用可能。
POST /users/:id/keys
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | 指定ユーザーのID |
title | 文字列です。 | yes | 新しいSSHキーのタイトル |
key | 文字列です。 | yes | 新しいSSHキー |
expires_at | 文字列です。 | いいえ | SSH キーの有効期限 (ISO 8601 形式) (YYYY-MM-DDTHH:MM:SSZ ) |
usage_type | 文字列です。 | いいえ | SSH キーの使用範囲:auth ,signing またはauth_and_signing .デフォルト: auth_and_signing
|
{
"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",
"usage_type": "auth"
}
成功すると、作成された鍵をステータス201 Created
で返します。エラーが発生した場合は、エラーを説明するメッセージとともに400 Bad Request
が返されます:
{
"message": {
"fingerprint": [
"has already been taken"
],
"key": [
"has already been taken"
]
}
}
現在のユーザーの SSH キーを削除します。
認証済みユーザーが所有する鍵を削除します。
オペレーションに成功した場合は204 No Content
ステータスコードを返し、リソースが見つからなかった場合は404
を返します。
DELETE /user/keys/:key_id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
key_id | 整数。 | yes | SSHキーID |
指定したユーザーのSSHキーを削除します。
指定したユーザーが所有する鍵を削除します。管理者のみ利用可能です。
DELETE /users/:id/keys/:key_id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | 指定ユーザーのID |
key_id | 整数。 | yes | SSHキーID |
すべての GPG 鍵の一覧
認証済みユーザーの 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"
}
]
特定の GPG 鍵を取得
認証済みユーザーの GPG 鍵を取得します。
GET /user/gpg_keys/:key_id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
key_id | 整数。 | 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"
}
GPGキーの追加
認証済みユーザーが所有する新しい GPG 鍵を作成します。
POST /user/gpg_keys
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
key | 文字列です。 | yes | 新しいGPGキー |
export KEY="$( gpg --armor --export <your_gpg_key_id>)"
curl --data-urlencode "key=-----BEGIN PGP PUBLIC KEY BLOCK-----
> xsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj
> t1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O
> CfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa
> qKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO
> VaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57
> vilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp
> IDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV
> CAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/
> oO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5
> crfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4
> bjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn
> iE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp
> o4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=
> =XQoy
> -----END PGP PUBLIC KEY BLOCK-----" \
--header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/user/gpg_keys"
応答例
[
{
"id": 1,
"key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\n=XQoy\n-----END PGP PUBLIC KEY BLOCK-----",
"created_at": "2017-09-05T09:17:46.264Z"
}
]
GPG キーの削除
認証ユーザーが所有する GPG 鍵を削除します。
DELETE /user/gpg_keys/:key_id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
key_id | 整数。 | 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
を返します。
指定したユーザーのすべての GPG 鍵を一覧表示します。
指定したユーザーの GPG 鍵の一覧を取得します。このエンドポイントは認証なしでアクセスできます。
GET /users/:id/gpg_keys
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | 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"
}
]
指定したユーザーの特定の GPG 鍵を取得します。
指定したユーザーの特定の GPG 鍵を取得します。GitLab 13.5で導入されたこのエンドポイントは、管理者認証なしでアクセスできます。
GET /users/:id/gpg_keys/:key_id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | ユーザーのID |
key_id | 整数。 | 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"
}
指定されたユーザーの GPG 鍵を追加します。
指定したユーザーが所有する新しいGPGキーを作成します。管理者のみ利用可能です。
POST /users/:id/gpg_keys
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | ユーザーのID |
key_id | 整数。 | yes | GPGキーのID |
curl --data-urlencode "key=-----BEGIN PGP PUBLIC KEY BLOCK-----
> xsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj
> t1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O
> CfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa
> qKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO
> VaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57
> vilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp
> IDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV
> CAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/
> oO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5
> crfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4
> bjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn
> iE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp
> o4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=
> =XQoy
> -----END PGP PUBLIC KEY BLOCK-----" \
--header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/2/gpg_keys"
応答例
[
{
"id": 1,
"key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\nxsBNBFVjnlIBCACibzXOLCiZiL2oyzYUaTOCkYnSUhymg3pdbfKtd4mpBa58xKBj\nt1pTHVpw3Sk03wmzhM/Ndlt1AV2YhLv++83WKr+gAHFYFiCV/tnY8bx3HqvVoy8O\nCfxWhw4QZK7+oYzVmJj8ZJm3ZjOC4pzuegNWlNLCUdZDx9OKlHVXLCX1iUbjdYWa\nqKV6tdV8hZolkbyjedQgrpvoWyeSHHpwHF7yk4gNJWMMI5rpcssL7i6mMXb/sDzO\nVaAtU5wiVducsOa01InRFf7QSTxoAm6Xy0PGv/k48M6xCALa9nY+BzlOv47jUT57\nvilf4Szy9dKD0v9S0mQ+IHB+gNukWrnwtXx5ABEBAAHNFm5hbWUgKGNvbW1lbnQp\nIDxlbUBpbD7CwHUEEwECACkFAlVjnlIJEINgJNgv009/AhsDAhkBBgsJCAcDAgYV\nCAIJCgsEFgIDAQAAxqMIAFBHuBA8P1v8DtHonIK8Lx2qU23t8Mh68HBIkSjk2H7/\noO2cDWCw50jZ9D91PXOOyMPvBWV2IE3tARzCvnNGtzEFRtpIEtZ0cuctxeIF1id5\ncrfzdMDsmZyRHAOoZ9VtuD6mzj0ybQWMACb7eIHjZDCee3Slh3TVrLy06YRdq2I4\nbjMOPePtK5xnIpHGpAXkB3IONxyITpSLKsA4hCeP7gVvm7r7TuQg1ygiUBlWbBYn\niE5ROzqZjG1s7dQNZK/riiU2umGqGuwAb2IPvNiyuGR3cIgRE4llXH/rLuUlspAp\no4nlxaz65VucmNbN1aMbDXLJVSqR1DuE00vEsL1AItI=\n=XQoy\n-----END PGP PUBLIC KEY BLOCK-----",
"created_at": "2017-09-05T09:17:46.264Z"
}
]
指定されたユーザーの GPG 鍵を削除します。
指定したユーザーが所有する GPG 鍵を削除します。管理者のみ利用可能です。
DELETE /users/:id/gpg_keys/:key_id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | ユーザーのID |
key_id | 整数。 | yes | GPGキーのID |
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/2/gpg_keys/1"
メール一覧
認証済みユーザーの電子メールのリストを取得します。
GET /user/emails
[
{
"id": 1,
"email": "email@example.com",
"confirmed_at" : "2021-03-26T19:07:56.248Z"
},
{
"id": 3,
"email": "email2@example.com",
"confirmed_at" : null
}
]
パラメータを指定します:
- なし
ユーザーのEメールをリストアップします。
指定したユーザーのメールのリストを取得します。管理者のみ利用可能
GET /users/:id/emails
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | 指定ユーザーのID |
単一メール
単一の電子メールを取得します。
GET /user/emails/:email_id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
email_id | 整数。 | yes | メールアドレス |
{
"id": 1,
"email": "email@example.com",
"confirmed_at" : "2021-03-26T19:07:56.248Z"
}
電子メールを追加
認証されたユーザーが所有する新しいEメールを作成します。
POST /user/emails
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
email | 文字列です。 | yes | アドレス |
{
"id": 4,
"email": "email@example.com",
"confirmed_at" : "2021-03-26T19:07:56.248Z"
}
成功した場合、作成された電子メールをステータス201 Created
で返します。エラーが発生した場合は、エラーを説明するメッセージとともに400 Bad Request
が返されます:
{
"message": {
"email": [
"has already been taken"
]
}
}
ユーザーの電子メールを追加します。
指定したユーザーのメールを新規作成します。管理者のみ利用可能
POST /users/:id/emails
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 文字列です。 | yes | 指定ユーザーのID |
email | 文字列です。 | yes | アドレス |
skip_confirmation | boolean | いいえ | 確認をスキップし、メールが確認されたものとします。 |
現在のユーザーのメールを削除します。
認証済みユーザーが所有する電子メールを削除します。
オペレーションに成功した場合は204 No Content
ステータスコードを返し、リソースが見つからなかった場合は404
を返します。
プライマリ・メール・アドレスを削除することはできません。
DELETE /user/emails/:email_id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
email_id | 整数。 | yes | メールアドレス |
指定したユーザーのメールを削除します。
前提条件
- セルフマネージド GitLab インスタンスの管理者である必要があります。
指定したユーザーが所有するメールアドレスを削除します。プライマリメールアドレスを削除することはできません。
DELETE /users/:id/emails/:email_id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | 指定ユーザーのID |
email_id | 整数。 | yes | メールアドレス |
ユーザーをブロック
指定したユーザーをブロックします。管理者のみ有効です。
POST /users/:id/block
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | 指定ユーザーのID |
を返します:
-
201 OK
成功時 -
404 User Not Found
ユーザーが見つからない場合。 -
403 Forbidden
ブロックしようとすると- LDAPでブロックされているユーザー。
- 内部ユーザー。
ブロック解除ユーザー
指定したユーザーのブロックを解除します。管理者のみ有効です。
POST /users/:id/unblock
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | 指定ユーザーのID |
成功した場合は201 OK
を、ユーザーが見つからない場合は404 User Not Found
を、LDAP 同期によってブロックされたユーザーのブロックを解除しようとした場合は403 Forbidden
を返します。
ユーザーの無効化
GitLab 12.4で導入されました。
指定したユーザーを非アクティブにします。管理者のみ使用可能。
POST /users/:id/deactivate
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | 指定ユーザーのID |
を返します:
-
201 OK
成功時 -
404 User Not Found
ユーザーが見つからない場合。 -
403 Forbidden
というユーザーを無効化しようとした場合:- 管理者またはLDAP同期によってブロックされているユーザー。
- 休止状態でない
- 内部。
ユーザーをアクティベート
GitLab 12.4で導入されました。
指定したユーザーをアクティビティ化します。管理者のみ使用可能。
POST /users/:id/activate
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | 指定ユーザーのID |
を返します:
-
201 OK
成功時 -
404 User Not Found
ユーザーが見つからない場合は -
403 Forbidden
管理者または LDAP 同期によってブロックされているため、ユーザーをアクティブ化できない場合。
ユーザーを禁止
GitLab 14.3で導入されました。
指定したユーザーを禁止します。管理者のみ使用可能。
POST /users/:id/ban
パラメータを指定します:
-
id
(必須) - 指定されたユーザーのID
を返します:
-
201 OK
成功時 -
404 User Not Found
ユーザーが見つからない場合。 -
403 Forbidden
アクティブでないユーザーを追放しようとしたとき。
ユーザーを追放
GitLab 14.3で導入されました。
指定したユーザーのアクセス禁止を解除します。管理者のみ利用可能。
POST /users/:id/unban
パラメータを指定します:
-
id
(必須) - 指定されたユーザーのID
を返します:
-
201 OK
成功時 -
404 User Not Found
ユーザーが見つからない場合は -
403 Forbidden
BANされていないユーザーをBAN解除しようとした場合。
ユーザー貢献イベントの取得
ユーザーのすべてのなりすましトークンを取得
管理者権限が必要です。
ユーザーのすべてのなりすましトークンを取得します。ページ分割パラメータpage
とper_page
を使用して、なりすましトークンのリストを制限します。
GET /users/:user_id/impersonation_tokens
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
user_id | 整数。 | yes | ユーザーのID |
state | 文字列です。 | いいえ | 状態に基づくトークンのフィルタ (all ,active ,inactive ) |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/42/impersonation_tokens"
応答例
[
{
"active" : true,
"user_id" : 2,
"scopes" : [
"api"
],
"revoked" : false,
"name" : "mytoken",
"id" : 2,
"created_at" : "2017-03-17T17:18:09.283Z",
"impersonation" : true,
"expires_at" : "2017-04-04",
"last_used_at": "2017-03-24T09:44:21.722Z"
},
{
"active" : false,
"user_id" : 2,
"scopes" : [
"read_user"
],
"revoked" : true,
"name" : "mytoken2",
"created_at" : "2017-03-17T17:19:28.697Z",
"id" : 3,
"impersonation" : true,
"expires_at" : "2017-04-14",
"last_used_at": "2017-03-24T09:44:21.722Z"
}
]
ユーザーの承認者
GitLab 13.7 で導入されました。
指定したユーザーを承認します。管理者のみ利用可能。
POST /users/:id/approve
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | 指定ユーザーのID |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/42/approve"
を返します:
-
201 Created
成功時 -
404 User Not Found
ユーザーが見つからない場合。 -
403 Forbidden
ユーザーが管理者によってブロックされているか、LDAP 同期によって承認者が見つからない場合。 -
409 Conflict
ユーザーが無効化されている場合。
応答例
{ "message": "Success" }
{ "message": "404 User Not Found" }
{ "message": "The user you are trying to approve is not pending approval" }
ユーザーを拒否
GitLab 14.3で導入されました。
承認待ちユーザーを拒否します。管理者のみ利用可能。
POST /users/:id/reject
パラメータを指定します:
-
id
(必須) - 指定されたユーザーのID
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/42/reject"
を返します:
-
200 OK
成功時 -
403 Forbidden
管理者として認証されていない場合 -
404 User Not Found
ユーザーが見つからない場合。 -
409 Conflict
ユーザーが承認待ちでない場合。
応答例
{ "message": "Success" }
{ "message": "404 User Not Found" }
{ "message": "User does not have a pending request" }
ユーザーのなりすましトークンの取得
管理者権限が必要です。
ユーザーのなりすましトークンを表示します。
GET /users/:user_id/impersonation_tokens/:impersonation_token_id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
user_id | 整数。 | yes | ユーザーのID |
impersonation_token_id | 整数。 | yes | なりすましトークンのID |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/42/impersonation_tokens/2"
応答例
{
"active" : true,
"user_id" : 2,
"scopes" : [
"api"
],
"revoked" : false,
"name" : "mytoken",
"id" : 2,
"created_at" : "2017-03-17T17:18:09.283Z",
"impersonation" : true,
"expires_at" : "2017-04-04"
}
なりすましトークンの作成
管理者権限が必要です。トークンの値は一度だけ返されます。二度とアクセスできないので、必ず保存してください。
新しいなりすましトークンを作成します。これは管理者しかできません。ユーザーになりすまし、APIコールとGitの読み書き両方を実行するためにのみ、なりすましトークンを作成することができます。ユーザーはこれらのトークンをプロフィール設定ページで見ることはできません。
POST /users/:user_id/impersonation_tokens
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
user_id | 整数。 | yes | ユーザーのID |
name | 文字列です。 | yes | なりすましトークンの名前 |
expires_at | 期日 | いいえ | ISOフォーマットによるなりすましトークンの有効期限 (YYYY-MM-DD ) |
scopes | アレイ | 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,
"user_id" : 2,
"scopes" : [
"api"
],
"token" : "EsMo-vhKfXGwX9RKrwiy",
"active" : true,
"impersonation" : true,
"name" : "mytoken",
"created_at" : "2017-03-17T17:18:09.283Z",
"expires_at" : "2017-04-04"
}
なりすましトークンの取り消し
管理者権限が必要です。
なりすましトークンを取り消します。
DELETE /users/:user_id/impersonation_tokens/:impersonation_token_id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
user_id | 整数。 | yes | ユーザーのID |
impersonation_token_id | 整数。 | yes | なりすましトークンのID |
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/42/impersonation_tokens/1"
個人アクセストークンの作成
このAPIを使って新しい個人アクセストークンを作成してください。トークンの値は一度だけ返されるため、再度アクセストークンを作成することはできないので、必ず保存してください。このAPIはGitLab管理者のみが使用できます。
POST /users/:user_id/personal_access_tokens
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
user_id | 整数。 | yes | ユーザーのID |
name | 文字列です。 | yes | 個人アクセストークンの名前 |
expires_at | 期日 | いいえ | アクセストークンの有効期限をISOフォーマット(YYYY-MM-DD )で指定します。日付が設定されていない場合、アクセストークンの最大有効期限が設定されます。 |
scopes | アレイ | yes | 個人アクセストークンのスコープの配列。指定可能な値はパーソナルアクセストークンのスコープを参照ください。 |
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/personal_access_tokens"
応答例
{
"id": 3,
"name": "mytoken",
"revoked": false,
"created_at": "2020-10-14T11:58:53.526Z",
"scopes": [
"api"
],
"user_id": 42,
"active": true,
"expires_at": "2020-12-31",
"token": "ggbfKkC4n-Lujy8jwCR2"
}
ユーザーアクティビティの取得
前提条件
- 管理者である必要があります。
全ユーザーの最終アクティビティ日付を古い順から取得します。
ユーザーイベントのタイムスタンプ(last_activity_on
とcurrent_sign_in_at
)を更新するアクティビティは以下の通りです:
- Git HTTP/SSHアクティビティ(cloneやpushなど)。
- GitLabにログインするユーザー
- ダッシュボード、プロジェクト、イシュー、マージリクエストに関連するページを訪れたユーザー(GitLab 11.8 で導入)
- API を利用するユーザー
- GraphQL APIを使用するユーザー
デフォルトでは、過去6ヶ月間の全ユーザーのアクティビティが表示されますが、from
パラメータを使用して変更することができます。
GET /user/activities
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
from | 文字列です。 | いいえ |
YEAR-MM-DD という書式の日付文字列。例えば、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
を使用してください。
ユーザーメンバーシップ
GitLab 12.8で導入されました。
前提条件
- 管理者である必要があります。
ユーザーがメンバーであるすべてのプロジェクトとグループを一覧表示します。メンバシップのsource_id
、source_name
、source_type
、access_level
を返します。ソースには、Namespace
(グループを表す)またはProject
のタイプを指定できます。 レスポンスは、直接のメンバシップのみを表します。継承されたメンバシップ (サブグループなど) は含まれません。アクセスレベルは整数値で表されます。詳細は、アクセス・レベル値の意味を参照してください。
GET /users/:id/memberships
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | 指定ユーザーのID |
type | 文字列です。 | いいえ | 会員をタイプ別に絞り込みます。Project またはNamespace
|
を返します:
-
200 OK
成功時 -
404 User Not 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"
}
]
二要素認証の無効化
GitLab 15.2 で導入されました。
前提条件
- 管理者である必要があります。
指定したユーザーの二要素認証(2FA)を無効にします。
管理者は、APIを使用して自分のユーザーアカウントや他の管理者の2FAを無効にすることはできません。代わりに、Railsコンソールを使って管理者の2FAを無効にすることができます。
PATCH /users/:id/disable_two_factor
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | ユーザーのID |
curl --request PATCH --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/1/disable_two_factor"
を返します:
-
204 No content
成功時 -
400 Bad request
指定したユーザーで二要素認証が有効になっていない場合。 -
403 Forbidden
管理者として認証されていない場合 -
404 User Not Found
ユーザーが見つからない場合。
ランナーの作成
現在のユーザーにリンクされたランナーを作成します。
前提条件:
- 対象のネームスペースまたはプロジェクトの管理者またはオーナー・ロールを持っている必要があります。
-
instance_type
の場合は、GitLabインスタンスの管理者である必要があります。 -
create_runner
スコープのアクセストークン。
レスポンス内のtoken
を必ずコピーまたは保存してください。
POST /user/runners
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
runner_type | 文字列です。 | yes | ランナーのスコープを指定します;instance_type 、group_type 、またはproject_type 。 |
group_id | 整数。 | いいえ | ランナーが作成されるグループのID。runner_type がgroup_type の場合は必須です。 |
project_id | 整数。 | いいえ | ランナーが作成されるプロジェクトのID。runner_type がproject_type の場合は必須です。 |
description | 文字列です。 | いいえ | ランナーの説明 |
paused | boolean | いいえ | Runnerが新しいジョブを無視するかどうかを指定します。 |
locked | boolean | いいえ | 現在のプロジェクトでランナーをロックするかどうかを指定します。 |
run_untagged | boolean | いいえ | Runnerがタグなしジョブを処理するかどうかを指定します。 |
tag_list | 文字列配列 | いいえ | ランナータグのリスト。 |
access_level | 文字列です。 | いいえ | ランナーのアクセスレベル;not_protected またはref_protected 。 |
maximum_timeout | 整数。 | いいえ | ランナーがジョブを実行できる時間(秒)を制限する最大タイムアウト。 |
maintenance_note | 文字列です。 | いいえ | ランナーに対する自由形式のメンテナンスメモ(1024文字)。 |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --data "runner_type=instance_type" \
"https://gitlab.example.com/api/v4/user/runners"
応答例
{
"id": 9171,
"token": "glrt-kyahzxLaj4Dc1jQf4xjX",
"token_expires_at": null
}