- ユーザー一覧
- シングルユーザー
- ユーザー作成
- ユーザーの変更
- ユーザーから認証IDを削除
- ユーザー削除
- 現在のユーザーをリストアップ(一般ユーザーの場合)
- 現在のユーザを一覧表示(管理者用)
- ユーザーステータス
- ユーザーのステータス取得
- ユーザーステータスの設定
- ユーザー数
- ユーザープロジェクト一覧
- SSHキー一覧
- ユーザーのSSHキーを一覧表示します。
- 単一のSSHキー
- SSHキーの追加
- ユーザーのSSHキーを追加します。
- 現在のユーザーのSSHキーを削除します。
- 指定したユーザのSSHキーを削除します。
- すべての GPG 鍵を一覧表示します。
- 特定のGPGキーを取得
- GPGキーの追加
- GPGキーの削除
- 指定したユーザのすべての GPG 鍵を一覧表示します。
- 指定したユーザーの特定の GPG キーを取得します。
- 指定したユーザーのGPGキーを追加
- 指定したユーザーの GPG 鍵を削除します。
- リストEメール
- ユーザーのEメールをリストアップ
- シングルメール
- 電子メールの追加
- ユーザーのEメールを追加
- 現在のユーザーのメールを削除
- 指定したユーザーのメールを削除
- ブロックユーザー
- ブロック解除
- ユーザーの無効化
- ユーザーのアクティベート
- ユーザーのすべてのなりすましトークンを取得します。
- ユーザーのなりすましトークンの取得
- なりすましトークンの作成
- なりすましトークンの取り消し
- ユーザーメンバーシップ(管理者のみ)
ユーザーAPI
ユーザー一覧
アクティブユーザー=総アカウント数-ブロックされたユーザー数
ユーザーのリストを取得します。
この関数はページネーションパラメータpage
とper_page
を受け取り、ユーザーのリストを制限します。
一般ユーザー
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=
を使用して、名前またはプライマリ E メールでユーザーを検索することもできます。 たとえば、/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
管理者の方へ
GET /users
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
order_by
| 列 | いいえ |
id 、name 、username 、created_at 、updated_at のフィールド順にユーザーを返します。 デフォルトは次のとおりです。id
|
sort
| 列 | いいえ | ユーザーをasc またはdesc 順序で desc ソートして返しますdesc 。 デフォルトは desc
|
two_factor
| 列 | いいえ | フィルタ値はenabled またはdisabled です。 デフォルトでは、すべてのユーザを返します。
|
without_projects
| ブーリアン | いいえ | プロジェクトを持たないユーザーをフィルタリングします。 デフォルトは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"
}
]
GitLabStarter、Bronze以上のユーザーには、shared_runners_minutes_limit
、extra_shared_runners_minutes_limit
パラメータも表示されます。
[
{
"id": 1,
...
"shared_runners_minutes_limit": 133,
"extra_shared_runners_minutes_limit": 133,
...
}
]
GitLabSilver 以上のユーザーには、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
で作成日時の範囲でユーザーを検索できます:
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
シングルユーザー
シングルユーザーを取得します。
ユーザー
GET /users/:id
パラメーター
-
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"
}
管理者用
GET /users/:id
パラメーター
-
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 Enterprise Edition でのみ利用可能です。GitLabStarter、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.comSilver以上のユーザーには、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
ユーザー作成
新規ユーザーを作成します。 新規ユーザーを作成できるのは管理者のみであることに注意してください。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(デフォルト) |
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
| いいえ | ユーザーのプロフィールが非公開かどうか - true、false (デフォルト)、またはnull (falseに変換されます) |
projects_limit
| いいえ | ユーザーが作成できるプロジェクトの数 |
provider
| いいえ | 外部プロバイダー名 |
public_email
| いいえ | ユーザーの公開メール |
reset_password
| いいえ | ユーザパスワードリセットリンクの送信 - true または false(デフォルト) |
shared_runners_minutes_limit
| いいえ | このユーザーのパイプライン分数クォータ(プランに含まれます)。nil (デフォルト、システムデフォルトを継承)、0 (無制限)、または> 0 。
|
skip_confirmation
| いいえ | 確認をスキップ - true または false(デフォルト) |
skype
| いいえ | スカイプID |
theme_id
| いいえ | そのユーザーの GitLab テーマ (詳しくはユーザー設定のドキュメントを参照) |
twitter
| いいえ | Twitterアカウント |
username
| はい | ユーザー名 |
website_url
| いいえ | ウェブサイトURL |
ユーザーの変更
既存のユーザーを変更します。 ユーザーの属性を変更できるのは管理者のみです。
PUT /users/:id
パラメーター
属性 | 必須 | 説明 |
---|---|---|
admin
| いいえ | ユーザが管理者である - true または false(デフォルト) |
avatar
| いいえ | ユーザーのアバター用画像ファイル |
bio
| いいえ | ユーザー略歴 |
can_create_group
| いいえ | ユーザーがグループを作成できる - true または false |
color_scheme_id
| いいえ | ファイルビューアのユーザーカラースキーム(詳細については、ユーザー設定ドキュメントを参照してください) |
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
| いいえ | ユーザーのプロフィールが非公開かどうか - true、false (デフォルト)、またはnull (falseに変換されます) |
projects_limit
| いいえ | 各ユーザーが作成できるプロジェクトの制限 |
provider
| いいえ | 外部プロバイダー名 |
public_email
| いいえ | ユーザーの公開メール |
shared_runners_minutes_limit
| いいえ | このユーザーのパイプライン分数クォータ(プランに含まれます)。nil (デフォルト、システムデフォルトを継承)、0 (無制限)、または> 0 。
|
skip_reconfirmation
| いいえ | リコンファームをスキップ - true または false(デフォルト) |
skype
| いいえ | スカイプID |
theme_id
| いいえ | そのユーザーの GitLab テーマ (詳しくはユーザー設定のドキュメントを参照) |
twitter
| いいえ | Twitterアカウント |
username
| いいえ | ユーザー名 |
website_url
| いいえ | ウェブサイトURL |
パスワードが更新されると、ユーザは次回ログイン時に強制的にパスワードを変更させられます。 今のところ、このメソッドは409
(Conflict) の方が適切な場合でも、404
エラーしか返さないことに注意してください。 例えば、メールアドレスの名前を既存のものに変更する場合などです。
ユーザーから認証IDを削除
管理者のみが使用できます。
DELETE /users/:id/identities/:provider
パラメーター
-
id
(必須) - ユーザーのID -
provider
(必須) - 外部プロバイダー名
ユーザー削除
ユーザーを削除します。 管理者のみが利用可能です。オペレーションに成功した場合は204 No Content
ステータスコードを、リソースが見つからなかった場合は404
ステータスコードを、ユーザーをソフト削除できなかった場合は409
ステータスコードを返します。
DELETE /users/:id
パラメーター
-
id
(必須) - ユーザーのID -
hard_delete
(オプション) - trueの場合、通常ゴーストユーザーに移動される貢献者は、このユーザーのみが所有するグループと同様に、代わりに削除されます。
現在のユーザーをリストアップ(一般ユーザーの場合)
現在認証されているユーザーを取得します。
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
}
現在のユーザを一覧表示(管理者用)
パラメーター
-
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"
}
ユーザーステータス
現在ログインしているユーザーのステータスを取得します。
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 /users/:id_or_username/status
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id_or_username
| 列 | はい | ステータスを取得するユーザーの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>"
}
ユーザーステータスの設定
現在のユーザーのステータスを設定します。
PUT /user/status
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
emoji
| 列 | いいえ | ステータスとして使用する絵文字の名前。省略された場合はspeech_balloon が使用されます。 絵文字名はGemojione インデックスで指定された名前のいずれかを使用できます。
|
message
| 列 | いいえ | ステータスとして設定するメッセージ。 絵文字コードを含めることもできます。 |
パラメータ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"
}
ユーザー数
現在ログインしているユーザーのカウント数(右上のメニューと同じ)を取得します。
属性 | タイプ | 説明 |
---|---|---|
merge_requests
| 番号 | アクティブで、現在のユーザーに割り当てられているリクエストをマージします。 |
GET /user_counts
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/user_counts"
回答例
{
"merge_requests": 4
}
ユーザープロジェクト一覧
ユーザープロジェクト一覧をご参照ください。
SSHキー一覧
現在認証されているユーザーの 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"
}
]
パラメーター
- 皆無
ユーザーのSSHキーを一覧表示します。
指定したユーザーのSSHキーの一覧を取得します。
GET /users/:id_or_username/keys
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id_or_username
| 列 | はい | SSH キーを取得するユーザーの ID またはユーザー名。 |
単一のSSHキー
キーを1つ取得します。
GET /user/keys/:key_id
パラメーター
-
key_id
(必須) - SSHキーのID。
{
"id": 1,
"title": "Public key",
"key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",
"created_at": "2014-08-01T14:47:39.080Z"
}
SSHキーの追加
現在認証されているユーザーが所有する新しい鍵を作成します。
POST /user/keys
パラメーター
-
title
(必須) - 新しいSSHキーのタイトル。 -
key
(必須) - 新しい SSH キー。 -
expires_at
(オプション) - SSH キーの有効期限。ISO 8601 形式 (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"
]
}
}
ユーザーのSSHキーを追加します。
指定されたユーザが所有する新しいキーを作成します。 admin でのみ利用可能です。
POST /users/:id/keys
パラメーター
-
id
(必須) - 指定したユーザーのID -
title
(必須) - 新しいSSHキーのタイトル。 -
key
(必須) - 新しい SSH キー。 -
expires_at
(オプション) - SSH キーの有効期限。ISO 8601 形式 (YYYY-MM-DDTHH:MM:SSZ
) で指定します。
現在のユーザーのSSHキーを削除します。
現在認証されているユーザが所有するキーを削除します。 オペレーションに成功した場合は204 No Content
ステータスコードを返し、 リソースが見つからなかった場合は404
を返します。
DELETE /user/keys/:key_id
パラメーター
-
key_id
(必須) - SSHキーID
指定したユーザのSSHキーを削除します。
指定したユーザが所有するキーを削除します。 admin のみ有効です。
DELETE /users/:id/keys/:key_id
パラメーター
-
id
(必須) - 指定したユーザーのID -
key_id
(必須) - 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
| 整数 | はい | 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
パラメーター
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
キー | 列 | はい | 新しい 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"
}
]
GPGキーの削除
現在認証されているユーザが所有する GPG 鍵を削除します。
DELETE /user/gpg_keys/:key_id
パラメーター
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
key_id
| 整数 | はい | 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
| 整数 | はい | ユーザーの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 キーを取得します。 管理者のみ利用可能です。
GET /users/:id/gpg_keys/:key_id
パラメーター
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数 | はい | ユーザーのID |
key_id
| 整数 | はい | 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
| 整数 | はい | ユーザーのID |
key_id
| 整数 | はい | 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"
}
]
指定したユーザーの GPG 鍵を削除します。
指定したユーザが所有する GPG キーを削除します。 管理者のみ利用可能です。
DELETE /users/:id/gpg_keys/:key_id
パラメーター
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数 | はい | ユーザーのID |
key_id
| 整数 | はい | GPGキーのID |
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/2/gpg_keys/1"
リストEメール
現在認証されているユーザの電子メールのリストを取得します。
GET /user/emails
[
{
"id": 1,
"email": "email@example.com"
},
{
"id": 3,
"email": "email2@example.com"
}
]
パラメーター
- 皆無
ユーザーのEメールをリストアップ
指定したユーザの電子メールのリストを取得します。 管理者のみ利用可能です。
GET /users/:id/emails
パラメーター
-
id
(必須) - 指定したユーザーのID
シングルメール
一通のメールを受信します。
GET /user/emails/:email_id
パラメーター
-
email_id
(必須) - EメールID
{
"id": 1,
"email": "email@example.com"
}
電子メールの追加
現在認証されているユーザが所有する新しい電子メールを作成します。
POST /user/emails
パラメーター
-
email
(必須) - メールアドレス
{
"id": 4,
"email": "email@example.com"
}
成功すると、作成されたメールがステータス201 Created
で返されます。 エラーが発生した場合は、400 Bad Request
にエラーの説明メッセージが返されます:
{
"message": {
"email": [
"has already been taken"
]
}
}
ユーザーのEメールを追加
指定したユーザが所有するメールを新規作成します。 管理者のみ利用可能です。
POST /users/:id/emails
パラメーター
-
id
(必須) - 指定したユーザーのID -
email
(必須) - メールアドレス -
skip_confirmation
(オプション) - 確認をスキップし、電子メールが確認されたものとします - true または false (デフォルト)
現在のユーザーのメールを削除
現在認証されているユーザが所有するメールを削除します。 オペレーションに成功した場合は204 No Content
ステータスコードを返し、 リソースが見つからなかった場合は404
を返します。
DELETE /user/emails/:email_id
パラメーター
-
email_id
(必須) - EメールID
指定したユーザーのメールを削除
指定したユーザが所有するメールを削除します。 管理者のみ利用可能です。
DELETE /users/:id/emails/:email_id
パラメーター
-
id
(必須) - 指定したユーザーのID -
email_id
(必須) - EメールID
ブロックユーザー
指定したユーザーをブロックします。 管理者のみ有効です。
POST /users/:id/block
パラメーター
-
id
(必須) - 指定したユーザーのID
リターンズ
-
201 OK
成功について -
404 User Not Found
ユーザが見つからない場合 -
403 Forbidden
LDAP同期によって既にブロックされているユーザーをブロックしようとしたとき。
ブロック解除
指定したユーザのブロックを解除します。 管理者のみ有効です。
POST /users/:id/unblock
パラメーター
-
id
(必須) - 指定したユーザーのID
成功した場合は201 OK
を、ユーザが見つからない場合は404 User Not Found
を、LDAP 同期によってブロックされたユーザのブロックを解除しようとした場合は403 Forbidden
を返します。
ユーザーの無効化
GitLab 12.4で導入されました。
指定されたユーザーを停止します。 admin のみ有効です。
POST /users/:id/deactivate
パラメーター
-
id
(必須) - 指定したユーザーのID
リターンズ
-
201 OK
成功について -
404 User Not Found
ユーザが見つからない場合 -
403 Forbidden
ユーザーを無効化しようとしたとき:- 管理者またはLDAP同期によってブロックされています。
- 過去180日以内にアクティビティがあったユーザー。 これらのユーザーを無効にすることはできません。
ユーザーのアクティベート
GitLab 12.4で導入されました。
指定したユーザーをアクティブにします。 admin のみ有効です。
POST /users/:id/activate
パラメーター
-
id
(必須) - 指定したユーザーのID
リターンズ
-
201 OK
成功について -
404 User Not Found
ユーザが見つからない場合 -
403 Forbidden
管理者またはLDAP同期によってブロックされたユーザーをアクティブにしようとしたとき。
ユーザー貢献イベントの取得
イベントAPIのドキュメントを参照してください。
ユーザーのすべてのなりすましトークンを取得します。
管理者権限が必要です。
これは、ユーザのすべてのなりすましトークンを取得します。 なりすましトークンのリストを制限するには、ページ分割パラメータpage
とper_page
を使用します。
GET /users/:user_id/impersonation_tokens
パラメーター
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
user_id
| 整数 | はい | ユーザーのID |
state
| 列 | いいえ | 状態 (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 /users/:user_id/impersonation_tokens/:impersonation_token_id
パラメーター
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
user_id
| 整数 | はい | ユーザーのID |
impersonation_token_id
| 整数 | はい | なりすましトークンの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"
}
なりすましトークンの作成
管理者権限が必要です。 トークンの値は一度だけ返されます。 必ず保存してください - 二度とアクセスできなくなります。
これは、新しいなりすましトークンを作成します。 これは管理者しかできないことに注意しましょう。 ユーザーになりすまし、APIコールとGitの読み書きの両方を実行するためのなりすましトークンを作成できるのは管理者のみです。 ユーザーはこれらのトークンをプロフィール設定ページで見ることはできません。
POST /users/:user_id/impersonation_tokens
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
user_id
| 整数 | はい | ユーザーのID |
name
| 列 | はい | なりすましトークンの名前 |
expires_at
| 日付 | いいえ | なりすましトークンの有効期限(ISO形式) (YYYY-MM-DD )
|
scopes
| アレイ | はい | なりすましトークンのスコープの配列 (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"
}
なりすましトークンの取り消し
管理者権限が必要です。
なりすましトークンを取り消します。
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"
パラメーター
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
user_id
| 整数 | はい | ユーザーのID |
impersonation_token_id
| 整数 | はい | なりすましトークンのID |
ユーザーのアクティビティを取得(管理者のみ)
全ユーザーの最終アクティビティ日付を、古いものから新しいものへとソートして取得します。
タイムスタンプを更新するアクティビティは以下の通り:
- git HTTP/SSH アクティビティ(clone や push など)
- GitLabにログインしているユーザー
- ダッシュボード、プロジェクト、イシュー、マージリクエストに関連するページを訪問するユーザー(GitLab 11.8 で導入)
- APIを使用するユーザー
- GraphQL API を使用するユーザー
デフォルトでは、過去6ヶ月間の全ユーザーのアクティビティが表示されますが、from
パラメータを使用して変更することができます。
GET /user/activities
パラメーター
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
from
| 列 | いいえ | 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
をご利用ください。
ユーザーメンバーシップ(管理者のみ)
GitLab 12.8で導入されました。
このエンドポイントは管理者のみ利用可能です。このエンドポイントは、メンバーシップのsource_id
、source_name
、source_type
、access_level
を返します。ソースはNamespace
(グループを表す) またはProject
のタイプです。レスポンスは直接のメンバーシップのみを表します。サブグループなどの継承されたメンバーシップは含まれません。アクセスレベルは整数値で表されます。詳細については、アクセスレベル値の意味をお読みください。
GET /users/:id/memberships
パラメーター
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数 | はい | 指定したユーザーの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"
},
]