GitLab
Проекты, задачи, merge request и пайплайны GitLab в процессах Pailot
GitLab — платформа DevOps (разработка и эксплуатация): репозиторий, задачи, merge request (запрос на слияние) и CI/CD (Continuous Integration / Continuous Delivery — непрерывная сборка и поставка). Блок ходит в API (Application Programming Interface — программный интерфейс) по токену.
С GitLab в Pailot вы можете:
- Смотреть проекты и карточку проекта
- Создавать, обновлять, удалять задачи и добавлять комментарий
- Работать с merge request: список, создание, обновление, слияние, комментарий
- Запускать, смотреть, повторять и отменять пайплайн
Блок ставят на холст как отдельный шаг или прикрепляют к агенту. Токен — в переменных окружения рабочего пространства.
Список проектов, доступных текущему пользователю.
| Параметр | Тип | Обязательный | Описание |
|---|
owned | boolean | Нет | Только проекты текущего пользователя |
membership | boolean | Нет | Только проекты, где пользователь участник |
search | string | Нет | Поиск проектов по имени |
visibility | string | Нет | Фильтр видимости (public, internal, private) |
orderBy | string | Нет | Сортировка по полю (id, name, path, created_at, updated_at, last_activity_at) |
sort | string | Нет | Направление (asc, desc) |
perPage | number | Нет | Результатов на страницу (по умолчанию 20, максимум 100) |
page | number | Нет | Номер страницы |
| Параметр | Тип | Описание |
|---|
projects | array | Список проектов GitLab |
total | number | Всего проектов |
Карточка проекта.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта или путь с URL-кодированием (например, namespace/project) |
| Параметр | Тип | Описание |
|---|
project | object | Данные проекта |
Список задач проекта.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта или путь с URL-кодированием |
state | string | Нет | Фильтр статуса (opened, closed, all) |
labels | string | Нет | Метки через запятую |
assigneeId | number | Нет | Фильтр по ID исполнителя |
milestoneTitle | string | Нет | Фильтр по названию вехи |
search | string | Нет | Поиск по названию и описанию |
orderBy | string | Нет | Сортировка (created_at, updated_at) |
sort | string | Нет | Направление (asc, desc) |
perPage | number | Нет | Результатов на страницу (по умолчанию 20, максимум 100) |
page | number | Нет | Номер страницы |
| Параметр | Тип | Описание |
|---|
issues | array | Список задач GitLab |
total | number | Всего задач |
Карточка задачи.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта или путь с URL-кодированием |
issueIid | number | Да | Номер задачи в проекте (тот, что с # в интерфейсе GitLab) |
| Параметр | Тип | Описание |
|---|
issue | object | Данные задачи |
Создать задачу в проекте.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта или путь с URL-кодированием |
title | string | Да | Название задачи |
description | string | Нет | Описание (поддерживается Markdown) |
labels | string | Нет | Метки через запятую |
assigneeIds | array | Нет | ID исполнителей |
milestoneId | number | Нет | ID вехи |
dueDate | string | Нет | Срок в формате YYYY-MM-DD |
confidential | boolean | Нет | Конфиденциальная задача |
| Параметр | Тип | Описание |
|---|
issue | object | Созданная задача |
Обновить задачу.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта или путь с URL-кодированием |
issueIid | number | Да | Внутренний ID задачи (IID) |
title | string | Нет | Новое название |
description | string | Нет | Новое описание (поддерживается Markdown) |
stateEvent | string | Нет | Событие статуса (close или reopen) |
labels | string | Нет | Метки через запятую |
assigneeIds | array | Нет | ID исполнителей |
milestoneId | number | Нет | ID вехи |
dueDate | string | Нет | Срок в формате YYYY-MM-DD |
confidential | boolean | Нет | Конфиденциальная задача |
| Параметр | Тип | Описание |
|---|
issue | object | Обновлённая задача |
Удалить задачу.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта или путь с URL-кодированием |
issueIid | number | Да | Внутренний ID задачи (IID) |
| Параметр | Тип | Описание |
|---|
success | boolean | Задача удалена |
Добавить комментарий к задаче.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта или путь с URL-кодированием |
issueIid | number | Да | Внутренний ID задачи (IID) |
body | string | Да | Текст комментария (поддерживается Markdown) |
| Параметр | Тип | Описание |
|---|
note | object | Созданный комментарий |
Список merge request проекта.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта или путь с URL-кодированием |
state | string | Нет | Фильтр статуса (opened, closed, merged, all) |
labels | string | Нет | Метки через запятую |
sourceBranch | string | Нет | Фильтр по исходной ветке |
targetBranch | string | Нет | Фильтр по целевой ветке |
orderBy | string | Нет | Сортировка (created_at, updated_at) |
sort | string | Нет | Направление (asc, desc) |
perPage | number | Нет | Результатов на страницу (по умолчанию 20, максимум 100) |
page | number | Нет | Номер страницы |
| Параметр | Тип | Описание |
|---|
mergeRequests | array | Список merge request |
total | number | Всего merge request |
Карточка merge request.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта или путь с URL-кодированием |
mergeRequestIid | number | Да | Внутренний ID merge request (IID) |
| Параметр | Тип | Описание |
|---|
mergeRequest | object | Данные merge request |
Создать merge request.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта или путь с URL-кодированием |
sourceBranch | string | Да | Исходная ветка |
targetBranch | string | Да | Целевая ветка |
title | string | Да | Название merge request |
description | string | Нет | Описание (поддерживается Markdown) |
labels | string | Нет | Метки через запятую |
assigneeIds | array | Нет | ID исполнителей |
milestoneId | number | Нет | ID вехи |
removeSourceBranch | boolean | Нет | Удалить исходную ветку после слияния |
squash | boolean | Нет | Сжать коммиты при слиянии |
draft | boolean | Нет | Черновик (work in progress) |
| Параметр | Тип | Описание |
|---|
mergeRequest | object | Созданный merge request |
Обновить merge request.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта или путь с URL-кодированием |
mergeRequestIid | number | Да | Внутренний ID merge request (IID) |
title | string | Нет | Новое название |
description | string | Нет | Новое описание |
stateEvent | string | Нет | Событие статуса (close или reopen) |
labels | string | Нет | Метки через запятую |
assigneeIds | array | Нет | ID исполнителей |
milestoneId | number | Нет | ID вехи |
targetBranch | string | Нет | Новая целевая ветка |
removeSourceBranch | boolean | Нет | Удалить исходную ветку после слияния |
squash | boolean | Нет | Сжать коммиты при слиянии |
draft | boolean | Нет | Черновик (work in progress) |
| Параметр | Тип | Описание |
|---|
mergeRequest | object | Обновлённый merge request |
Слить merge request.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта или путь с URL-кодированием |
mergeRequestIid | number | Да | Внутренний ID merge request (IID) |
mergeCommitMessage | string | Нет | Своё сообщение коммита слияния |
squashCommitMessage | string | Нет | Своё сообщение squash-коммита |
squash | boolean | Нет | Сжать коммиты перед слиянием |
shouldRemoveSourceBranch | boolean | Нет | Удалить исходную ветку после слияния |
mergeWhenPipelineSucceeds | boolean | Нет | Слить, когда пайплайн успешен |
| Параметр | Тип | Описание |
|---|
mergeRequest | object | Слитый merge request |
Добавить комментарий к merge request.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта или путь с URL-кодированием |
mergeRequestIid | number | Да | Внутренний ID merge request (IID) |
body | string | Да | Текст комментария (поддерживается Markdown) |
| Параметр | Тип | Описание |
|---|
note | object | Созданный комментарий |
Список пайплайнов проекта.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта или путь с URL-кодированием |
ref | string | Нет | Фильтр по ref (ветка или тег) |
status | string | Нет | Фильтр статуса (created, waiting_for_resource, preparing, pending, running, success, failed, canceled, skipped, manual, scheduled) |
orderBy | string | Нет | Сортировка (id, status, ref, updated_at, user_id) |
sort | string | Нет | Направление (asc, desc) |
perPage | number | Нет | Результатов на страницу (по умолчанию 20, максимум 100) |
page | number | Нет | Номер страницы |
| Параметр | Тип | Описание |
|---|
pipelines | array | Список пайплайнов |
total | number | Всего пайплайнов |
Карточка пайплайна.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта или путь с URL-кодированием |
pipelineId | number | Да | ID пайплайна |
| Параметр | Тип | Описание |
|---|
pipeline | object | Данные пайплайна |
Запустить пайплайн.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта или путь с URL-кодированием |
ref | string | Да | Ветка или тег для запуска |
variables | array | Нет | Переменные пайплайна (у каждой — key, value и необязательный variable_type) |
| Параметр | Тип | Описание |
|---|
pipeline | object | Созданный пайплайн |
Повторить упавший пайплайн.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта или путь с URL-кодированием |
pipelineId | number | Да | ID пайплайна |
| Параметр | Тип | Описание |
|---|
pipeline | object | Повторённый пайплайн |
Отменить выполняющийся пайплайн.
| Параметр | Тип | Обязательный | Описание |
|---|
projectId | string | Да | ID проекта или путь с URL-кодированием |
pipelineId | number | Да | ID пайплайна |
| Параметр | Тип | Описание |
|---|
pipeline | object | Отменённый пайплайн |