1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/panda26-gitlab

Клонировать/Скачать
users.md 31 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 26.05.2025 02:09 64486eb

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"
  }
]

Кроме того, вы можете фильтровать пользователей по состояниям, например blocked, active. Это работает только для фильтрации пользователей, которые находятся в состоянии blocked или active. Поддержка active=false или blocked=false не предусмотрена.

GET /users?active=true
GET /users?blocked=true

Для администраторов```

GET /users

[
  {
    "id": 1,
    "username": "john_smith",
    "email": "john@example.com",
    "name": "John Smith",
    "state": "активен",
    "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,
    "location": null,
    "skype": "",
    "linkedin": "",
    "twitter": "",
    "website_url": "",
    "organization": "",
    "last_sign_in_at": "2012-06-01T11:41:01Z",
    "confirmed_at": "2012-05-23T09:05:22Z",
    "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
  },
  {
    "id": 2,
    "username": "jack_smith",
    "email": "jack@example.com",
    "name": "Jack Smith",
    "state": "заблокирован",
    "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,
    "location": null,
    "skype": "",
    "linkedin": "",
    "twitter": "",
    "website_url": "",
    "organization": "",
    "last_sign_in_at": null,
    "confirmed_at": "2012-05-30T16:53:06.148Z",
    "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
  }
]
```Вы можете искать пользователей по электронной почте или имени пользователя с помощью: `/users?search=Имя`
```Кроме того, вы можете искать пользователей по имени пользователя:

```
GET /users?username=:username
```

Например:

```
GET /users?username=jack_smith
```

Вы также можете искать пользователей по внешнему UID и провайдеру:

```
GET /users?extern_uid=:extern_uid&provider=:provider
```

Например:

```
GET /users?extern_uid=1234567&provider=github
```

Вы можете искать внешних пользователей с помощью: `/users?external=true`

## Одиночный пользователь

Получить информацию о пользователе.

### Для пользователя

```
GET /users/:id
```

Параметры:

- `id` (обязательный) - ID пользователя

```json
{
  "id": 1,
  "username": "john_smith",
  "name": "John Smith",
  "state": "активен",
  "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,
  "location": null,
  "skype": "",
  "linkedin": "",
  "twitter": "",
  "website_url": "",
  "organization": ""
}
```

### Для администратора

```
GET /users/:id
```

Параметры:

- `id` (обязательный) - ID пользователя

```json
{
  "id": 1,
  "username": "john_smith",
  "email": "john@example.com",
  "name": "John Smith",
  "state": "активен",
  "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,
  "location": null,
  "skype": "",
  "linkedin": "",
  "twitter": "",
  "website_url": "",
  "organization": "",
  "last_sign_in_at": "2012-06-01T11:41:01Z",
  "confirmed_at": "2012-05-23T09:05:22Z",
  "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
}
```## Создание пользователя

Создает нового пользователя. Обратите внимание, что только администраторы могут создавать новых пользователей. Либо `password`, либо `reset_password` должны быть указаны (`reset_password` имеет приоритет).

```
POST /users
```

Параметры:- `email` (обязательный)            - Электронная почта
- `password` (необязательный)       - Пароль
- `reset_password` (необязательный) - Отправить ссылку для сброса пароля пользователю - true или false (по умолчанию)
- `username` (обязательный)         - Имя пользователя
- `name` (обязательный)             - Имя
- `skype` (необязательный)          - ID Skype
- `linkedin` (необязательный)       - LinkedIn
- `twitter` (необязательный)        - Счет Twitter
- `website_url` (необязательный)    - URL сайта
- `organization` (необязательный)   - Название организации
- `projects_limit` (необязательный) - Количество проектов, которое может создать пользователь
- `extern_uid` (необязательный)     - Внешний UID
- `provider` (необязательный)       - Название внешнего поставщика
- `bio` (необязательный)            - Биография пользователя
- `location` (необязательный)       - Расположение пользователя
- `admin` (необязательный)          - Пользователь является администратором - true или false (по умолчанию)
- `can_create_group` (необязательный) - Пользователь может создавать группы - true или false
- `confirm` (необязательный)        - Требовать подтверждение - true (по умолчанию) или false
- `external` (необязательный)       - Флаг, указывающий, что пользователь является внешним - true или false (по умолчанию)
- `avatar` (необязательный)         - Изображение для аватара пользователя## Изменение пользователя

Изменяет существующего пользователя. Только администраторы могут изменять атрибуты пользователя.

```
PUT /users/:id
```

Параметры:

- `email`                       - Электронная почта
- `username`                    - Имя пользователя
- `name`                        - Имя
- `password`                    - Пароль
- `skype`                       - ID Skype
- `linkedin`                    - LinkedIn
- `twitter`                     - Счет Twitter
- `website_url`                 - URL сайта
- `organization`                - Название организации
- `projects_limit`              - Ограничение на количество проектов, которое может создать каждый пользователь
- `extern_uid`                  - Внешний UID
- `provider`                    - Название внешнего поставщика
- `bio`                         - Биография пользователя
- `location` (необязательный)   - Расположение пользователя
- `admin` (необязательный)      - Пользователь является администратором - true или false (по умолчанию)
- `can_create_group` (необязательный) - Пользователь может создавать группы - true или false
- `external` (необязательный)   - Флаг, указывающий, что пользователь является внешним - true или false (по умолчанию)
- `avatar` (необязательный)     - Изображение для аватара пользователя

При обновлении пароля пользователь будет вынужден изменить его при следующем входе.

Примечание: в данный момент этот метод возвращает только ошибку `404`,
даже в тех случаях, когда более подходящей была бы ошибка `409` (Конфликт),
например, при переименовании адреса электронной почты на уже существующий.## Удаление пользователя

Удаляет пользователя. Доступно только для администраторов.
Это идемпотентная функция, вызов этой функции для несуществующего ID пользователя
все равно возвращает статус `200 OK`.
JSON-ответ отличается в зависимости от того, был ли пользователь фактически удален или нет.
В первом случае пользователь возвращается, во втором  нет.

```
DELETE /users/:id
```

Параметры:

- `id` (обязательный) - ID пользователя
- `hard_delete` (необязательный) - Если true, вклады, которые обычно перемещаются
  на [псевдоним пользователя](../user/profile/account/delete_account.md#связанные-записи),
  будут удалены, а также группы, которыми владеет только этот пользователь.

## Пользователь

### Для обычных пользователей

Получает текущего аутентифицированного пользователя.

```
GET /user
```

```json
{
  "id": 1,
  "username": "john_smith",
  "email": "john@example.com",
  "name": "John Smith",
  "state": "активен",
  "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,
  "location": null,
  "skype": "",
  "linkedin": "",
  "twitter": "",
  "website_url": "",
  "organization": "",
  "last_sign_in_at": "2012-06-01T11:41:01Z",
  "confirmed_at": "2012-05-23T09:05:22Z",
  "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
}
```### Для администраторов

Параметры:

- `sudo` (обязательный) - ID пользователя

```
GET /user
```

```json
{
  "id": 1,
  "username": "john_smith",
  "email": "john@example.com",
  "name": "John Smith",
  "state": "активен",
  "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,
  "location": null,
  "skype": "",
  "linkedin": "",
  "twitter": "",
  "website_url": "",
  "organization": "",
  "last_sign_in_at": "2012-06-01T11:41:01Z",
  "confirmed_at": "2012-05-23T09:05:22Z",
  "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_token": "dd34asd13as"
}
```

## Получение списка SSH-ключей

Получение списка текущих SSH-ключей аутентифицированного пользователя.

```
GET /user/keys
```

```json
[
  {
    "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"
  }
]
```

Параметры:

- **none**

## Получение списка SSH-ключей для пользователя

Получение списка SSH-ключей для указанного пользователя. Доступно только для администратора.```
GET /users/:id/keys
```

Параметры:

- `id` (обязательный) - идентификатор указанного пользователя

## Получение одного SSH-ключа

Получение одного SSH-ключа.

```
GET /user/keys/:key_id
```

Параметры:

- `key_id` (обязательный) - идентификатор SSH-ключа

```json
{
  "id": 1,
  "title": "Public key",
  "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",
  "created_at": "2014-08-01T14:47:39.080Z"
}
```

## Добавление SSH-ключа

Создание нового SSH-ключа, принадлежащего текущему аутентифицированному пользователю.

```
POST /user/keys
```

Параметры:

- `title` (обязательный) - заголовок нового SSH-ключа
- `key` (обязательный) - новый SSH-ключ

```json
{
  "created_at": "2015-01-21T17:44:33.512Z",
  "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",
  "title": "ABC",
  "id": 4
}
```

При успешном выполнении ключ будет возвращен с статусом `201 Created`. В случае возникновения ошибки будет возвращен статус `400 Bad Request` с сообщением, объясняющим ошибку:

```json
{
  "message": {
    "fingerprint": [
      "уже был использован"
    ],
    "key": [
      "уже был использован"
    ]
  }
}
```## Добавление SSH-ключа для пользователя

Создает новый ключ, принадлежащий указанному пользователю. Доступно только для администратора.

```
POST /users/:id/keys
```

Параметры:

- `id` (обязательный) - идентификатор указанного пользователя
- `title` (обязательный) - заголовок нового SSH-ключа
- `key` (обязательный) - новый SSH-ключ

## Удаление SSH-ключа для текущего пользователя

Удаляет ключ, принадлежащий текущему аутентифицированному пользователю. Это идемпотентная функция, и повторное вызов её для ключа, который уже был удалён или недоступен, приведёт к статусу `200 OK`.

```
DELETE /user/keys/:key_id
```

Параметры:

- `key_id` (обязательный) - идентификатор SSH-ключа

## Удаление SSH-ключа для указанного пользователя

Удаляет ключ, принадлежащий указанному пользователю. Доступно только для администратора.

```
DELETE /users/:id/keys/:key_id
```

Параметры:

- `id` (обязательный) - идентификатор указанного пользователя
- `key_id` (обязательный) - идентификатор SSH-ключа

При успешном выполнении будет возвращён статус `200 OK`, или статус `404 Not found`, если ни пользователь, ни ключ не могут быть найдены.

## Получение списка электронных адресов

Получает список электронных адресов текущего аутентифицированного пользователя.

```
GET /user/emails
```

```json
[
  {
    "id": 1,
    "email": "email@example.com"
  },
  {
    "id": 3,
    "email": "email2@example.com"
  }
]
```Параметры:

- **никаких**

## Получение списка электронных адресов для пользователя

Получает список электронных адресов указанного пользователя. Доступно только для администратора.

```
GET /users/:id/emails
```

Параметры:

- `id` (обязательный) - идентификатор указанного пользователя

## Получение одного электронного адреса

Получает один электронный адрес.

```
GET /user/emails/:email_id
```

Параметры:

- `email_id` (обязательный) - идентификатор электронного адреса

```json
{
  "id": 1,
  "email": "email@example.com"
}
```

## Добавление электронного адреса

Создает новый электронный адрес, принадлежащий текущему аутентифицированному пользователю.

```
POST /user/emails
```

Параметры:

- `email` (обязательный) - электронный адрес

```json
{
  "id": 4,
  "email": "email@example.com"
}
```

При успешном выполнении электронный адрес будет возвращен с статусом `201 Created`. В случае возникновения ошибки будет возвращен статус `400 Bad Request` с сообщением, объясняющим ошибку:

```json
{
  "message": {
    "email": [
      "уже был использован"
    ]
  }
}
```

## Добавление электронного адреса для пользователя

Создает новый электронный адрес для указанного пользователя. Доступно только для администратора.

```
POST /users/:id/emails
```

Параметры:

- `id` (обязательный) - идентификатор указанного пользователя
- `email` (обязательный) - адрес электронной почты

## Удаление электронного адреса для текущего пользователяУдаляет email, принадлежащий текущему аутентифицированному пользователю.
Это идемпотентная функция, и вызов её для уже удалённого или недоступного email
приведёт к ответу `200 OK`.

```
DELETE /user/emails/:email_id
```

Параметры:

- `email_id` (обязательный) - идентификатор email

## Удалить email для указанного пользователя

Удаляет email, принадлежащий указанному пользователю. Доступно только для администратора.

```
DELETE /users/:id/emails/:email_id
```

Параметры:

- `id` (обязательный) - идентификатор указанного пользователя
- `email_id` (обязательный) - идентификатор email

В случае успеха вернёт `200 OK`, или `404 Not Found`, если пользователь или email не найдены.

## Блокировать пользователя

Блокирует указанного пользователя. Доступно только для администратора.

```
POST /users/:id/block
```

Параметры:

- `id` (обязательный) - идентификатор указанного пользователя

В случае успеха вернёт `201 OK`, или `404 User Not Found`, если пользователь не найден,
или `403 Forbidden`, если попытка заблокировать уже заблокированного пользователя
LDAP-синхронизацией.

## Разблокировать пользователя

Разблокирует указанного пользователя. Доступно только для администратора.

```
POST /users/:id/unblock
```

Параметры:

- `id` (обязательный) - идентификатор указанного пользователя

В случае успеха вернёт `201 OK`, или `404 User Not Found`, если пользователь не найден,
или `403 Forbidden`, если попытка разблокировать пользователя, заблокированного LDAP-синхронизацией.### Получить события вклада пользователя

Пожалуйста, обратитесь к [документации API событий](events.md#get-user-contribution-events)

## Получить все токены имитации пользователя

> Требуются права администратора.

Получает все токены имитации пользователя. Используйте параметры пагинации
`page` и `per_page`, чтобы ограничить список токенов имитации.

```
GET /users/:user_id/impersonation_tokens
```

Параметры:

| Атрибут | Тип | Обязательный | Описание |
| -------- | ---- | ------------ | -------- |
| `user_id` | integer | да | Идентификатор пользователя |
| `state`   | string  | нет | фильтровать токены по состоянию (`all`, `active`, `inactive`) |

```
curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/users/42/impersonation_tokens
```

Пример ответа:

```json
[
   {
      "active" : true,
      "token" : "EsMo-vhKfXGwX9RKrwiy",
      "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,
      "token" : "ZcZRpLeEuQRprkRjYydY",
      "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` | integer | да | ID пользователя |
| `impersonation_token_id` | integer | да | ID токена имитации |```
curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/users/42/impersonation_tokens/2
```

Пример ответа:

```json
{
   "active" : true,
   "token" : "EsMo-vhKfXGwX9RKrwiy",
   "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` | integer | да | ID пользователя |
| `name`    | string  | да | Название токена имитации |
| `expires_at` | date | нет  | Дата истечения токена имитации в формате ISO (`YYYY-MM-DD`) |
| `scopes` | array    | да | Массив разрешений токена имитации (`api`, `read_user`) |

```
curl --request POST --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" --data "name=mytoken" --data "expires_at=2017-04-04" --data "scopes[]=api" https://gitlab.example.com/api/v4/users/42/impersonation_tokens
```

Пример ответа:

```json
{
   "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: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/users/42/impersonation_tokens/1
```

Параметры:

| Атрибут | Тип | Обязательный | Описание |
| --------- | ---- | -------- | ----------- |
| `user_id` | integer | да | ID пользователя |
| `impersonation_token_id` | integer | да | ID токена имитации |

### Получить активность пользователя (только для администратора)

>**Примечание:** Этот конечный пункт API доступен только с версии 8.15 (EE) и 9.1 (CE).

Получает дату последней активности для всех пользователей, отсортированных от самой ранней до самой поздней.

Деятельности, которые обновляют таймштамп:

  - Git HTTP/SSH активности (например, клонирование, отправка)
  - Вход пользователя в GitLab

По умолчанию, он показывает активность для всех пользователей за последние 6 месяцев, но это можно изменить с помощью параметра `from`.

```
GET /user/activities
```

Параметры:

| Атрибут | Тип | Обязательный | Описание |
| --------- | ---- | -------- | ----------- |
| `from` | string | нет | Строка даты в формате ГОД-МЕСЯЦ-ДЕНЬ, например `2016-03-11`. По умолчанию  6 месяцев назад. |

```bash
curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/user/activities
```

Пример ответа:

```json
[
  {
    "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`.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/panda26-gitlab.git
git@api.gitlife.ru:oschina-mirror/panda26-gitlab.git
oschina-mirror
panda26-gitlab
panda26-gitlab
master