Изменить рабочий процесс

Запрос позволяет изменить существующий рабочий процесс: название, начальное действие, шаги, тип и настройки резолюций для типов задач.

PATCH

https://api.tracker.yandex.net/v3/workflows/<id>?version=<version>

Формат запроса

Перед выполнением запроса получите доступ к API.

Чтобы изменить рабочий процесс, используйте HTTP-запрос с методом PATCH. В теле запроса укажите только те параметры, которые требуется изменить. Текущую версию рабочего процесса передайте в query-параметре version или заголовке If-Match.

PATCH /v3/workflows/<id>?version=<version>
Host: api.tracker.yandex.net
Authorization: OAuth <OAuth-токен>
Content-Type: application/json
X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации>

{
    "name": "Updated process",
    "type": "VISUAL",
    "initialAction": {
        "id": "open",
        "name": { "ru": "Открыть", "en": "Open" },
        "target": "open"
    },
    "steps": [
        {
            "status": "open",
            "actions": [
                {
                    "id": "inProgress",
                    "name": { "ru": "Взять в работу", "en": "Start progress" },
                    "target": "inProgress"
                }
            ]
        },
        {
            "status": "inProgress",
            "actions": [
                {
                    "id": "close",
                    "name": { "ru": "Закрыть", "en": "Close" },
                    "target": "closed"
                }
            ]
        },
        {
            "status": "closed",
            "actions": []
        }
    ]
}
Заголовки
  • Host: адрес узла, предоставляющего API.

  • Authorization: токен для авторизации в одном из форматов:

    • OAuth <OAuth-токен> при авторизации по протоколу OAuth 2.0. Читать подробнее

    • Bearer <IAM-токен> при авторизации с помощью IAM-токена — если к Трекеру привязана организация Yandex Identity Hub. Читать подробнее

  • Content-Type: формат тела запроса. Должен иметь значение application/json.

  • X-Org-ID или X-Cloud-Org-ID: идентификатор организации.

    • если к Трекеру привязана организация Яндекс 360 для бизнеса, используйте заголовок X-Org-ID,

    • если к Трекеру привязана организация Yandex Identity Hub, используйте заголовок X-Cloud-Org-ID.

    Чтобы узнать идентификатор организации, перейдите на страницу АдминистрированиеОрганизации и скопируйте значение поля идентификатор.

Ресурс
Параметр Описание Тип данных
<id> Идентификатор рабочего процесса. Строка
<version> Версия рабочего процесса. Используется для предотвращения конфликтов при одновременном изменении. Текущую версию можно узнать с помощью запроса на получение рабочего процесса. Вместо query-параметра можно использовать заголовок If-Match. Число
Параметры тела запроса
Параметр Описание Тип данных Обязательный
name Новое название рабочего процесса. Строка Нет
type Тип рабочего процесса. Сейчас доступен тип visual. В запросе используйте значение VISUAL. В ответе API возвращает visual. У созданных ранее рабочих процессов поле может отсутствовать. Строка Нет
initialAction Новое начальное действие. Структура объекта описана в разделе Создать рабочий процесс. Объект Нет
steps Обновленный массив шагов рабочего процесса. Структура объектов описана в разделе Создать рабочий процесс. Массив объектов Нет
issueTypeResolutions Массив с настройками резолюций для типов задач. Массив объектов Нет

Пример: Изменить рабочий процесс W21 — задать новое название и обновить шаги с переходами на тестирование и завершение (версия 3)

PATCH /v3/workflows/W21?version=3
Host: api.tracker.yandex.net
Authorization: OAuth y0__xAbc******
Content-Type: application/json
X-Org-ID: 1234******

{
    "name": "QA process",
    "initialAction": {
        "id": "new",
        "name": { "ru": "Создать", "en": "Create" },
        "target": "new"
    },
    "steps": [
        {
            "status": "new",
            "actions": [
                {
                    "id": "needInfo",
                    "name": { "ru": "Отправить на тестирование", "en": "Send to testing" },
                    "target": "testing"
                }
            ]
        },
        {
            "status": "testing",
            "actions": [
                {
                    "id": "resolved",
                    "name": { "ru": "Завершить", "en": "Resolve" },
                    "target": "resolved"
                }
            ]
        },
        {
            "status": "resolved",
            "actions": []
        }
    ]
}

Формат ответа

В случае успешного выполнения запроса API возвращает ответ с кодом 200 OK.

Тело ответа содержит информацию об измененном рабочем процессе в формате JSON. При каждом изменении значение поля version увеличивается.

Незаполненные необязательные поля API не возвращает в ответе. Например, queue, type, createdBy и updatedBy.

{
    "self": "https://api.tracker.yandex.net/v3/workflows/W21",
    "id": "W21",
    "name": "Updated process",
    "version": 2,
    "steps": [
        {
            "status": {
                "self": "https://api.tracker.yandex.net/v3/statuses/1",
                "id": "1",
                "key": "open",
                "display": "Открыт"
            },
            "actions": [
                {
                    "id": "inProgress",
                    "name": "Взять в работу",
                    "target": {
                        "self": "https://api.tracker.yandex.net/v3/statuses/3",
                        "id": "3",
                        "key": "inProgress",
                        "display": "В работе"
                    }
                }
            ]
        },
        {
            "status": {
                "self": "https://api.tracker.yandex.net/v3/statuses/3",
                "id": "3",
                "key": "inProgress",
                "display": "В работе"
            },
            "actions": [
                {
                    "id": "close",
                    "name": "Закрыть",
                    "target": {
                        "self": "https://api.tracker.yandex.net/v3/statuses/8",
                        "id": "8",
                        "key": "closed",
                        "display": "Закрыт"
                    }
                }
            ]
        },
        {
            "status": {
                "self": "https://api.tracker.yandex.net/v3/statuses/8",
                "id": "8",
                "key": "closed",
                "display": "Закрыт"
            }
        }
    ],
    "initialAction": {
        "id": "open",
        "name": "Открыть",
        "target": {
            "self": "https://api.tracker.yandex.net/v3/statuses/1",
            "id": "1",
            "key": "open",
            "display": "Открыт"
        }
    },
    "queue": {
        "self": "https://api.tracker.yandex.net/v3/queues/DESIGN",
        "id": "4",
        "key": "DESIGN",
        "display": "DESIGN"
    },
    "created": "2026-08-11T14:37:06.356+0000",
    "updated": "2026-08-11T15:10:00.000+0000",
    "createdBy": {
        "self": "https://api.tracker.yandex.net/v3/users/11********",
        "id": "11********",
        "display": "Имя Фамилия",
        "cloudUid": "ajeppa7dgp53********",
        "passportUid": 1100000000
    },
    "updatedBy": {
        "self": "https://api.tracker.yandex.net/v3/users/11********",
        "id": "11********",
        "display": "Имя Фамилия",
        "cloudUid": "ajeppa7dgp53********",
        "passportUid": 1100000000
    },
    "deleted": false,
    "type": "visual"
}
Параметры ответа
Параметр Описание Тип данных
self Ссылка на рабочий процесс. Строка
id Идентификатор рабочего процесса. Строка
name Название рабочего процесса. Строка
version Версия рабочего процесса. Каждое изменение увеличивает номер версии. Число
steps Массив шагов рабочего процесса. Массив объектов
initialAction Начальное действие. Объект
queue Очередь, к которой привязан рабочий процесс. Объект
created Дата и время создания. Строка
updated Дата и время последнего изменения. Строка
createdBy Автор рабочего процесса. Объект
updatedBy Пользователь, последним изменивший рабочий процесс. Объект
deleted Признак удаленного рабочего процесса. Логический
type Тип рабочего процесса. Сейчас единственное значение — visual. У созданных ранее рабочих процессов поле может отсутствовать. Строка

Поля объектов массива steps

Параметр Описание Тип данных
status Статус шага. Объект
actions Массив действий (переходов), доступных из этого статуса. Массив объектов

Поля объекта status

Параметр Описание Тип данных
self Ссылка на статус. Строка
id Идентификатор статуса. Строка
key Ключ статуса. Строка
display Отображаемое название статуса. Строка

Поля объектов action и initialAction

Параметр Описание Тип данных
id Идентификатор действия. Строка
name Название действия. Строка
target Целевой статус, в который переводит действие. Объект

Поля объекта target

Параметр Описание Тип данных
self Ссылка на статус. Строка
id Идентификатор статуса. Строка
key Ключ статуса. Строка
display Отображаемое название статуса. Строка

Поля объекта queue

Параметр Описание Тип данных
self Ссылка на очередь. Строка
id Идентификатор очереди. Строка
key Ключ очереди. Строка
display Отображаемое название очереди. Строка

Поля объекта пользователя (createdBy, updatedBy)

Параметр Описание Тип данных
self Ссылка на пользователя. Строка
id Идентификатор пользователя. Строка
display Отображаемое имя пользователя. Строка
cloudUid Уникальный идентификатор пользователя в Яндекс Облаке. Строка
passportUid Уникальный идентификатор аккаунта пользователя в Яндекс Паспорте. Число

Если запрос не был успешно обработан, ответное сообщение содержит информацию о возникших ошибках:

400
Один или несколько параметров запроса имеют недопустимое значение.
401
Пользователь не авторизован. Проверьте, были ли выполнены действия, описанные в разделе Доступ к API.
403
У вас не хватает прав на выполнение этого действия. Наличие прав можно перепроверить в интерфейсе Трекера — для выполнения действия при помощи API и через интерфейс требуются одинаковые права.
404
Запрошенный объект не был найден. Возможно, вы указали неверное значение идентификатора или ключа объекта.
412
При редактировании объекта возник конфликт. Возможно, ошибка возникла из-за неправильно указанной версии изменений.
422
Ошибка валидации JSON, запрос отклонен.
428
Доступ к ресурсу отклонен. Проверьте, указаны ли все обязательные условия выполнения запроса.