События
Лента событий установки после курсора и список типов событий.
Операции этой группы с правилом доступа, правилом повтора, параметрами и ответами. Каждый запрос несёт ключ: Authorization: Bearer <ключ> (см. «Аутентификация»).
Операции
Прочитать события установки
GET HEAD /api/v1/events
Доступ: Любой действующий ключ или сессия · Повтор: Можно повторять (чтение)
Возвращает от старых к новым до limit событий (1–500, по умолчанию 100) после курсора after в формате CloudEvents 1.0: публикации, удаления, ревизии файлов, регистрации пакетов, аннотации, вложения, стадии, продвижения, изменения образов, npm и Git LFS во всех репозиториях, список которых вызывающему доступен (artifact.list). Без after лента начинается с самого старого хранимого события. Чтобы продолжить, передайте next как after: он продвигается и за события, которые вызывающему не видны, не больше 5000 за запрос. types оставляет названные типы или префиксы вроде artifact.*, repository — один репозиторий. Курсор старше oldest получает 410 events_cursor_expired; курсор другой эпохи epoch (сервер восстановлен из резервной копии) — 409 events_epoch_changed; оба ответа несут текущие epoch, oldest и head в events. Дедуплицируйте по id; событие — подсказка, текущее состояние читайте обычными маршрутами.
Параметры
| Имя | Где | Тип | Обязателен | Правила |
|---|---|---|---|---|
after | запрос | string | нет | по шаблону ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}:(0|[1-9][0-9]{0,18})$; Event id or next of a page; without it the feed starts at oldest |
limit | запрос | integer | нет | 1–500 |
types | запрос | string | нет | не длиннее 2048 символов; Comma-separated names or prefixes such as artifact.* |
repository | запрос | string | нет | по шаблону ^[a-z0-9][a-z0-9_-]{0,63}$ |
Ответ 200
| Поле | Тип | Обязателен | Правила |
|---|---|---|---|
epoch | string (uuid) | да | — |
items | массив object | да | не больше 500 элементов |
items[].specversion | string | да | одно из 1.0 |
items[].id | string | да | по шаблону ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}:(0|[1-9][0-9]{0,18})$; Идентификатор события, <epoch>:<position>; дедуплицируйте по нему |
items[].source | string | да | — |
items[].type | string | да | — |
items[].subject | string | да | ID артефакта или путь файла для событий файлов |
items[].time | string (date-time) | да | — |
items[].datacontenttype | string | да | одно из application/json |
items[].dataschema | string | да | — |
items[].partitionkey | string | да | repository:<repository>; события одного раздела сохраняют порядок фиксации |
items[].arkvoryposition | string | да | целое число десятичными цифрами, передаётся строкой |
items[].arkvoryepoch | string (uuid) | да | — |
items[].data | object | да | Данные типа; их JSON Schema — в списке типов |
next | string | да | по шаблону ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}:(0|[1-9][0-9]{0,18})$ |
head | string | да | целое число десятичными цифрами, передаётся строкой |
oldest | string | да | целое число десятичными цифрами, передаётся строкой |
Ответы: 200, 400, 401, 403, 404, 409, 410, 422, 503, 507
Пример
curl -X GET "$ARKVORY_URL/api/v1/events" \
-H "Authorization: Bearer $ARKVORY_TOKEN"Перечислить типы событий
GET HEAD /api/v1/events/types
Доступ: Любой действующий ключ или сессия · Повтор: Можно повторять (чтение)
Возвращает все типы событий, которые пишет этот сервер: имя, schemaVersion, область, право, нужное читателю, раздел, сохраняющий порядок, и JSON Schema поля data. type в CloudEvents — arkvory.<name>.v<schemaVersion>.
Ответ 200
| Поле | Тип | Обязателен | Правила |
|---|---|---|---|
items | массив object | да | — |
items[].name | string | да | — |
items[].schemaVersion | integer | да | не меньше 1 |
items[].scope | string | да | одно из repository, system |
items[].permission | string | да | одно из artifact.list, administrator |
items[].partition | string | да | — |
items[].description | string | да | — |
items[].dataSchema | object | нет | — |
Ответы: 200, 400, 401, 403, 404, 409, 422, 503, 507
Пример
curl -X GET "$ARKVORY_URL/api/v1/events/types" \
-H "Authorization: Bearer $ARKVORY_TOKEN"