README.md

PHP SDK для работы с API Yandex.Tracker

Форк из bugrov/yandex-tracker#0d7dc8729bb8e6b57438037c9e84def10bb8023e (https://github.com/bugrov/yandex-tracker).

Установка этого форка вместо оригинала, пример для composer.json:

{
    "type": "project",
    "require": {
        "bugrov/yandex-tracker": "dev-master-vasw#COMMIT_HASH"
    },
    "repositories": [
        {
            "type": "vcs",
            "url":  "git@gitflic.ru:vasw/php-yandex-tracker.git"
        }
    ]
}

Что изменено

verify для GuzzleHttp\Client

Настройка верификации SSL-сертификатов.

Данная настройка напрямую пробрасывается как verify в GuzzleHttp\Client.

Подробнее: https://docs.guzzlephp.org/en/stable/request-options.html#verify.

Пример:

$verifyValue = false;

$api = new \BugrovWeb\YandexTracker\Api\Tracker(
    'token',
    'org id',
    'org type',
    $verifyValue);

try {
    $req = $api->user()
        ->getInfo()
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $e) {
    var_dump($e->getTraceAsString());
}

Поддержка разных типов Яндекс Организаций

Поддерживаются следующие типы организаций:

  • Yandex Cloud Organization (X-Cloud-Org-Id, \BugrovWeb\YandexTracker\Api\OrganizationType::YandexCloud), ID организации берётся здесь (из Идентификатор): https://org.cloud.yandex.ru/settings;
  • Yandex 360 Organization (X-Org-ID, \BugrovWeb\YandexTracker\Api\OrganizationType::Yandex360), ID организации берётся здесь (из ID организации для API): https://tracker.yandex.ru/settings;

Пример:

$verifyValue = false;

$api = new \BugrovWeb\YandexTracker\Api\Tracker(
    'token',
    'org id',
    \BugrovWeb\YandexTracker\Api\OrganizationType::YandexCloud,
    $verifyValue);

try {
    $req = $api->user()
        ->getInfo()
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $e) {
    var_dump($e->getTraceAsString());
}

Далее - оригинальное описание без изменений.


Оглавление

  1. Установка
  2. Получение токена
  3. Инициализация
  4. Пример использования
  5. Задачи
    1. Получить параметры задачи
    2. Редактировать задачу
    3. Создать задачу
    4. Перенести задачу в другую очередь
    5. Узнать количество задач
    6. Найти задачи
    7. Освободить ресурсы просмотра прокрутки
    8. Получить приоритеты
    9. Получить переходы
    10. Выполнить переход в статус
    11. Получить историю изменений задачи
    12. Связать задачи
    13. Получить связи задачи
    14. Удалить связь с задачей
  6. Чеклисты
    1. Создать чеклист или добавить в него пункты
    2. Получить параметры чеклиста
    3. Редактировать чеклист
    4. Удалить чеклист
  7. Проекты
    1. Создать проект
    2. Получить параметры проекта
    3. Получить список всех проектов
    4. Получить список очередей проекта
    5. Изменить проект
    6. Удалить проект
  8. Комментарии
    1. Добавить комментарий
    2. Получить комментарии к задаче
    3. Редактировать комментарий
    4. Удалить комментарий
  9. Макросы
    1. Получить макросы очереди
    2. Получить макрос
    3. Создать макрос
    4. Редактировать макрос
    5. Удалить макрос
  10. Внешние связи
    1. Получить список внешних приложений
    2. Получить список внешних связей задачи
    3. Добавить внешнюю связь
    4. Удалить внешнюю связь
  11. Прикрепленные файлы
    1. Получить список прикрепленных файлов
    2. Скачать файл
    3. Скачать миниатюру
    4. Прикрепить файл
    5. Загрузить временный файл
    6. Удалить файл
  12. Очереди
    1. Создать очередь
    2. Получить параметры очереди
    3. Получить список очередей
    4. Получить версии очереди
    5. Получить обязательные поля очереди
    6. Удалить очередь
    7. Восстановить очередь
    8. Удалить тег из очереди
    9. Создать автодействие
    10. Получить параметры автодействия
    11. Создать триггер
    12. Получить параметры триггера
  13. Доски задач
    1. Получить параметры всех досок
    2. Получить параметры доски
    3. Создать доску
    4. Редактировать доску
    5. Удалить доску
    6. Получить параметры всех колонок
    7. Получить параметры колонки
    8. Создать колонку
    9. Редактировать колонку
    10. Удалить колонку
    11. Получить все спринты доски
    12. Получить спринт
    13. Создать спринт
  14. Страны
    1. Получить список стран
  15. Компоненты
    1. Получить список компонентов
  16. Импорт
    1. Импортировать задачу
    2. Прикрепить файл к задаче
    3. Прикрепить файл к комментарию
    4. Импортировать комментарии
    5. Импортировать связи
  17. Пакетные операции
    1. Массовый перенос задач в другую очередь
    2. Массовое редактирование задач
    3. Массовое изменение статуса задач
  18. Учет времени
    1. Добавить запись о затраченном времени
    2. Редактировать запись о затраченном времени
    3. Удалить запись о затраченном времени
    4. Получить все записи о затраченном времени по задаче
    5. Отобрать записи о затраченном времени по параметрам
  19. Поля задачи
    1. Получить глобальные поля
    2. Получить список всех категорий полей
    3. Создать поле задачи
    4. Получить параметры поля задачи
    5. Изменить название поля задачи
    6. Изменить возможные значения поля задачи
    7. Создать категорию поля задачи
    8. Создать локальное поле очереди
    9. Получить локальные поля очереди
    10. Получить информацию о локальном поле очереди
    11. Редактировать локальное поле очереди
  20. Пользователи
    1. Получить информацию о текущем пользователе
    2. Получить информацию о пользователях
    3. Получить информацию о пользователе
  21. Встроенные хелперы
    1. TimeManager
    2. QueryFilter

Установка

Поддерживается установка с помощью менеджера пакетов.

$ composer require bugrov/yandex-tracker dev-master

Или

$ php composer.phar require bugrov/yandex-tracker dev-master

Получение токена

  1. Перейти на https://oauth.yandex.ru/
  2. Нажать Зарегистрировать новое приложение
  3. Заполнить необходимые поля
  4. В разделе Платформы выбрать Веб-сервисы и нажать Подставить URL для разработки
  5. В блоке Какие данные вам нужны? откройте Трекер (tracker) и выберите опции: Запись в трекер (tracker:write) и Чтение из трекера (tracker:read)
  6. После сохранения скопируйте ИД приложения и подставьте в URL для получения токена:
https://oauth.yandex.ru/authorize?response_type=token&client_id=<идентификатор приложения>
  1. Узнайте идентификатор организации, перейдя на страницу настроек Tracker. Идентификатор указан в поле ID организации для API. Он пригодится при инициализации.

Инициализация

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    // получить информацию о пользователе
    $req = $api->user()
        ->get('1234567890')
        ->send();
        
    // получить тело ответа
    var_dump($req->getResponse());
    // получить HTTP-код ответа
    var_dump($req->getStatusCode());
    // получить определенное поле из ответа
    var_dump($req->getField('email'));
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

SDK в случае успеха возвращает объект \BugrovWeb\YandexTracker\Api\ClientResponse.

Методы объекта ClientResponse:

  public function getResponse()

Возвращает массив с телом ответа

  public function getField(string $fieldName)

Возвращает определенное поле из тела ответа по ключу

  public function getHeaders(): array

Возвращает массив заголовков ответа

  public function getHeader(string $header)

Возвращает определенный заголовок по ключу

  public function getStatusCode(): int

Возвращает HTTP-код ответа


При ошибочном вызове SDK возвращает исключение в зависимости от ситуации.

Работа с Yandex.Tracker

Все методы, описанные ниже в блоках Доступные методы, вызываются цепочкой (т.н. Method Chaining):

$api->issue()->edit('TEST-1')->description('Simple Desc')->parent(['key' => 'ORG-1'])->send();

Метод send(); замыкает цепочку вызовов, отправляя запрос к API.

Задачи

Получить параметры задачи

Запрос позволяет получить информацию о задаче.

$api->issue()->get(string $issueId)

$issueId - Идентификатор или ключ текущей задачи. Строка


Доступные методы

public function expand(string $field)
Описание Тип данных Обязательный
Дополнительные поля, которые будут включены в ответ Строка Нет

Возможные значения $field:

  • Issue::FIELD_TRANSITIONS — переходы по жизненному циклу
  • Issue::FIELD_ATTACHMENTS — вложения
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->issue()
        ->get('TEST-1')
        ->expand(\BugrovWeb\YandexTracker\Api\Issue::FIELD_ATTACHMENTS)
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Редактировать задачу

Запрос позволяет внести изменения в задачу.

$api->issue()->edit(string $issueId)

$issueId - Идентификатор или ключ текущей задачи. Строка


Доступные методы

public function version(int $versionNumber)
Описание Тип данных Обязательный
Версия задачи. Изменения вносятся только в текущую версию задачи. Число Нет
public function summary(string $name)
Описание Тип данных Обязательный
Название задачи. Строка Нет
public function parent(string|array $parent)
Описание Тип данных Обязательный
Родительская задача. Массив или строка Нет

Поля массива $parent:

  • id - Идентификатор родительской задачи. Строка
  • key - Ключ родительской задачи. Строка
public function description(string $text)
Описание Тип данных Обязательный
Описание задачи. Строка Нет
public function sprint(array $sprintArray)
Описание Тип данных Обязательный
Блок с информацией о спринтах. Массив массивов или строк. Нет

Поля массива $sprintArray:

  • id - Идентификатор спринта. Информацию о спринте можно получить при помощи запроса
public function type(array|string|int $issueType)
Описание Тип данных Обязательный
Тип задачи. Массив, строка (если передается ключ типа задачи) или число (если передается идентификатор типа задачи) Нет

Поля массива $issueType:

  • id - Идентификатор типа задачи. Строка
  • key - Ключ типа задачи. Строка
public function priority(array|string|int $priority)
Описание Тип данных Обязательный
Приоритет задачи. Массив, строка (если передается ключ приоритета) или число (если передается идентификатор приоритета) Нет

Поля массива $priority:

  • id - Идентификатор приоритета. Строка
  • key - Ключ приоритета. Строка
public function followers(array $followersArray)
Описание Тип данных Обязательный
Идентификаторы или логины наблюдателей задачи. Массив массивов или строк Нет

Поля массива $followersArray:

  • id - Идентификатор сотрудника. Строка
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->issue()
        ->edit('TEST-2')
        ->description('Simple Desc')
        ->parent(['key' => 'TEST-1'])
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Создать задачу

Запрос позволяет создать задачу.

$api->issue()->create()

Доступные методы

public function summary(string $name)
Описание Тип данных Обязательный
Название задачи. Строка Да
public function queue(array|string|int $queue)
Описание Тип данных Обязательный
Очередь, в которой нужно создать задачу. Массив, строка (если передается ключ очереди), число (если передается идентификатор очереди) Да

Поля массива $queue:

  • id - Идентификатор очереди. Строка
  • key - Ключ очереди. Строка
public function parent(string|array $parent)
Описание Тип данных Обязательный
Родительская задача. Массив или строка Нет

Поля массива parent:

  • id - Идентификатор родительской задачи. Строка
  • key - Ключ родительской задачи. Строка
public function description(string $text)
Описание Тип данных Обязательный
Описание задачи. Строка Нет
public function sprint(array $sprintArray)
Описание Тип данных Обязательный
Блок с информацией о спринтах. Массив массивов или строк Нет
public function type(array|string|int $issueType)
Описание Тип данных Обязательный
Тип задачи. Массив, строка (если передается ключ типа задачи), число (если передается идентификатор типа задачи) Нет

Поля массива $issueType:

  • id - Идентификатор типа задачи. Строка
  • key - Ключ типа задачи. Строка
public function priority(array|string|int $priority)
Описание Тип данных Обязательный
Приоритет задачи. Массив, строка (если передается ключ приоритета), число (если передается идентификатор приоритета) Нет

Поля массива $priority:

  • id - Идентификатор приоритета. Строка
  • key - Ключ приоритета. Строка
public function followers(array $followersArray)
Описание Тип данных Обязательный
Идентификаторы или логины наблюдателей задачи. Массив массивов или строк Нет

Поля массива $followersArray:

  • id - Идентификатор сотрудника. Строка
public function assignee(array|string $assignee)
Описание Тип данных Обязательный
Идентификатор или логин исполнителя задачи. Массив массивов или строк, строка Нет

Поля массива $assignee:

  • id - Идентификатор сотрудника. Строка
public function unique(string $uniqueField)
Описание Тип данных Обязательный
Поле с уникальным значением, позволяющее предотвратить создание дубликатов задач. Строка Нет
public function attachmentIds(array|string[] $attachments)
Описание Тип данных Обязательный
Список идентификаторов вложений. Массив строк Нет
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->issue()
        ->create()
        ->queue('TEST')
        ->summary('Тестовая задача')
        ->description('Тестовая задача')
        ->type('task')
        ->assignee('1707400915')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Перенести задачу в другую очередь

Запрос позволяет переместить задачу в другую очередь.

$api->issue()->move(string $issueId)

$issueId - Идентификатор или ключ текущей задачи. Строка


Доступные методы

public function queue(string $queueId)
Описание Тип данных Обязательный
Ключ очереди, в которую необходимо перенести задачу. Строка Да
public function notify(bool $notify)
Описание Тип данных Обязательный
Признак уведомления об изменении задачи. Логический Нет
  • true - (по умолчанию) пользователи, указанные в полях задачи, получат уведомления
  • false - пользователи не получат уведомления
public function notifyAuthor(bool $notify)
Описание Тип данных Обязательный
Признак уведомления автора задачи Логический Нет
  • true - автор получит уведомление
  • false - (по умолчанию) – автор не получит уведомление
public function moveAllFields(bool $move)
Описание Тип данных Обязательный
Перенос версий, компонентов и проектов задачи в новую очередь Логический Нет
  • true - перенести, если в новой очереди существуют соответствующие версии, компоненты, проекты
  • false - (по умолчанию) – очистить версии, компоненты, проекты
public function initialStatus(bool $clear)
Описание Тип данных Обязательный
Сброс статуса задачи в начальное значение Логический Нет
  • true - статус будет сброшен
  • false - (по умолчанию) – статус останется без изменений
public function expand(string $field)
Описание Тип данных Обязательный
Дополнительные поля, которые будут включены в ответ Логический Нет

Возможные значения $field:

  • Issue::FIELD_ATTACHMENTS — вложения
  • Issue::FIELD_COMMENTS — комментарии
  • Issue::FIELD_WORKFLOW — воркфлоу задачи
  • Issue::FIELD_TRANSITIONS — переходы по жизненному циклу
public function summary(string $name)
Описание Тип данных Обязательный
Название задачи. Строка Нет
public function parent(string|array $parent)
Описание Тип данных Обязательный
Родительская задача. Массив или строка Нет

Поля массива $parent:

  • id - Идентификатор родительской задачи. Строка
  • key - Ключ родительской задачи. Строка
public function description(string $text)
Описание Тип данных Обязательный
Описание задачи. Строка Нет
public function sprint(array $sprintArray)
Описание Тип данных Обязательный
Блок с информацией о спринтах. Массив массивов или строк. Нет

Поля массива $sprintArray:

  • id - Идентификатор спринта. Информацию о спринте можно получить при помощи запроса
public function type(array|string|int $issueType)
Описание Тип данных Обязательный
Тип задачи. Массив, строка (если передается ключ типа задачи) или число (если передается идентификатор типа задачи) Нет

Поля массива $issueType:

  • id - Идентификатор типа задачи. Строка
  • key - Ключ типа задачи. Строка
public function priority(array|string|int $priority)
Описание Тип данных Обязательный
Приоритет задачи. Массив, строка (если передается ключ приоритета) или число (если передается идентификатор приоритета) Нет

Поля массива $priority:

  • id - Идентификатор приоритета. Строка
  • key - Ключ приоритета. Строка
public function followers(array $followersArray)
Описание Тип данных Обязательный
Идентификаторы или логины наблюдателей задачи. Массив массивов или строк Нет

Поля массива $followersArray:

  • id - Идентификатор сотрудника. Строка
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->issue()
        ->move('TEST-2')
        ->queue('ORG')
        ->notify(true)
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Узнать количество задач

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

$api->issue()->getCount()

Доступные методы

public function filter(array $filter)
Описание Тип данных Обязательный
Параметры фильтрации задач (Ключ => Значение любого поля для фильтрации). Массив Нет
public function query(string $filter)
Описание Тип данных Обязательный
Фильтр на языке запросов. Строка Нет

Вы можете использовать конструктор для создания query-запроса на языке запросов Яндекс.Трекера.

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->issue()
        ->getCount()
        ->query('queue: TEST')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Найти задачи

Запрос позволяет получить список задач, удовлетворяющих заданному критерию.

$api->issue()->search()

Доступные методы

public function order(string $field)
Описание Тип данных Обязательный
Направление и поле сортировки задач. Указывается в формате +/-<название поля>. Строка Нет
public function expand(string $field)
Описание Тип данных Обязательный
Дополнительные поля, которые будут включены в ответ Строка Нет

Возможные значения $field:

  • Issue::FIELD_TRANSITIONS — переходы по жизненному циклу
  • Issue::FIELD_ATTACHMENTS — вложения
public function perPage(int $count)
Описание Тип данных Обязательный
Количество задач на странице ответа. Число Нет
public function page(int $pageNumber)
Описание Тип данных Обязательный
Номер страницы ответа. Число Нет
public function scrollType(string $scrollType)
Описание Тип данных Обязательный
Тип прокрутки. Строка Нет

Допустимые значения $scrollType:

  • Issue::SCROLL_TYPE_SORTED - используется указанная в запросе сортировка
  • Issue::SCROLL_TYPE_UNSORTED - сортировка не используется
public function perScroll(int $count)
Описание Тип данных Обязательный
Максимальное количество задач в ответе. Число Нет
public function scrollTTLMillis(int $milliseconds)
Описание Тип данных Обязательный
Время жизни контекста прокрутки и токена scrollToken в миллисекундах Число Нет
public function scrollId(string $scrollId)
Описание Тип данных Обязательный
Идентификатор страницы (из заголовка X-Scroll-Id). Строка Нет
public function scrollToken(string $scrollToken)
Описание Тип данных Обязательный
Токен, удостоверяющий принадлежность запроса текущему пользователю (из заголовка X-Scroll-Token). Строка Нет
public function filter(array $filter)
Описание Тип данных Обязательный
Параметры фильтрации задач (Ключ => Значение любого поля для фильтрации). Массив Нет
public function query(string $filter)
Описание Тип данных Обязательный
Фильтр на языке запросов. Строка Нет

Вы можете использовать конструктор для создания query-запроса на языке запросов Яндекс.Трекера.

public function keys(string $issueKeys)
Описание Тип данных Обязательный
Список ключей задач. Строка Нет
public function queue(string $queue)
Описание Тип данных Обязательный
Очередь. Строка Нет
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->issue()
        ->search()
        ->filter(['queue' => 'TEST'])
        ->order('+createdAt')
        ->scrollType('sorted')
        ->perScroll(2)
        ->scrollTTLMillis(10000)
        ->send();
    var_dump($req->getResponse());
    $xScrollId = $req->getHeader('X-Scroll-Id');
    $xScrollToken = $req->getHeader('X-Scroll-Token');
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Освободить ресурсы просмотра прокрутки

Запрос позволяет освободить ресурсы после просмотра слепка поиска в запросе

$api->issue()->clearSearch(array $tokens)

$tokens - Массив вида scrollId => scrollToken, где:

  • scrollId - Идентификатор страницы результатов прокрутки. Значение идентификатора указывается из заголовка X-Scroll-Id ответа на запрос
  • scrollToken - Токен, удостоверяющий принадлежность запроса текущему пользователю. Значение идентификатора указывается из заголовка X-Scroll-Token ответа на запрос

Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->issue()
        ->clearSearch([$xScrollId => $xScrollToken])
        ->send();
    var_dump($req->getStatusCode());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Получить приоритеты

Запрос позволяет получить список приоритетов для задачи.

$api->issue()->getPriorities()

Доступные методы

public function localized(bool $localized)
Описание Тип данных Обязательный
Признак наличия переводов в ответе. Логический Нет

Допустимые значения $localized:

  • true - В ответе содержатся описания приоритетов только на языке пользователя. Значение по умолчанию.
  • false - В ответе содержатся описания приоритетов на всех языках.
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->issue()
        ->getPriorities()
        ->localized(false)
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Получить переходы

Запрос позволяет получить список возможных переходов задачи. Задача выбирается при указании идентификатора или ключа задачи.

$api->issue()->getTransitions(string $issueId)

$issueId - Идентификатор или ключ текущей задачи. Строка


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->issue()
        ->getTransitions('TEST-1')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

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

Запрос позволяет перевести задачу в новый статус.

$api->issue()->newTransition(string $issueId, string $transitionId)

$issueId - Идентификатор или ключ текущей задачи. Строка $transitionId - Идентификатор перехода. Строка


Доступные методы

public function comment(string $text)
Описание Тип данных Обязательный
Комментарий к задаче. Строка Да
public function <Поле задачи>($key)
Описание Тип данных Обязательный
Поле задачи, доступное для изменения при переходе: https://tracker.yandex.ru/admin/fields Зависит от типа параметра Нет
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->issue()
        ->newTransition('TEST-1', 'resolve')
        ->comment('Переход в новый статус')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Получить историю изменений задачи

Запрос позволяет получить историю изменений задачи.

$api->issue()->changelog(string $issueId)

$issueId - Идентификатор или ключ текущей задачи. Строка


Доступные методы

public function id(string $changeId)
Описание Тип данных Обязательный
Идентификатор изменения, за которым следуют запрашиваемые изменения. Строка Нет
public function perPage(int $count)
Описание Тип данных Обязательный
Количество изменений на странице. Число Нет
public function field(string $changeParamId)
Описание Тип данных Обязательный
Идентификатор параметра изменений. Строка Нет
public function type(string $key)
Описание Тип данных Обязательный
Ключ типа изменения. Строка Нет
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->issue()
        ->changelog('TEST-1')
        ->type('IssueMoved')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Связать задачи

Запрос позволяет создать связь между двумя задачами.

$api->issue()->link(string $issueId)

$issueId - Идентификатор или ключ текущей задачи. Строка


Доступные методы

public function relationship(string $type)
Описание Тип данных Обязательный
Тип связи между задачами. Строка Да

Допустимые значения $type:

  • Issue::REL_RELATES - простая связь
  • Issue::REL_IS_DEPENDENT_BY - текущая задача является блокером
  • Issue::REL_DEPENDS_ON - текущая задача зависит от связываемой
  • Issue::REL_IS_SUBTASK_FOR - текущая задача является подзадачей связываемой
  • Issue::REL_IS_PARENT_TASK_FOR - текущая задача является родительской для связываемой задачи
  • Issue::REL_DUPLICATES - текущая задача дублирует связываемую
  • Issue::REL_IS_DUPLICATED_BY - связываемая задача дублирует текущую
  • Issue::REL_IS_EPIC_OF - текущая задача является эпиком связываемой. Связь такого типа можно установить только для задач типа “Эпик”
  • Issue::REL_HAS_EPIC - связываемая задача является эпиком текущей. Связь такого типа можно установить только для задач типа “Эпик”
public function issue(string $issueId)
Описание Тип данных Обязательный
Идентификатор или ключ связываемой задачи. Строка Да
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->issue()
        ->link('TEST-2')
        ->relationship(\BugrovWeb\YandexTracker\Api\Issue::REL_IS_PARENT_TASK_FOR)
        ->issue('TEST-3')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Получить связи задачи

Запрос позволяет получить информацию о связях задачи.

$api->issue()->getLinks(string $issueId)

$issueId - Идентификатор или ключ текущей задачи. Строка


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->issue()
        ->getLinks('TEST-1')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Удалить связь с задачей

Запрос позволяет удалить связь задачи с другой задачей.

$api->issue()->deleteLink(string $issueId, int $linkId)

$issueId - Идентификатор или ключ текущей задачи. Строка

$linkId - Идентификатор связи с другой задачей. Число


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->issue()
        ->deleteLink('TEST-1', 1)
        ->send();
    var_dump($req->getStatusCode());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Чеклисты

Создать чеклист или добавить в него пункты

$api->checklist()->add(string $issueId)

$issueId - Идентификатор или ключ задачи. Строка


Доступные методы

public function text(string $text)
Описание Тип данных Обязательный
Текст пункта. Строка Да
public function checked(bool $isChecked)
Описание Тип данных Обязательный
Отметка о выполнении пункта. Логический Нет

Допустимые значения $isChecked:

  • true - пункт отмечен как выполненный
  • false - пункт не отмечен как выполненный
public function assignee(string $assignee)
Описание Тип данных Обязательный
Идентификатор или логин пользователя, который является исполнителем пункта чеклиста. Строка Нет
public function deadline(array $deadlineArray)
Описание Тип данных Обязательный
Дедлайн пункта чеклиста. Массив Нет

Поля массива $deadlineArray:

  • date - Дата дедлайна в формате YYYY-MM-DDThh:mm:ss.sss±hhmm. Дата
  • deadlineType - Тип данных параметра deadline. Строка
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->checklist()
        ->add('TEST-1')
        ->text('Почистить зубы')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Получить параметры чеклиста

Запрос позволяет получить параметры чеклиста в задаче.

$api->checklist()->get(string $issueId)

$issueId - Идентификатор или ключ задачи. Строка


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->checklist()
        ->get('TEST-1')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Редактировать чеклист

Запрос позволяет редактировать пункты чеклиста в задаче.

$api->checklist()->edit(string $issueId, string $checklistId)

$issueId - Идентификатор или ключ задачи. Строка

$checklistId - Идентификатор пункта чеклиста. Строка


Доступные методы

public function text(string $text)
Описание Тип данных Обязательный
Текст пункта чеклиста. Строка Да
public function checked(bool $isChecked)
Описание Тип данных Обязательный
Признак выполнения пункта чеклиста. Логический Нет

Допустимые значения $isChecked:

  • true - пункт отмечен как выполненный
  • false - пункт не отмечен как выполненный
public function assignee(string $assignee)
Описание Тип данных Обязательный
Идентификатор или логин пользователя, который является исполнителем пункта чеклиста. Строка Нет
public function deadline(array $deadlineArray)
Описание Тип данных Обязательный
Дедлайн пункта чеклиста. Массив Нет

Поля массива $deadlineArray:

  • date - Дата дедлайна в формате YYYY-MM-DDThh:mm:ss.sss±hhmm. Дата
  • deadlineType - Тип данных параметра deadline. Строка
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->checklist()
        ->edit('TEST-1', '6365f6bcb399bd4dd2929f19')
        ->text('Умыться')
        ->checked(true)
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Удалить чеклист

Запрос позволяет удалить чеклист из задачи.

$api->checklist()->delete(string $issueId)

$issueId - Идентификатор или ключ задачи. Строка


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->checklist()
        ->delete('TEST-1')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Проекты

Создать проект

Запрос позволяет создать проект.

$api->project()->create()

Доступные методы

public function name(string $name)
Описание Тип данных Обязательный
Название проекта. Строка Да
public function queues(string $issueQueue)
Описание Тип данных Обязательный
Задачи, которые планируется включать в проект. Строка Да
public function description(string $text)
Описание Тип данных Обязательный
Описание проекта. Строка Нет
public function lead(string|int $lead)
Описание Тип данных Обязательный
Идентификатор или логин исполнителя проекта. Строка/Число Нет
public function status(string $stage)
Описание Тип данных Обязательный
Этап, на котором находится проект. Строка Нет

Допустимые значения $stage:

  • Project::STAGE_DRAFT - Черновик
  • Project::STAGE_IN_PROGRESS - В работе
  • Project::STAGE_LAUNCHED - Запущен
  • Project::STAGE_POSTPONED - Отложен
public function startDate(string $date)
Описание Тип данных Обязательный
Дата начала проекта в формате YYYY-MM-DD. Строка Нет
public function endDate(string $date)
Описание Тип данных Обязательный
Дата завершения проекта в формате YYYY-MM-DD. Строка Нет
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->project()
        ->create()
        ->name('ORG проект')
        ->queues('ORG')
        ->status(\BugrovWeb\YandexTracker\Api\Project::STAGE_LAUNCHED)
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Получить параметры проекта

Запрос позволяет получить информацию о проекте.

$api->project()->get(int $projectId)

$projectId - Идентификатор проекта. Число


Доступные методы

public function expand(string $field)
Описание Тип данных Обязательный
Дополнительные поля, которые будут включены в ответ. Строка Нет

Возможные значения $field:

  • Project::FIELD_QUEUES - очереди проекта
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->project()
        ->get(1)
        ->expand(\BugrovWeb\YandexTracker\Api\Project::FIELD_QUEUES)
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Получить список всех проектов

Запрос позволяет получить список всех проектов организации.

$api->project()->getAll()

Доступные методы

public function expand(string $field)
Описание Тип данных Обязательный
Дополнительные поля, которые будут включены в ответ. Строка Нет

Возможные значения $field:

  • Project::FIELD_QUEUES - очереди проекта
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->project()
        ->getAll()
        ->expand(\BugrovWeb\YandexTracker\Api\Project::FIELD_QUEUES)
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Получить список очередей проекта

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

$api->project()->getQueues(int $projectId)

$projectId - Идентификатор проекта. Число


Доступные методы

public function expand(string $field)
Описание Тип данных Обязательный
Дополнительные поля, которые будут включены в ответ. Строка Нет

Возможные значения $field:

  • Project::FIELD_ALL - все параметры очереди
  • Project::FIELD_PROJECTS - все проекты организации
  • Project::FIELD_COMPONENTS - компоненты очереди
  • Project::FIELD_VERSIONS - версии очереди
  • Project::FIELD_TYPES - типы задач очереди
  • Project::FIELD_TEAM - участники команды очереди
  • Project::FIELD_WORKFLOWS - жизненные циклы очереди и их типы задач
  • Project::FIELD_FIELDS - обязательные поля очереди
  • Project::FIELD_NOTIFICATIONS - поля в уведомлениях о задачах очереди
  • Project::FIELD_ISSUE_CONFIG - настройки задач очереди
  • Project::FIELD_ENABLED_FEATURES - настройки интеграций очереди
  • Project::FIELD_SIGNATURE_SETTINGS - информация о почтовом ящике очереди: адрес, псевдоним и подпись
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->project()
        ->getQueues(1)
        ->expand(\BugrovWeb\YandexTracker\Api\Project::FIELD_PROJECTS)
        ->send();
    dump($req->getResponse());
} catch (\Exception $exception) {
    dump($exception->getMessage());
}

Изменить проект

Запрос позволяет обновить информацию о проекте.

$api->project()->update(int $projectId)

$projectId - Идентификатор проекта. Число


Доступные методы

public function version(int $versionNumber)
Описание Тип данных Обязательный
Версия проекта. Изменения вносятся только в текущую версию проекта. Число Да
public function expand(string $field)
Описание Тип данных Обязательный
Дополнительные поля, которые будут включены в ответ. Строка Нет

Возможные значения $field:

  • Project::FIELD_QUEUES - очереди проекта
public function queues(string $issueQueue)
Описание Тип данных Обязательный
Дополнительные поля, которые будут включены в ответ. Строка Нет
public function name(string $name)
Описание Тип данных Обязательный
Название проекта. Строка Нет
public function description(string $text)
Описание Тип данных Обязательный
Описание проекта. Строка Нет
public function lead(string|int $lead)
Описание Тип данных Обязательный
Идентификатор или логин исполнителя проекта. Строка/Число Нет
public function status(string $stage)
Описание Тип данных Обязательный
Этап, на котором находится проект. Строка Нет

Допустимые значения $stage:

  • Project::STAGE_DRAFT - Черновик
  • Project::STAGE_IN_PROGRESS - В работе
  • Project::STAGE_LAUNCHED - Запущен
  • Project::STAGE_POSTPONED - Отложен
public function startDate(string $date)
Описание Тип данных Обязательный
Дата начала проекта в формате YYYY-MM-DD. Строка Нет
public function endDate(string $date)
Описание Тип данных Обязательный
Дата завершения проекта в формате YYYY-MM-DD. Строка Нет
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->project()
        ->update(1)
        ->version(2)
        ->name('ORG PROJECT 1')
        ->expand(\BugrovWeb\YandexTracker\Api\Project::FIELD_QUEUES)
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Удалить проект

Запрос позволяет удалить проект.

$api->project()->delete(int $projectId)

$projectId - Идентификатор проекта. Число


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->project()
        ->delete(1)
        ->send();
    var_dump($req->getStatusCode());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Комментарии

Добавить комментарий

$api->comment()->add(string $issueId)

$issueId - Идентификатор или ключ текущей задачи. Строка


Доступные методы

public function isAddToFollowers(bool $add)
Описание Тип данных Обязательный
Добавить автора комментария в наблюдатели (по умолчанию true) Логический Нет
public function text(string $comment)
Описание Тип данных Обязательный
Комментарий к задаче. Строка Да
public function attachmentIds(array|string[] $attachments)
Описание Тип данных Обязательный
Список идентификаторов вложений. Массив строк Нет
public function summonees(array $summonees)
Описание Тип данных Обязательный
Идентификаторы или логины призванных пользователей. Массив масивов или строк Нет
public function maillistSummonees(array|string[] $mailList)
Описание Тип данных Обязательный
Список рассылок, призванных в комментарии. Массив строк Нет
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->comment()
        ->add('TEST-1')
        ->text('Тестовый комментарий')
        ->attachmentIds(['1', '2'])
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Получить комментарии к задаче

Запрос позволяет получить список комментариев к задаче.

$api->comment()->get(string $issueId)

$issueId - Идентификатор или ключ текущей задачи. Строка


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->comment()
        ->get('TEST-1')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Редактировать комментарий

Запрос позволяет редактировать комментарий.

$api->comment()->edit(string $issueId, string|int $commentId)

$issueId - Идентификатор или ключ текущей задачи. Строка

$commentId - Уникальный идентификатор комментария в числовом формате (id) или формате строки (longId). Строка или число


Доступные методы

public function text(string $comment)
Описание Тип данных Обязательный
Скорректированный комментарий к задаче. Строка Да
public function attachmentIds(array|string[] $attachments)
Описание Тип данных Обязательный
Список идентификаторов вложений. Массив строк Нет
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->comment()
        ->edit('TEST-1', 1)
        ->text('Первый коммент')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Удалить комментарий

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

$api->comment()->delete(string $issueId, string|int $commentId)

$issueId - Идентификатор или ключ текущей задачи. Строка

$commentId - Уникальный идентификатор комментария в числовом формате (id) или формате строки (longId). Строка или число


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->comment()
        ->delete('TEST-1', 1)
        ->send();
    var_dump($req->getStatusCode());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Макросы

Получить макросы очереди

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

$api->macros()->getAll(string $queueId)

$issueId - Идентификатор или ключ очереди. Ключ очереди чувствителен к регистру символов. Строка


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->macros()
        ->getAll('TEST')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Получить макрос

Запрос позволяет получить параметры макроса.

$api->macros()->get(string $queueId, string $macrosId)

$issueId - Идентификатор или ключ очереди. Ключ очереди чувствителен к регистру символов. Строка

$macrosId - Идентификатор макроса. Строка


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->macros()
        ->get('TEST', '1')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Создать макрос

Запрос позволяет создать макрос.

$api->macros()->post(string $queueId)

$queueId - Идентификатор или ключ очереди. Ключ очереди чувствителен к регистру символов. Строка


Доступные методы

public function name(string $name)
Описание Тип данных Обязательный
Название макроса. Строка Да
public function body(string|array $body)
Описание Тип данных Обязательный
Сообщение, которое будет создано при выполнении макроса. Используется специальный формат Строка/Массив Нет
public function fieldChanges(array $issueFields)
Описание Тип данных Обязательный
Массив с информацией о полях задачи, изменения которых запустит макрос. Массив Нет

Поля массива $issueFields:

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->macros()
        ->post('TEST')
        ->name('Add tag TEST')
        ->body("{% note info %}\n\nДобавится тэг TEST\n\n{% endnote %}")
        ->fieldChanges(['field' => 'tags', 'value' => 'TEST'])
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Редактировать макрос

Запрос позволяет изменить параметры макроса.

$api->macros()->patch(string $queueId, string $macrosId)

$queueId - Идентификатор или ключ очереди. Ключ очереди чувствителен к регистру символов. Строка

$macrosId - Идентификатор макроса. Строка


Доступные методы

public function name(string $name)
Описание Тип данных Обязательный
Название макроса. Строка Да
public function body(string|array $body)
Описание Тип данных Обязательный
Сообщение, которое будет создано при выполнении макроса. Используется специальный формат Строка/Массив Нет
public function fieldChanges(array $issueFields)
Описание Тип данных Обязательный
Массив с информацией о новых настройках действий макроса. Подробнее Массив Нет
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->macros()
        ->patch('TEST', 1)
        ->name('Add tag TEST2')
        ->fieldChanges([
            'replace' => [
                'target' => [
                    'field' => 'tags',
                    'value' => 'TEST',
                ],
                'replacement' => [
                    'field' => 'tags',
                    'value' => 'TEST2',
                ]
            ]
        ])
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Удалить макрос

Запрос позволяет удалить макрос.

$api->macros()->delete(string $queueId, string $macrosId)

$queueId - Идентификатор или ключ очереди. Ключ очереди чувствителен к регистру символов. Строка

$macrosId - Идентификатор макроса. Строка


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->macros()
        ->delete('TEST', 1)
        ->send();
    var_dump($req->getStatusCode());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Внешние связи

Получить список внешних приложений

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

$api->external()->getApplications()

Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->external()
        ->getApplications()
        ->send();
    dump($req->getResponse());
} catch (\Exception $exception) {
    dump($exception->getMessage());
}

Получить список внешних связей задачи

Запрос позволяет получить список связей задачи с объектами внешних приложений.

$api->external()->getLinks(string $issueId)

$issueId - Идентификатор или ключ текущей задачи. Строка


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->external()
        ->getLinks('TEST-1')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Добавить внешнюю связь

Запрос позволяет создать связь для работы с объектом внешнего приложения.

$api->external()->addLink(string $issueId)

$issueId - Идентификатор или ключ текущей задачи. Строка


Доступные методы

public function backlink(bool $needRequest)
Описание Тип данных Обязательный
Выполнить запрос из Tracker для создания дублирующей связи во внешнем приложении. Логический Нет
public function relationship(string $type)
Описание Тип данных Обязательный
Тип связи. Рекомендуется RELATES. Строка Да
public function key(string $objectKey)
Описание Тип данных Обязательный
Ключ объекта во внешнем приложении. Строка Да
public function origin(string $appId)
Описание Тип данных Обязательный
Идентификатор приложения, с объектом которого нужно создать связь. Строка Да
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->external()
        ->addLink('TEST-1')
        ->relationship('RELATES')
        ->key('test')
        ->origin('test')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Удалить внешнюю связь

Запрос позволяет удалить связь задачи с объектом внешнего приложения.

$api->external()->deleteLink(string $issueId, string $externalLinkId)

$issueId - Идентификатор или ключ текущей задачи. Строка

$externalLinkId - Идентификатор внешней связи. Строка


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->external()
        ->deleteLink('TEST-1', 'test')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Прикрепленные файлы

Получить список прикрепленных файлов

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

$api->attachment()->getAll(string $issueId)

$issueId - Идентификатор или ключ задачи. Строка


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->attachment()
        ->getAll('TEST-1')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Скачать файл

Запрос позволяет скачать прикрепленный к задаче файл.

$api->attachment()->get(string $issueId, string|int $attachmentId, string $filename)

$issueId - Идентификатор или ключ задачи. Строка

$attachmentId - Уникальный идентификатор файла. Строка или число

$filename - Имя файла. Строка


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->attachment()
        ->get('TEST-1', 1, 'abcdefghijklmopqrstuvwxyz.jpg')
        ->send();
    var_dump($req->getStatusCode());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Скачать миниатюру

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

$api->attachment()->getPreview(string $issueId, string|int $attachmentId)

$issueId - Идентификатор или ключ задачи. Строка

$attachmentId - Уникальный идентификатор прикрепленного файла. Строка или число


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->attachment()
        ->getPreview('TEST-1', 1)
        ->send();
    var_dump($req->getStatusCode());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Прикрепить файл

Запрос позволяет прикрепить файл к задаче.

$api->attachment()->post(string $issueId, string|resource $file)

$issueId - Идентификатор или ключ задачи. Строка

$file - Файл. Поддерживаемые типы:

  • string - Путь к файлу на сервере
  • resource - Дескриптор файла, открытый на запись. Пример: fopen('test.jpg', 'r')

Доступные методы

public function filename(string $newName)
Описание Тип данных Обязательный
Новое имя файла, с которым он будет храниться на сервере. Строка Нет
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->attachment()
        ->post('TEST-1', 'test.jpg')
        ->filename('new_test.jpg')
        ->send();
    var_dump($req->getStatusCode());
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Загрузить временный файл

Запрос позволяет загрузить временный файл. Используйте этот запрос, чтобы предварительно загрузить файл в Tracker, а затем прикрепить его при создании задачи или комментария.

$api->attachment()->temp(string|resource $file)

$file - Файл. Поддерживаемые типы:

  • string - Путь к файлу на сервере
  • resource - Дескриптор файла, открытый на запись. Пример: fopen('test.jpg', 'r')

Доступные методы

public function filename(string $newName)
Описание Тип данных Обязательный
Новое имя файла, с которым он будет храниться на сервере. Строка Нет
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->attachment()
        ->temp('test.jpg')
        ->filename('Тестовый файл.jpg')
        ->send();
    var_dump($req->getStatusCode());
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Удалить файл

Запрос позволяет удалить прикрепленный файл.

$api->attachment()->delete(string $issueId, string|int $attachmentId)

$issueId - Идентификатор или ключ задачи. Строка

$attachmentId - Уникальный идентификатор файла. Строка или число


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->attachment()
        ->delete('TEST-1', '5')
        ->send();
    var_dump($req->getStatusCode());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Очереди

Создать очередь

Запрос позволяет создать очередь.

$api->queue()->create()

Доступные методы

public function key(string $queueKey)
Описание Тип данных Обязательный
Ключ очереди. Строка Да
public function name(string $name)
Описание Тип данных Обязательный
Название очереди. Строка Да
public function lead(string $login)
Описание Тип данных Обязательный
Логин или идентификатор владельца очереди. Строка Да
public function defaultType(string $type)
Описание Тип данных Обязательный
Идентификатор или ключ типа задач по умолчанию. Строка Да
public function defaultPriority(string $priority)
Описание Тип данных Обязательный
Идентификатор или ключ приоритета задач по умолчанию. Строка Да
public function issueTypesConfig(array $configList)
Описание Тип данных Обязательный
Массив с настройками типов задач очереди. Массив массивов Да

Поля массивов массива $configList:

  • issueType - Ключ типа задачи. Строка
  • workflow - Идентификатор воркфлоу. Строка. Предустановленные значения в трекере:
    • Queue::WORKFLOW_SUPPORT - Support
    • Queue::WORKFLOW_SOFTWARE_DEV - Software development
    • Queue::WORKFLOW_DOCUMENTS_APPROVAL - Documents approval
    • Queue::WORKFLOW_GOAL_MANAGEMENT - Goal management
    • Queue::WORKFLOW_HUMAN_RESOURCES - Human Resources
    • Queue::WORKFLOW_DEV_WITH_KANBAN - Development with Kanban
    • Queue::WORKFLOW_MANUFACTURE - Manufacture
    • Queue::WORKFLOW_MARKETING - Marketing
    • Queue::WORKFLOW_OUTSOURCE_SOFTWARE_DEV - Outsource software development
    • Queue::WORKFLOW_QUICK_START - Quick start
    • Queue::WORKFLOW_RECRUITING - Recruiting
    • Queue::WORKFLOW_DEV_WITH_SCRUM - Development with Scrum
    • Queue::WORKFLOW_OFFERING_SERVICES - Offering services
    • Queue::WORKFLOW_TWO_LINE_SUPPORT - 2 line support
  • resolutions - Массив с идентификаторами или ключами возможных резолюций. Массив
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->queue()
        ->create()
        ->key('SUPER')
        ->name('Super')
        ->lead('123456789')
        ->defaultType('task')
        ->defaultPriority('normal')
        ->issueTypesConfig([
            [
                'issueType' => 'task',
                'workflow' => \BugrovWeb\YandexTracker\Api\Queue::WORKFLOW_SOFTWARE_DEV,
                'resolutions' => ['fixed', 'wontFix', 'duplicate', 'later', 'overfulfilled', 'successful', 'dontDo']
            ],
            [
                'issueType' => 'bug',
                'workflow' => \BugrovWeb\YandexTracker\Api\Queue::WORKFLOW_SUPPORT,
                'resolutions' => ['fixed', 'duplicate', 'wontFix', 'cantReproduce', 'later', 'overfulfilled', 'dontDo']
            ]
        ])
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Получить параметры очереди

Запрос позволяет получить информацию об очереди.

$api->queue()->get(string|int $queueId)

$queueId - Идентификатор или ключ очереди. Ключ очереди чувствителен к регистру символов. Строка или число


Доступные методы

public function expand(string $field)
Описание Тип данных Обязательный
Дополнительные поля, которые будут включены в ответ. Строка Нет

Возможные значения $field:

  • Queue::FIELD_ALL - в ответ будут включены все дополнительные поля очереди
  • Queue::FIELD_PROJECTS - проекты очереди
  • Queue::FIELD_COMPONENTS - компоненты очереди
  • Queue::FIELD_VERSIONS - версии очереди
  • Queue::FIELD_TYPES - типы задач
  • Queue::FIELD_TEAM - список участников команды очереди
  • Queue::FIELD_WORKFLOWS - список жизненных циклов
  • Queue::FIELD_FIELDS - обязательные поля очереди
  • Queue::FIELD_ISSUE_CONFIG - настройки типов задач очереди
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->queue()
        ->get('SUPER')
        ->expand(\BugrovWeb\YandexTracker\Api\Queue::FIELD_ISSUE_CONFIG)
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Получить список очередей

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

$api->queue()->getAll()

Доступные методы

public function expand(string $field)
Описание Тип данных Обязательный
Дополнительные поля, которые будут включены в ответ. Строка Нет

Возможные значения $field:

  • Queue::FIELD_PROJECTS - проекты очереди
  • Queue::FIELD_COMPONENTS - компоненты очереди
  • Queue::FIELD_VERSIONS - версии очереди
  • Queue::FIELD_TYPES - типы задач
  • Queue::FIELD_TEAM - список участников команды очереди
  • Queue::FIELD_WORKFLOWS - список жизненных циклов
public function perPage(int $count)
Описание Тип данных Обязательный
Количество очередей на странице ответа. Число Нет
public function page(int $pageNumber)
Описание Тип данных Обязательный
Номер страницы ответа. Число Нет
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->queue()
        ->getAll()
        ->expand(\BugrovWeb\YandexTracker\Api\Queue::FIELD_ISSUE_CONFIG)
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Получить версии очереди

Запрос позволяет получить информацию о версиях очереди.

$api->queue()->getVersions(string|int $queueId)

$queueId - Идентификатор или ключ очереди. Ключ очереди чувствителен к регистру символов. Строка или число


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->queue()
        ->getVersions('TEST')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Получить обязательные поля очереди

Запрос позволяет получить информацию об обязательных полях очереди.

$api->queue()->getFields(string|int $queueId)

$queueId - Идентификатор или ключ очереди. Ключ очереди чувствителен к регистру символов. Строка или число


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->queue()
        ->getFields('TEST')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Удалить очередь

Запрос позволяет удалить очередь.

$api->queue()->delete(string|int $queueId)

$queueId - Идентификатор или ключ очереди. Ключ очереди чувствителен к регистру символов. Строка или число


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->queue()
        ->delete('SUPER')
        ->send();
    var_dump($req->getStatusCode());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Восстановить очередь

Запрос позволяет восстановить удаленную очередь.

$api->queue()->restore(string|int $queueId)

$queueId - Идентификатор или ключ очереди. Ключ очереди чувствителен к регистру символов. Строка или число


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->queue()
        ->restore('SUPER')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Удалить тег из очереди

Запрос позволяет удалить тег из очереди.

$api->queue()->deleteTag(string|int $queueId)

$queueId - Идентификатор или ключ очереди. Ключ очереди чувствителен к регистру символов. Строка или число


Доступные методы

public function tag(string $tagName)
Описание Тип данных Обязательный
Имя тега. Строка Да
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->queue()
        ->deleteTag('SUPER')
        ->tag('TEST')
        ->send();
    var_dump($req->getStatusCode());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Создать автодействие

Запрос позволяет создать автодействие.

$api->queue()->createAutoAction(string|int $queueId)

$queueId - Идентификатор или ключ очереди. Ключ очереди чувствителен к регистру символов. Строка или число


Доступные методы

public function name(string $name)
Описание Тип данных Обязательный
Название автодействия. Строка Да
public function filter(array $filter)
Описание Тип данных Обязательный
Массив с условиями фильтрации полей задач, для которых сработает автодействие. Массив Да, если не указан query
public function query(string $query)
Описание Тип данных Обязательный
Строка запроса фильтрации задач, для которых сработает автодействие. Используется язык запросов. Строка Да, если не указан filter

Вы можете использовать конструктор для создания query-запроса на языке запросов Яндекс.Трекера.

public function actions(array $issueActions)
Описание Тип данных Обязательный
Массив с действиями над задачами. Массив Да
public function active(bool $isActive)
Описание Тип данных Обязательный
Статус автодействия. Логический Нет

Допустимые значения $isActive:

  • true - активный
  • false - неактивный
public function enableNotifications(bool $enable)
Описание Тип данных Обязательный
Статус отправки уведомлений. Логический Нет

Допустимые значения $enable:

  • true - отправлять
  • false - не отправлять
public function intervalMillis(int $milliseconds)
Описание Тип данных Обязательный
Периодичность запуска автодействия в миллисекундах. По умолчанию 3600000 Число Нет
public function calendar(array $period)
Описание Тип данных Обязательный
Период, в который автодействие активно. Имеет параметр id — идентификатор графика работы. Массив Нет
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->queue()
        ->createAutoAction('TEST')
        ->name('Тестовое действие')
        ->filter([
            'priority' => 'critical',
            'status' => 'inProgress',
        ])
        ->actions([
            'type' => 'Transition',
            'status' => [
                'key' => 'needInfo'
            ],
        ])
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Получить параметры автодействия

Запрос позволяет получить информацию об автодействии.

$api->queue()->getAutoAction(string|int $queueId, int $autoActionId)

$queueId - Идентификатор или ключ очереди. Ключ очереди чувствителен к регистру символов. Строка или число

$autoActionId - Идентификатор автодействия. Число

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->queue()
        ->getAutoAction('TEST', 1)
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Создать триггер

Запрос позволяет создать триггер.

$api->queue()->createTrigger(string|int $queueId)

$queueId - Идентификатор или ключ очереди. Ключ очереди чувствителен к регистру символов. Строка или число


Доступные методы

public function name(string $name)
Описание Тип данных Обязательный
Название тригера. Строка Да
public function actions(array $actionsList)
Описание Тип данных Обязательный
Массив с действиями триггера. Массив Да
public function conditions(array $conditionsList)
Описание Тип данных Обязательный
Массив с условиями срабатывания триггера. Массив Нет
public function active(bool $isActive)
Описание Тип данных Обязательный
Статус триггера. Логический Нет

Допустимые значения $isActive:

  • true - активный
  • false - неактивный
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->queue()
        ->createTrigger('TEST')
        ->name('Тестовый триггер')
        ->actions([
            'type' => 'Transition',
            'status' => [
                'key' => 'needInfo'
            ],
        ])
        ->conditions([
            'type' => 'CommentFullyMatchCondition',
            'word' => 'Нужны уточнения',
        ])
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Получить параметры триггера

Запрос позволяет получить информацию о триггере очереди.

$api->queue()->getTrigger(string|int $queueId, int $triggerId)

$queueId - Идентификатор или ключ очереди. Ключ очереди чувствителен к регистру символов. Строка или число

$triggerId - Идентификатор триггера. Число


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->queue()
        ->getTrigger('TEST', 1)
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Доски задач

Получить параметры всех досок

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

$api->board()->getAll()

Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->board()
        ->getAll()
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Получить параметры доски

Запрос позволяет получить параметры доски.

$api->board()->get(int $boardId)

$boardId - Идентификатор доски. Число


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->board()
        ->get(1)
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Создать доску

Запрос позволяет создать доску.

$api->board()->post()

Доступные методы

public function name(string $name)
Описание Тип данных Обязательный
Название доски. Строка Да
public function defaultQueue(array|string|int $queue)
Описание Тип данных Обязательный
Очередь. Массив, строка (если передается ключ очереди), число (если передается идентификатор очереди) Да

Поля массива $queue:

  • id - Идентификатор очереди. Строка
  • key - Ключ очереди. Строка
public function boardType(string $type)
Описание Тип данных Обязательный
Тип доски. Строка Нет

Возможные значения $type:

  • Board::BOARD_TYPE_DEFAULT - Простая
  • Board::BOARD_TYPE_SCRUM - Скрам
  • Board::BOARD_TYPE_KANBAN - Канбан
public function filter(array $filterList)
Описание Тип данных Обязательный
Массив с информацией об условиях фильтра, с помощью которого отбираются задачи для доски. Массив Нет

Поля массива $filterList:

  • <ключ параметра 1> - Ключ поля, который является параметром отбора задач на доску. Полный список полей: https://tracker.yandex.ru/admin/fields. Строка
  • <ключ параметра 2> - Массив с ключами полей, которые являются параметрами отбора задач на доску. Полный список полей: https://tracker.yandex.ru/admin/fields. Массив
public function orderBy(string $field)
Описание Тип данных Обязательный
Ключ поля для сортировки задач на доске. Строка Нет
public function orderAsc(bool $field)
Описание Тип данных Обязательный
Направление сортировки. Логический Нет

Допустимые значения $field:

  • true - по возрастанию значений поля
  • false - по убыванию значений поля
public function query(string $filter)
Описание Тип данных Обязательный
Параметры фильтра, с помощью которого отбираются задачи для доски. Параметры задаются на языке запросов. Строка Нет

Вы можете использовать конструктор для создания query-запроса на языке запросов Яндекс.Трекера.

public function useRanking(bool $use)
Описание Тип данных Обязательный
Возможность менять порядок задач на доске. Логический Нет

Допустимые значения $use:

  • true - разрешено
  • false - запрещено
public function country(array $countryInfo)
Описание Тип данных Обязательный
Массив с информацией о стране. Получить список стран можно, отправив запрос Массив Нет

Поля массива $countryInfo:

  • id - Идентификатор страны. Строка
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->board()
        ->post()
        ->name('Доска проектов TEST')
        ->defaultQueue('TEST')
        ->boardType(\BugrovWeb\YandexTracker\Api\Board::BOARD_TYPE_KANBAN)
        ->filter([
            'queue' => 'TEST'
        ])
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Редактировать доску

Запрос позволяет изменить параметры доски.

$api->board()->patch(int $boardId)

$boardId - Идентификатор доски. Число


Доступные методы

public function name(string $name)
Описание Тип данных Обязательный
Название доски. Строка Нет
public function columns(array $columnsInfo)
Описание Тип данных Обязательный
Массив с информацией о новых колонках доски. Массив Нет

Поля массива $columnsInfo:

  • id - Идентификатор колонки. Строка
  • name - Название колонки. Строка
  • statuses - Ключ статуса задач, которые попадут в колонку. Список всех статусов задачи: https://tracker.yandex.ru/admin/statuses. Строка
public function filter(array $filterList)
Описание Тип данных Обязательный
Массив с информацией об условиях фильтра, с помощью которого отбираются задачи для доски. Массив Нет

Поля массива $filterList:

  • <ключ параметра 1> - Ключ поля, который является параметром отбора задач на доску. Полный список полей: https://tracker.yandex.ru/admin/fields. Строка
  • <ключ параметра 2> - Массив с ключами полей, которые являются параметрами отбора задач на доску. Полный список полей: https://tracker.yandex.ru/admin/fields. Массив
public function orderBy(string $field)
Описание Тип данных Обязательный
Ключ поля для сортировки задач на доске. Строка Нет
public function orderAsc(bool $field)
Описание Тип данных Обязательный
Направление сортировки. Логический Нет

Допустимые значения $field:

  • true - по возрастанию значений поля
  • false - по убыванию значений поля
public function query(string $filter)
Описание Тип данных Обязательный
Параметры фильтра, с помощью которого отбираются задачи для доски. Параметры задаются на языке запросов. Строка Нет

Вы можете использовать конструктор для создания query-запроса на языке запросов Яндекс.Трекера.

public function useRanking(bool $use)
Описание Тип данных Обязательный
Возможность менять порядок задач на доске. Логический Нет

Допустимые значения $use:

  • true - разрешено
  • false - запрещено
public function country(array $countryInfo)
Описание Тип данных Обязательный
Массив с информацией о стране. Получить список стран можно, отправив запрос Массив Нет

Поля массива $countryInfo:

  • id - Идентификатор страны. Строка
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->board()
        ->patch(1)
        ->columns([
            [
                'id' => 1,
                'name' => 'Бэклог',
                'statuses' => ['backlog']
            ],
            [
                'id' => 2,
                'name' => 'Открыт/Новые',
                'statuses' => ['open', 'new', 'needEstimate', 'newGoal']
            ],
            [
                'id' => 3,
                'name' => 'В работу',
                'statuses' => ['rc', 'onHold', 'selectedForDev', 'readyForTest', 'onHold', 'confirmed']
            ],
            [
                'id' => 4,
                'name' => 'Запущено',
                'statuses' => ['inProgress', 'testing', 'inReview']
            ],
            [
                'id' => 5,
                'name' => 'Требует уточнений',
                'statuses' => ['needInfo', 'needAcceptance', 'documentsPrepared']
            ],
            [
                'id' => 6,
                'name' => 'Почти готово',
                'statuses' => ['demoToCustomer', 'firstSupportLine', 'secondSupportLine', 'resultAcceptance']
            ],
            [
                'id' => 7,
                'name' => 'Готово',
                'statuses' => ['tested', 'resolved', 'closed', 'cancelled', 'achieved', 'blockedGoal']
            ]
        ])
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Удалить доску

Запрос позволяет удалить доску задач.

$api->board()->delete(int $boardId)

$boardId - Идентификатор доски. Число


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->board()
        ->delete(1)
        ->send();
    var_dump($req->getStatusCode());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Получить параметры всех колонок

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

$api->board()->getColumns(int $boardId)

$boardId - Идентификатор доски. Число


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->board()
        ->getColumns(1)
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Получить параметры колонки

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

$api->board()->getColumn(int $boardId, int $columnId)

$boardId - Идентификатор доски. Число

$columnId - Идентификатор колонки. Число


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->board()
        ->getColumn(1, 1)
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Создать колонку

Запрос позволяет создать колонку на доске задач.

$api->board()->postColumn(int $boardId)

$boardId - Идентификатор доски. Число


Доступные методы

public function name(string $name)
Описание Тип данных Обязательный
Название колонки. Строка Да
public function statuses(array $statusesList)
Описание Тип данных Обязательный
Ключи возможных статусов задач, которые попадут в колонку. Список: https://tracker.yandex.ru/admin/statuses Массив Да
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->board()
        ->postColumn(8)
        ->name('Отмена')
        ->statuses(['cancelled', 'blockedGoal'])
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Редактировать колонку

Запрос позволяет изменить параметры колонки.

$api->board()->patchColumn(int $boardId, int $columnId)

$boardId - Идентификатор доски. Число

$columnId - Идентификатор колонки. Число


Доступные методы

public function name(string $name)
Описание Тип данных Обязательный
Название колонки. Строка Нет
public function statuses(array $statusesList)
Описание Тип данных Обязательный
Ключи возможных статусов задач, которые попадут в колонку. Список: https://tracker.yandex.ru/admin/statuses Массив Нет
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->board()
        ->patchColumn(8, 14)
        ->name('Отмена/Блок')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Удалить колонку

Запрос позволяет удалить колонку.

$api->board()->deleteColumn(int $boardId, int $columnId)

$boardId - Идентификатор доски. Число

$columnId - Идентификатор колонки. Число


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->board()
        ->deleteColumn(8, 14)
        ->send();
    var_dump($req->getStatusCode());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Получить все спринты доски

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

$api->board()->getSprints(int $boardId)

$boardId - Идентификатор доски. Строка


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->board()
        ->getSprints(1)
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Получить спринт

Запрос позволяет получить параметры спринта.

$api->board()->getSprint(string $sprintId)

$sprintId - Идентификатор спринта. Строка


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->board()
        ->getSprint(1)
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Создать спринт

Запрос позволяет создать спринт.

$api->board()->postSprint()

Доступные методы

public function name(string $name)
Описание Тип данных Обязательный
Название спринта. Строка Да
public function board(string $boardId)
Описание Тип данных Обязательный
ИД доски, к задачам которой относится спринт. Строка Да
public function startDate(string $date)
Описание Тип данных Обязательный
Дата начала спринта в формате: YYYY-MM-DD. Строка Да
public function endDate(string $date)
Описание Тип данных Обязательный
Дата окончания спринта в формате: YYYY-MM-DD. Строка Да
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->board()
        ->postSprint()
        ->name('Тестовый спринт')
        ->board(1)
        ->startDate('2022-01-01')
        ->endDate('2022-12-31')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Страны

Получить список стран

Запрос позволяет получить список стран

$api->country()->getAll()

Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->country()
        ->getAll()
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Компоненты

Получить список компонентов

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

$api->component()->getAll()

Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->component()
        ->getAll()
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Импорт

Импортировать задачу

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

$api->import()->ticket()

Доступные методы

public function queue(string $key)
Описание Тип данных Обязательный
Ключ очереди. Строка Да
public function summary(string $name)
Описание Тип данных Обязательный
Название задачи, не более 255 символов. Строка Да
public function createdAt(string $date)
Описание Тип данных Обязательный
Дата и время создания задачи в формате YYYY-MM-DDThh:mm:ss.sss±hhmm. Строка Да
public function createdBy(string|int $user)
Описание Тип данных Обязательный
Логин или идентификатор автора задачи. Строка (логин), число (ИД) Да
public function key(string $key)
Описание Тип данных Обязательный
Ключ задачи. Строка Нет
public function updatedAt(string $date)
Описание Тип данных Обязательный
Дата и время последнего изменения задачи в формате YYYY-MM-DDThh:mm:ss.sss±hhmm. Строка Нет
public function updatedBy(string|int $user)
Описание Тип данных Обязательный
Логин или идентификатор пользователя, который редактировал задачу последним. Строка (логин), число (ИД) Нет
public function resolvedAt(string $date)
Описание Тип данных Обязательный
Дата и время проставления резолюции в формате YYYY-MM-DDThh:mm:ss.sss±hhmm. Строка Нет
public function resolvedBy(string|int $user)
Описание Тип данных Обязательный
Логин или идентификатор пользователя, который проставил резолюцию. Строка (логин), число (ИД) Нет
public function status(int $statusId)
Описание Тип данных Обязательный
Идентификатор статуса задачи. Число Нет
public function deadline(string $date)
Описание Тип данных Обязательный
Дедлайн в формате YYYY-MM-DD. Строка Нет
public function resolution(int $resolutionId)
Описание Тип данных Обязательный
Идентификатор резолюции задачи. Число Нет
public function type(int $typeId)
Описание Тип данных Обязательный
Идентификатор типа задачи. Число Нет
public function description(string $text)
Описание Тип данных Обязательный
Описание задачи, не более 512000 символов. Строка Нет
public function start(string $date)
Описание Тип данных Обязательный
Дата начала в формате YYYY-MM-DD. Строка Нет
public function end(string $date)
Описание Тип данных Обязательный
Дата окончания в формате YYYY-MM-DD. Строка Нет
public function assignee(string|int $user)
Описание Тип данных Обязательный
Логин или идентификатор исполнителя. Строка (логин), число (ИД) Нет
public function priority(int $priorityId)
Описание Тип данных Обязательный
Идентификатор приоритета. Число Нет
public function affectedVersions(array $versionsId)
Описание Тип данных Обязательный
Идентификаторы версий, перечисленные в поле Найдено в версиях. Массив Нет
public function fixVersions(array $versionsId)
Описание Тип данных Обязательный
Идентификаторы версий, перечисленные в поле Исправить в версиях. Массив Нет
public function components(array $componentsId)
Описание Тип данных Обязательный
Идентификаторы компонентов, к которым относится задача. Массив Нет
public function tags(array $tags)
Описание Тип данных Обязательный
Массив тегов задачи. Массив Нет
public function sprint(array $sprintsId)
Описание Тип данных Обязательный
Идентификаторы спринтов, к которым относится задача. Массив Нет
public function followers(array $followersId)
Описание Тип данных Обязательный
Массив с идентификаторами или логинами наблюдателей задачи. Массив Нет
public function access(array $usersId)
Описание Тип данных Обязательный
Массив с идентификаторами или логинами пользователей, перечисленных в поле Доступ. Массив Нет
public function unique(string $uniqueId)
Описание Тип данных Обязательный
Уникальный идентификатор задачи. Строка Нет
public function followingMaillists(array $maillistsId)
Описание Тип данных Обязательный
Идентификаторы рассылок — команд и отделов, подписанных на задачу. Массив Нет
public function originalEstimation(int $milliseconds)
Описание Тип данных Обязательный
Значение параметра “Первоначальная оценка” в миллисекундах. Число Нет
public function estimation(int $milliseconds)
Описание Тип данных Обязательный
Значение параметра “Оценка” в миллисекундах. Число Нет
public function spent(int $milliseconds)
Описание Тип данных Обязательный
Значение параметра “Затрачено времени” в миллисекундах. Число Нет
public function storyPoints(float $storyPoints)
Описание Тип данных Обязательный
Значение параметра Story Points. Число с плавающей точкой Нет
public function votedBy(array $usersId)
Описание Тип данных Обязательный
Массив с идентификаторами или логинами пользователей, которые проголосовали за задачу. Массив Нет
public function favoritedBy(array $usersId)
Описание Тип данных Обязательный
Массив с идентификаторами или логинами пользователей, которые добавили задачу в избранное. Массив Нет
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->import()
        ->ticket()
        ->queue('TEST')
        ->summary('Импортированная задача')
        ->createdAt('2022-11-10T10:00:00')
        ->createdBy('123456789')
        ->key('TEST-777')
        ->description('Импортированная задача по API')
        ->tags(['test', 'api'])
        ->followers(['222222222'])
        ->originalEstimation(3600000)
        ->estimation(1200000)
        ->spent(2400000)
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Прикрепить файл к задаче

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

$api->import()->attachIssueFile(string $issueId, string|resource $file)

$issueId - Ключ задачи, к которой будет прикреплен файл

$file - Файл. Поддерживаемые типы:

  • string - Путь к файлу на сервере
  • resource - Дескриптор файла, открытый на запись. Пример: fopen('test.jpg', 'r')

Доступные методы

public function filename(string $fileName)
Описание Тип данных Обязательный
Имя файла, максимальная длина - 255 символов. Строка Да
public function createdAt(string $date)
Описание Тип данных Обязательный
Дата и время прикрепления файла в формате YYYY-MM-DDThh:mm:ss.sss±hhmm. Строка Да
public function createdBy(string $user)
Описание Тип данных Обязательный
Логин или идентификатор автора прикрепленного файла. Строка Да
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->import()
        ->attachIssueFile('TEST-777', fopen('test.jpg', 'r'))
        ->filename('import.jpg')
        ->createdAt('2022-11-10T10:00:00')
        ->createdBy('123456789')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Прикрепить файл к комментарию

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

P.S. По возможности используйте обычную операцию прикрепления файла к комментарию.

$api->import()->attachCommentFile(string $issueId, string|int $commentId, string|resource $file)

$issueId - Ключ задачи, к которой будет прикреплен файл

$commentId - Ключ комментария в задаче, к которой будет прикреплен файл $file - Файл. Поддерживаемые типы:

  • string - Путь к файлу на сервере
  • resource - Дескриптор файла, открытый на запись. Пример: fopen('test.jpg', 'r')

Доступные методы

public function filename(string $fileName)
Описание Тип данных Обязательный
Имя файла, максимальная длина - 255 символов. Строка Да
public function createdAt(string $date)
Описание Тип данных Обязательный
Дата и время прикрепления файла в формате YYYY-MM-DDThh:mm:ss.sss±hhmm. Строка Да
public function createdBy(string $user)
Описание Тип данных Обязательный
Логин или идентификатор автора прикрепленного файла. Строка Да
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->import()
        ->attachCommentFile('TEST-777', '11', 'test.jpg')
        ->filename('import.jpg')
        ->createdAt('2022-11-12T03:25:15.851+0000')
        ->createdBy('123456789')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Импортировать комментарии

С помощью запроса вы можете импортировать в Tracker комментарии к задаче.

$api->import()->comments(string $issueId)

$issueId - Ключ задачи, к которой будет прикреплен файл. Строка


Доступные методы

public function text(string $comment)
Описание Тип данных Обязательный
Текст комментария, не более 512000 символов. Строка Да
public function createdAt(string $date)
Описание Тип данных Обязательный
Дата и время создания комментария в формате YYYY-MM-DDThh:mm:ss.sss±hhmm. Строка Да
public function createdBy(string|int $user)
Описание Тип данных Обязательный
Логин или идентификатор автора комментария. Строка (логин), число (ИД) Да
public function updatedAt(string $date)
Описание Тип данных Обязательный
Дата и время последнего изменения комментария в формате YYYY-MM-DDThh:mm:ss.sss±hhmm. Строка Нет
public function updatedBy(string|int $user)
Описание Тип данных Обязательный
Логин или идентификатор пользователя, который редактировал комментарий последним. Строка (логин), число (ИД) Нет
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->import()
        ->comments('TEST-777')
        ->text('Импортированный комментарий')
        ->createdAt('2022-11-11T15:20:00')
        ->createdBy('123456789')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Импортировать связи

С помощью запроса вы можете импортировать в Tracker связи задачи с другими задачами.

$api->import()->links(string $issueId)

$issueId - Ключ задачи, к которой будет прикреплен файл. Строка


Доступные методы

public function relationship(string $type)
Описание Тип данных Обязательный
Тип связи между задачами. Строка Да

Возможные значения $type:

  • Import::REL_RELATES - простая связь
  • Import::REL_IS_DEPENDENT_BY - текущая задача является блокером
  • Import::REL_DEPENDS_ON - текущая задача зависит от связываемой
  • Import::REL_IS_SUBTASK_FOR - текущая задача является подзадачей связываемой
  • Import::REL_IS_PARENT_TASK_FOR - текущая задача является родительской для связываемой задачи
  • Import::REL_DUPLICATES - текущая задача дублирует связываемую
  • Import::REL_IS_DUPLICATED_BY - связываемая задача дублирует текущую
  • Import::REL_IS_EPIC_OF - текущая задача является эпиком связываемой. Связь такого типа можно установить только для задач типа “Эпик”.
  • Import::REL_HAS_EPIC - связываемая задача является эпиком текущей. Связь такого типа можно установить только для задач типа “Эпик”.
  • Import::REL_CLONE - связываемая задача является клоном текущей
  • Import::REL_ORIGINAL - текущая задача является клоном связанной
public function issue(string $issue)
Описание Тип данных Обязательный
Идентификатор или ключ связываемой задачи. Строка Да
public function createdAt(string $date)
Описание Тип данных Обязательный
Дата и время создания связи. формате YYYY-MM-DDThh:mm:ss.sss±hhmm. Строка Да

Время указывается в промежутке {“дата создания задачи”; “дата последнего обновления”}

public function createdBy(string|int $user)
Описание Тип данных Обязательный
Логин или идентификатор создателя связи. Строка (логин), число (ИД) Да
public function updatedAt(string $date)
Описание Тип данных Обязательный
Дата и время последнего изменения связи. формате YYYY-MM-DDThh:mm:ss.sss±hhmm. Строка Нет
public function updatedBy(string|int $user)
Описание Тип данных Обязательный
Логин или идентификатор пользователя, который редактировал связь последним. Строка (логин), число (ИД) Нет
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->import()
        ->links('TEST-778')
        ->relationship(\BugrovWeb\YandexTracker\Api\Import::REL_IS_SUBTASK_FOR)
        ->issue('TEST-777')
        ->createdAt('2022-11-11T13:01:00Z')
        ->createdBy('123456789')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Пакетные операции

Массовый перенос задач в другую очередь

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

$api->bulk()->moveIssues()

Доступные методы

public function notify(bool $notify)
Описание Тип данных Обязательный
Признак уведомления об изменении задачи. Логический Нет

Допустимые значения $notify:

  • true - пользователи, указанные в полях задачи, получат уведомления
  • false - (по умолчанию) пользователи не получат уведомления
public function queue(string $key)
Описание Тип данных Обязательный
Ключ очереди, в которую планируется перенести задачи. Строка Да
public function issues(array|string $issuesList)
Описание Тип данных Обязательный
Идентификаторы задач, которые необходимо перенести. Строка/Массив Да
public function values(array|string $valuesList)
Описание Тип данных Обязательный
Параметры задач, которые будут изменены при переносе. Строка/Массив Нет
public function moveAllFields(bool $move)
Описание Тип данных Обязательный
Перенос версий, компонентов и проектов задачи в новую очередь. Логический Нет

Допустимые значения $move:

  • true - перенести, если в новой очереди существуют соответствующие версии, компоненты, проекты
  • false - (по умолчанию) — очистить версии, компоненты, проекты
public function initialStatus(bool $clear)
Описание Тип данных Обязательный
Сброс статуса задачи в начальное значение. Логический Нет
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->bulk()
        ->moveIssues()
        ->queue('SUPER')
        ->issues(['TEST-2', 'TEST-3'])
        ->values(['tags' => ['add' => 'Перенесена']])
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Массовое редактирование задач

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

$api->bulk()->updateIssues()

Доступные методы

public function notify(bool $notify)
Описание Тип данных Обязательный
Признак уведомления об изменении задачи. Логический Нет

Допустимые значения $notify:

  • true - пользователи, указанные в полях задачи, получат уведомления
  • false - (по умолчанию) пользователи не получат уведомления
public function issues(array|string $issuesList)
Описание Тип данных Обязательный
Идентификаторы задач, которые необходимо отредактировать. Строка/Массив Да
public function values(array|string $valuesList)
Описание Тип данных Обязательный
Параметры задач, которые будут изменены. Строка/Массив Да
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->bulk()
        ->updateIssues()
        ->issues(['TEST-779', 'TEST-780'])
        ->values(['type' => ['name' => 'Ошибка']])
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Массовое изменение статуса задач

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

$api->bulk()->transitionIssues()

Доступные методы

public function notify(bool $notify)
Описание Тип данных Обязательный
Признак уведомления об изменении задачи. Логический Нет

Допустимые значения $notify:

  • true - пользователи, указанные в полях задачи, получат уведомления
  • false - (по умолчанию) пользователи не получат уведомления
public function transition(string $transitionId)
Описание Тип данных Обязательный
Идентификатор перехода. Строка Да
public function issues(array|string $issuesList)
Описание Тип данных Обязательный
Идентификаторы задач, статус которых необходимо изменить. Строка/Массив Да
public function values(array|string $valuesList)
Описание Тип данных Обязательный
Параметры задач, которые будут изменены при смене статуса. Строка/Массив Нет
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->bulk()
        ->transitionIssues()
        ->transition('need_info')
        ->issues(['TEST-779', 'TEST-780'])
        ->values(['tags' => ['add' => 'Смена статуса']])
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Учет времени

Добавить запись о затраченном времени

Запрос позволяет добавить запись о времени, затраченном на выполнение задачи.

$api->worklog()->new(string $issueId)

$issueId - Идентификатор или ключ задачи. Строка


Доступные методы

public function start(string $date)
Описание Тип данных Обязательный
Дата и время начала работы над задачей в формате: YYYY-MM-DDThh:mm:ss.sss±hhmm. Строка Да
public function duration(string $isoTime)
Описание Тип данных Обязательный
Затраченное время в формате PnYnMnDTnHnMnS, PnW в соответствии с ISO 8601 Строка Да

Вы можете использовать встроенный класс \BugrovWeb\YandexTracker\Helpers\TimeManager() для перевода времени в формат ISO 8601. Подробнее см. в соответствующем разделе

public function comment(string $text)
Описание Тип данных Обязательный
Текст комментария к записи. Строка Нет
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $isoTime = (new \BugrovWeb\YandexTracker\Helpers\TimeManager())
        ->minute(20)
        ->hour(1)
        ->second(32)
        ->getISOTime();
    $req = $api->worklog()
        ->new('TEST-779')
        ->start('2022-11-13T13:01:00Z')
        ->duration($isoTime)
        ->comment('Забыл указать время')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Редактировать запись о затраченном времени

Запрос позволяет изменить запись о времени, затраченном на выполнение задачи.

$api->worklog()->patch(string $issueId, string|int $worklogId)

$issueId - Идентификатор или ключ задачи. Строка

$worklogId - Идентификатор записи о затраченном времени. Строка/число


Доступные методы

public function duration(string $time)
Описание Тип данных Обязательный
Затраченное время в формате PnYnMnDTnHnMnS, PnW в соответствии с ISO 8601. Строка Да

Вы можете использовать встроенный класс \BugrovWeb\YandexTracker\Helpers\TimeManager() для перевода времени в формат ISO 8601. Подробнее см. в соответствующем разделе

public function comment(string $text)
Описание Тип данных Обязательный
Текст комментария к записи. Строка Нет
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $isoTime = (new \BugrovWeb\YandexTracker\Helpers\TimeManager())
        ->week(1)
        ->getISOTime();
    $req = $api->worklog()
        ->patch('TEST-779', 1)
        ->duration($isoTime)
        ->comment('время изменено')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Удалить запись о затраченном времени

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

$api->worklog()->delete(string $issueId, string|int $worklogId)

$issueId - Идентификатор или ключ задачи. Строка

$worklogId - Идентификатор записи о затраченном времени. Строка/число


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->worklog()
        ->delete('TEST-779', 2)
        ->send();
    var_dump($req->getStatusCode());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Получить все записи о затраченном времени по задаче

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

$api->worklog()->issue(string $issueId)

$issueId - Идентификатор или ключ задачи. Строка


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->worklog()
        ->issue('TEST-777')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Отобрать записи о затраченном времени по параметрам

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

$api->worklog()->get()

Доступные методы

public function createdBy(string $user)
Описание Тип данных Обязательный
Идентификатор или логин автора записи. Строка Нет
public function createdAt(array|string[] $date)
Описание Тип данных Обязательный
Массив с информацией о времени и дате создания записей. Массив Нет

Поля массива $date:

  • from - Начало временного диапазона, в который созданы записи. Формат: YYYY-MM-DDThh:mm:ss.sss±hhmm. Строка
  • to - Окончание временного диапазона, в который созданы записи. Формат: YYYY-MM-DDThh:mm:ss.sss±hhmm. Строка
public function start(array|string[] $date)
Описание Тип данных Обязательный
Массив с информацией в какой момент стратовала/остановилась запись. Массив Нет

Поля массива $date:

  • from - Начало временного диапазона, в который стартовали записи. Формат: YYYY-MM-DDThh:mm:ss.sss±hhmm. Строка
  • to - Окончание временного диапазона, в который остановлены записи. Формат: YYYY-MM-DDThh:mm:ss.sss±hhmm. Строка
public function perPage(int $count)
Описание Тип данных Обязательный
Количество записей на странице ответа. Число Нет
public function page(int $pageNumber)
Описание Тип данных Обязательный
Номер страницы ответа. Число Нет
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->worklog()
        ->get()
        ->createdBy('123456789')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Поля задачи

Получить глобальные поля

Запрос позволяет получить глобальные поля из настроек Трекера

$api->field()->getGlobals()

Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->field()
        ->getGlobals()
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Получить список всех категорий полей

Запрос позволяет получить список всех категорий полей

$api->field()->getCategories()

Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->field()
        ->getCategories()
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Создать поле задачи

Запрос позволяет создать глобальное поле задачи.

$api->field()->create()

Доступные методы

public function name(array $names)
Описание Тип данных Обязательный
Название поля Массив Да

Ключи массива $names:

  • en - на английском языке. Строка
  • ru - на русском языке. Строка
public function id(string $id)
Описание Тип данных Обязательный
Идентификатор поля. Строка Да
public function category(string $id)
Описание Тип данных Обязательный
Идентификатор категории поля. Для получения списка категорий используйте запрос Строка Да
public function type(string $type)
Описание Тип данных Обязательный
Тип поля. Строка Да

Допустимые значения $type:

  • Field::TYPE_DATE - Дата
  • Field::TYPE_DATETIME - Дата/Время
  • Field::TYPE_STRING - Текстовое однострочное поле
  • Field::TYPE_TEXT - Текстовое многострочное поле
  • Field::TYPE_FLOAT - Дробное число
  • Field::TYPE_INT - Целое число
  • Field::TYPE_USER - Имя пользователя
  • Field::TYPE_URI - Ссылка
public function optionsProvider(array $options)
Описание Тип данных Обязательный
Массив с информацией об элементах списка. Массив Нет

Поля массива $options:

  • type - Тип выпадающего списка. Строка. Допустимые значения:
    • Field::OPTIONS_PROVIDER_LIST - список строковых или числовых значений (для полей с типом Текстовое однострочное поле или Целое число)
    • Field::OPTIONS_PROVIDER_USER_LIST - список пользователей (для полей с типом Имя пользователя)
  • values - Значения для выпадающего списка. Массив строк
public function order(int $sort)
Описание Тип данных Обязательный
Порядковый номер в списке полей организации: https://tracker.yandex.ru/admin/fields. Число Нет
public function description(string $text)
Описание Тип данных Обязательный
Описание поля. Строка Нет
public function readonly(bool $readonly)
Описание Тип данных Обязательный
Возможность редактировать значение поля. Логический Нет

Допустимые значения $readonly:

  • true - значение поля нельзя изменить
  • false - значение поля можно изменить
public function visible(bool $visible)
Описание Тип данных Обязательный
Признак отображения поля в интерфейсе. Логический Нет

Допустимые значения $visible:

  • true - всегда отображать поле в интерфейсе
  • false - не отображать поле в интерфейсе
public function hidden(bool $hidden)
Описание Тип данных Обязательный
Признак видимости поля в интерфейсе. Логический Нет

Допустимые значения $hidden:

  • true - скрывать поле даже в том случае, если оно заполнено
  • false - не скрывать поле
public function container(bool $multiple)
Описание Тип данных Обязательный
Признак возможности указать в поле одновременно несколько значений. Логический Нет

Допустимые значения $multiple:

  • true - в поле можно указать несколько значений
  • false - в поле можно указать только одно значение

Этот параметр допустимо использовать для полей следующих типов:

  • Текстовое однострочное поле
  • Имя пользователя
  • Выпадающий список
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->field()
        ->create()
        ->name(['ru' => 'Тестовое поле', 'en' => 'Test field'])
        ->id('test_field')
        ->category('000000000000000000000001')
        ->type(\BugrovWeb\YandexTracker\Api\Field::TYPE_STRING)
        ->optionsProvider([
            'type' => \BugrovWeb\YandexTracker\Api\Field::OPTIONS_PROVIDER_LIST,
            'values' => ['Тест 1', 'Тест 2']
        ])
        ->description('Это супертестовое поле')
        ->readonly(false)
        ->visible(true)
        ->hidden(false)
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Получить параметры поля задачи

Запрос позволяет получить параметры поля задачи

$api->field()->getParams(string $fieldId)

$fieldId - Идентификатор поля задачи. Строка


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->field()
        ->getParams('test_field')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Изменить название поля задачи

Запрос позволяет изменить название поля задачи

$api->field()->patchName(string $fieldId)

$fieldId - Идентификатор поля задачи. Строка


Доступные методы

public function version(string|int $fieldVersion)
Описание Тип данных Обязательный
Версия поля задачи. Строка/Число Да
public function name(array $names)
Описание Тип данных Обязательный
Массив с информацией об имени поля задачи. Массив Да

Ключи массива $names:

  • en - Название поля на английском языке. Строка
  • ru - Название поля на русском языке. Строка
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->field()
        ->patchName('test_field')
        ->version(1)
        ->name(['ru' => 'Тестовое глобальное поле', 'en' => 'Test global field'])
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Изменить возможные значения поля задачи

Запрос позволяет изменить возможные значения поля задачи

$api->field()->patchValue(string $fieldId)

$fieldId - Идентификатор поля задачи. Строка


Доступные методы

public function version(string|int $fieldVersion)
Описание Тип данных Обязательный
Версия поля задачи. Строка/Число Да
public function name(array $names)
Описание Тип данных Обязательный
Название локального поля. Массив Нет

Ключи массива $names:

  • en - на английском языке. Строка
  • ru - на русском языке. Строка
public function category(string $id)
Описание Тип данных Обязательный
Идентификатор категории поля. Для получения списка категорий используйте запрос Строка Нет
public function order(int $sort)
Описание Тип данных Обязательный
Порядковый номер в списке полей организации: https://tracker.yandex.ru/admin/fields. Число Нет
public function description(string $text)
Описание Тип данных Обязательный
Описание поля. Строка Нет
public function readonly(bool $readonly)
Описание Тип данных Обязательный
Возможность редактировать значение поля. Логический Нет

Допустимые значения $readonly:

  • true - значение поля нельзя изменить
  • false - значение поля можно изменить
public function hidden(bool $hidden)
Описание Тип данных Обязательный
Признак видимости поля в интерфейсе. Логический Нет

Допустимые значения $hidden:

  • true - скрывать поле даже в том случае, если оно заполнено
  • false - не скрывать поле
public function visible(bool $visible)
Описание Тип данных Обязательный
Признак отображения поля в интерфейсе. Логический Нет

Допустимые значения $visible:

  • true - всегда отображать поле в интерфейсе
  • false - не отображать поле в интерфейсе
public function optionsProvider(array $options)
Описание Тип данных Обязательный
Массив с информацией о допустимых значениях поля. Массив Нет

Поля массива $options:

  • type - Тип значений поля. Строка
  • values - Массив со значениями поля. Массив
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->field()
        ->patchValue('test_field')
        ->version(2)
        ->description('Это тестовое глобальное поле')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Создать категорию поля задачи

Запрос позволяет создать категорию поля задачи.

$api->field()->createCategory()

Доступные методы

public function name(array $name)
Описание Тип данных Обязательный
Название категории. Массив Да

Ключи массива $name:

  • en - на английском языке. Строка
  • ru - на русском языке. Строка
public function order(int $sort)
Описание Тип данных Обязательный
Вес поля при отображении в интерфейсе. Число Да
public function description(string $text)
Описание Тип данных Обязательный
Описание категории. Строка Нет
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->field()
        ->createCategory()
        ->name(['ru' => 'Тестовое', 'en' => 'Test'])
        ->order(500)
        ->description('Тестовая категория')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Создать локальное поле очереди

Запрос позволяет создать локальное поле задачи, привязанное к заданной очереди.

$api->field()->createLocal(string $queueId)

$queueId - Идентификатор или ключ очереди. Ключ очереди чувствителен к регистру символов. Строка


Доступные методы

public function name(array $names)
Описание Тип данных Обязательный
Название локального поля. Массив Да

Ключи массива $names:

  • en - на английском языке. Строка
  • ru - на русском языке. Строка
public function id(string $id)
Описание Тип данных Обязательный
Идентификатор локального поля. Строка Да
public function category(string $id)
Описание Тип данных Обязательный
Идентификатор категории поля. Для получения списка категорий используйте запрос Строка Да
public function type(string $type)
Описание Тип данных Обязательный
Тип локального поля. Строка Да

Допустимые значения $type:

  • Field::TYPE_DATE - Дата
  • Field::TYPE_DATETIME - Дата/Время
  • Field::TYPE_STRING - Текстовое однострочное поле
  • Field::TYPE_TEXT - Текстовое многострочное поле
  • Field::TYPE_FLOAT - Дробное число
  • Field::TYPE_INT - Целое число
  • Field::TYPE_USER - Имя пользователя
  • Field::TYPE_URI - Ссылка
public function optionsProvider(array $options)
Описание Тип данных Обязательный
Массив с информацией об элементах списка. Массив Нет

Поля массива $options:

  • type - Тип выпадающего списка. Строка. Допустимые значения:
    • Field::OPTIONS_PROVIDER_LIST - список строковых или числовых значений (для полей с типом Текстовое однострочное поле или Целое число)
    • Field::OPTIONS_PROVIDER_USER_LIST - список пользователей (для полей с типом Имя пользователя)
  • values - Значения для выпадающего списка. Массив строк
public function order(int $sort)
Описание Тип данных Обязательный
Порядковый номер в списке полей организации: https://tracker.yandex.ru/admin/fields. Число Нет
public function description(string $text)
Описание Тип данных Обязательный
Описание локального поля. Строка Нет
public function readonly(bool $readonly)
Описание Тип данных Обязательный
Возможность редактировать значение поля. Логический Нет

Допустимые значения $readonly:

  • true - значение поля нельзя изменить
  • false - значение поля можно изменить
public function visible(bool $visible)
Описание Тип данных Обязательный
Признак отображения поля в интерфейсе. Логический Нет

Допустимые значения $visible:

  • true - всегда отображать поле в интерфейсе
  • false - не отображать поле в интерфейсе
public function hidden(bool $hidden)
Описание Тип данных Обязательный
Признак видимости поля в интерфейсе. Логический Нет

Допустимые значения $hidden:

  • true - скрывать поле даже в том случае, если оно заполнено
  • false - не скрывать поле
public function container(bool $multiple)
Описание Тип данных Обязательный
Признак возможности указать в поле одновременно несколько значений. Логический Нет

Допустимые значения $multiple:

  • true - в поле можно указать несколько значений
  • false - в поле можно указать только одно значение

Этот параметр допустимо использовать для полей следующих типов:

  • Текстовое однострочное поле
  • Имя пользователя
  • Выпадающий список
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->field()
        ->createLocal('TEST')
        ->name(['ru' => 'Тестовое поле', 'en' => 'Test field'])
        ->id('loc_test_field')
        ->category('637230a70876b41ad90de8df')
        ->type(\BugrovWeb\YandexTracker\Api\Field::TYPE_INT)
        ->optionsProvider([
            'type' => \BugrovWeb\YandexTracker\Api\Field::OPTIONS_PROVIDER_LIST,
            'values' => [500, 1000]
        ])
        ->description('Это тестовое локальное поле')
        ->readonly(false)
        ->visible(true)
        ->hidden(false)
        ->send();
    dump($req->getResponse());
} catch (\Exception $exception) {
    dump($exception->getMessage());
}

Получить локальные поля очереди

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

$api->field()->getLocals(string $queueId)

$queueId - Идентификатор или ключ очереди. Ключ очереди чувствителен к регистру символов. Строка


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->field()
        ->getLocals('TEST')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Получить информацию о локальном поле очереди

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

$api->field()->getInfoLocal(string $queueId, string $fieldKey)

$queueId - Идентификатор или ключ очереди. Ключ очереди чувствителен к регистру символов. Строка

$fieldKey - Ключ локального поля. Чтобы получить ключ, используйте запрос. Строка


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->field()
        ->getInfoLocal('TEST', 'loc_test_field')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Редактировать локальное поле очереди

Запрос позволяет редактировать локальное поле задачи, привязанное к заданной очереди.

$api->field()->editLocal(string $queueId, string $fieldKey)

$queueId - Идентификатор или ключ очереди. Ключ очереди чувствителен к регистру символов. Строка

$fieldKey - Ключ локального поля. Чтобы получить ключ, используйте запрос. Строка


Доступные методы

public function name(array $names)
Описание Тип данных Обязательный
Название локального поля. Массив Нет

Ключи массива $names:

  • en - на английском языке. Строка
  • ru - на русском языке. Строка
public function category(string $id)
Описание Тип данных Обязательный
Идентификатор категории поля. Для получения списка категорий используйте запрос Строка Нет
public function order(int $sort)
Описание Тип данных Обязательный
Порядковый номер в списке полей организации: https://tracker.yandex.ru/admin/fields. Число Нет
public function description(string $text)
Описание Тип данных Обязательный
Описание локального поля. Строка Нет
public function optionsProvider(array $options)
Описание Тип данных Обязательный
Массив с информацией об элементах списка. Массив Нет

Поля массива $options:

  • type - Тип выпадающего списка. Строка. Допустимые значения:
    • Field::OPTIONS_PROVIDER_LIST - список строковых или числовых значений (для полей с типом Текстовое однострочное поле или Целое число)
    • Field::OPTIONS_PROVIDER_USER_LIST - список пользователей (для полей с типом Имя пользователя)
  • values - Значения для выпадающего списка. Массив строк
public function readonly(bool $readonly)
Описание Тип данных Обязательный
Возможность редактировать значение поля. Логический Нет

Допустимые значения $readonly:

  • true - значение поля нельзя изменить
  • false - значение поля можно изменить
public function visible(bool $visible)
Описание Тип данных Обязательный
Признак отображения поля в интерфейсе. Логический Нет

Допустимые значения $visible:

  • true - всегда отображать поле в интерфейсе
  • false - не отображать поле в интерфейсе
public function hidden(bool $hidden)
Описание Тип данных Обязательный
Признак видимости поля в интерфейсе. Логический Нет

Допустимые значения $hidden:

  • true - скрывать поле даже в том случае, если оно заполнено
  • false - не скрывать поле
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->field()
        ->editLocal('TEST', 'loc_test_field')
        ->optionsProvider([
            'type' => \BugrovWeb\YandexTracker\Api\Field::OPTIONS_PROVIDER_LIST,
            'values' => [1, 2, 3]
        ])
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

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

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

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

$api->user()->getInfo()

Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->user()
        ->getInfo()
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

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

Запрос позволяет получить информацию об учетных записях пользователей, которые зарегистрированы в организации.

$api->user()->getAll()

Доступные методы

public function perPage(int $count)
Описание Тип данных Обязательный
Количество пользователей на странице ответа. Число Нет
public function page(int $pageNumber)
Описание Тип данных Обязательный
Номер страницы ответа. Число Нет
public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->user()
        ->getAll()
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

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

Запрос позволяет получить информацию об учетной записи пользователя организации.

$api->user()->get(string $uid)

$uid - Уникальный идентификатор учетной записи или логин пользователя. Строка


Доступные методы

public function send()

Отправляет запрос к API


Пример использования

$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');

try {
    $req = $api->user()
        ->get('1234567890')
        ->send();
    var_dump($req->getResponse());
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

Встроенные хелперы

TimeManager

Конструктор для перевода времени в строку формата ISO 8601. При передаче в конструктор параметров, используйте что-то одно: только недели / год, месяц, день, минуты, секунды


Доступные методы

public function year(int $year)

Передает в конструктор год. Невозможно указание совместно с неделями.

public function month(int $month)

Передает в конструктор месяц. Невозможно указание совместно с неделями.

public function week(int $week)

Передает в конструктор недели. Невозможно указание совместно с другими параметрами.

public function day(int $day)

Передает в конструктор дни. Невозможно указание совместно с неделями.

public function hour(int $hour)

Передает в конструктор часы. Невозможно указание совместно с неделями.

public function minute(int $minute)

Передает в конструктор минуты. Невозможно указание совместно с неделями.

public function second(int $second)

Передает в конструктор секунды. Невозможно указание совместно с неделями.

public function getISOTime(): string

Возвращает сформированную метку времени в формате PnYnMnDTnHnMnS, PnW.


Пример использования

try {
    $isoTime = (new \BugrovWeb\YandexTracker\Helpers\TimeManager())
        ->minute(20)
        ->hour(1)
        ->second(32)
        ->getISOTime();
    echo $isoTime;
    // или
    $isoTime = (new \BugrovWeb\YandexTracker\Helpers\TimeManager())
        ->week(2)
        ->getISOTime();
    echo $isoTime;
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}

QueryFilter

Конструктор, предоставляющий удобный интерфейс для создания запросов на языке Яндекс.Трекера.

Метод where

Вы можете использовать метод where конструктора запросов, чтобы добавить запрос вида "параметр": "значение" через логическое AND. Самый простой вариант вызова метода требует 3 аргумента. 1-й - название параметра, 2-й - любой из доступных операторов сравнения (!, >, <, >=, <=, #, ~), 3-й - значение для сравнения. В качестве значения вы также можете передавать функции времени: now(), today(), week(), month(), quarter(), year(). Например, запрос вида "Comment": #"Хорошая работа, Олег" AND "Story Points": >=5 может быть получен следующим вызовом:

$res = (new \BugrovWeb\YandexTracker\Helpers\QueryFilter())
    ->where('Comment', '#', 'Хорошая работа, Олег')
    ->where('Story Points', '>=', 5)
    ->toString();

echo $res;

Результат

"Comment": #"Хорошая работа, Олег" AND "Story Points": >=5

Если оператор в запросе не требуется, просто передайте 2 аргумента: 1-й - название параметра, 2-й - значение параметра:

$res = (new \BugrovWeb\YandexTracker\Helpers\QueryFilter())
    ->where('Author', 'user1234@')
    ->where('Followers', 'user9876@')
    ->toString();

echo $res;

Результат

"Author": "user1234@" AND "Followers": "user9876@"

Также можно передать массив условий в метод where. Каждый элемент массива должен быть массивом, содержащим два/три аргумента, передаваемых методу where:

$res = (new \BugrovWeb\YandexTracker\Helpers\QueryFilter())
    ->where([
        ['Comment', '#', 'Хорошая работа, Олег'],
        ['Story Points', '>=', 5]
    ])
    ->toString();

echo $res;

Результат

("Comment": #"Хорошая работа, Олег" AND "Story Points": >=5)

Для фильтра по нескольким значениям одного параметра вида "параметр": "значение1", "значение2", "значение3", передайте в функцию where 2 аргумента: 1-й - название параметра, 2-й - массив значений параметра. Например:

$res = (new \BugrovWeb\YandexTracker\Helpers\QueryFilter())
    ->where('Author', ['Иванов Иван', 'Вася Пупкин'])
    ->toString();

echo $res;

Результат

"Author": "Иванов Иван", "Вася Пупкин"

Метод orWhere

Метод where объединяет части запроса логическим оператором AND, в свою очередь метод orWhere присоединяет части запроса с помощью оператора OR. Метод orWhere работает также, как и where:

$res = (new \BugrovWeb\YandexTracker\Helpers\QueryFilter())
    ->where('Author', '!', 'Иван Иванов')
    ->orWhere('Original Estimate', '5d 2h 30m')
    ->toString();

echo $res;

Результат

"Author": !"Иван Иванов" OR "Original Estimate": "5d 2h 30m"

Если вам нужно сгруппировать условие OR в круглые скобки, вы можете передать анонимную функцию в качестве первого аргумента метода orWhere:

$res = (new \BugrovWeb\YandexTracker\Helpers\QueryFilter())
    ->where('Author', 'Иван Иванов')
    ->orWhere(function ($query) {
        $query->where('Author', 'Вася Пупкин')
            ->where('Created', '>', 'now()-12h');
    })
    ->toString();

echo $res;

Результат

"Author": "Иван Иванов" OR ("Author": "Вася Пупкин" AND "Created": >now()-12h)

Метод whereIsBetween/orWhereIsBetween

Методы добавляют запрос с интервалом значений (через AND или OR соответственно), например параметр: число1 .. число2. Пример вызова:

$res = (new \BugrovWeb\YandexTracker\Helpers\QueryFilter())
    ->whereIsBetween('Created', ['2017-01-01', '2017-01-30'])
    ->toString();

echo $res;

Результат

"Created": 2017-01-01 .. 2017-01-30

Метод whereIsEmpty/whereIsNotEmpty/orWhereIsEmpty/orWhereIsNotEmpty

Добавляет запрос вида параметр: empty()/параметр: notEmpty() через AND или OR. Методы принимают один аргумент - название параметра для запроса. Параметром может быть как одиночное значение, так и массив значений. Если передан массив, то для каждого значения будет создан отдельный запрос empty() /notEmpty(): параметр1: empty() ... параметрN: empty(). Пример вызова:

$res = (new \BugrovWeb\YandexTracker\Helpers\QueryFilter())
    ->where('Author', 'Иван Иванов')
    ->whereIsEmpty('Resolution')
    ->toString();
// или
$res = (new \BugrovWeb\YandexTracker\Helpers\QueryFilter())
    ->whereIsEmpty(['Resolution', 'Assignee'])
    ->toString();
    
echo $res;

Результат

"Author": "Иван Иванов" AND "Resolution": empty()
или
"Resolution": empty() AND "Assignee": empty()

Метод whereIsMe/whereIsNotMe/orWhereIsMe/orWhereIsNotMe

Добавляет запрос вида параметр: me()/параметр: !me() через AND или OR. Методы принимают один аргумент - название параметра для запроса. Параметром может быть как одиночное значение, так и массив значений. Если передан массив, то для каждого значения будет создан отдельный запрос me() /!me(): параметр1: me() ... параметрN: me(). Пример вызова:

$res = (new \BugrovWeb\YandexTracker\Helpers\QueryFilter())
    ->whereIsMe('Author')
    ->orWhereIsNotMe(['Assignee', 'Followers'])
    ->toString();
    
echo $res;

Результат

"Author": me() OR "Assignee": !me() OR "Followers": !me()

Метод whereIsUnresolved/orWhereIsUnresolved

Добавляет запрос вида параметр: unresolved() через AND или OR. Методы принимают один аргумент - название параметра для запроса. Параметром может быть как одиночное значение, так и массив значений. Если передан массив, то для каждого значения будет создан отдельный запрос unresolved(): параметр1: unresolved() ... параметрN: unresolved(). Пример вызова:

$res = (new \BugrovWeb\YandexTracker\Helpers\QueryFilter())
    ->whereIsUnresolved('Resolution')
    ->toString();
    
echo $res;

Результат

"Resolution": unresolved()

Метод whereIsGroup/orWhereIsGroup

Добавляет запрос вида "Параметр": group(value: "Значение") через AND или OR. Методы принимают 2 аргумента: 1-й- название параметра для запроса, 2-й - значение параметра. 1-м параметром может быть как одиночное значение, так и массив значений. Если передан массив, то для каждого значения будет создан отдельный запрос "Параметр": group(value: "Значение"): параметр1: group(value: "Значение") ... параметрN: group(value: "Значение") . Пример вызова:

$res = (new \BugrovWeb\YandexTracker\Helpers\QueryFilter())
    ->whereIsGroup('Assignee', 'Коммерческий отдел')
    ->toString();
    
echo $res;

Результат

"Assignee": group(value: "Коммерческий отдел")

Метод whereIsChanged/orWhereIsChanged

Добавляет запрос вида "Параметр": changed(from: "from" to: "to", by: "by" date: "date") через AND или OR. Методы принимают 2 аргумента: 1-й - название параметра для запроса, 2-й - массив элементов. Каждый элемент массива должен быть массивом вида ключ => значение, где ключ может быть одним из: from, to, by, date. Значением ключа date может быть как единичное значение, так и массив из двух значений (интервал дат). Пример вызова:

$res = (new \BugrovWeb\YandexTracker\Helpers\QueryFilter())
    ->whereIsChanged('Status', [
        'to' => 'В работе',
        'by' => 'Алиса Литтл',
        'date' => ['01.09.2017', '15.09.2017'],
    ])
    ->toString();
    
echo $res;

Результат

"Status": changed(to: "В работе" by: "Алиса Литтл" date: 01.09.2017 .. 15.09.2017)

Пример сложного запроса

Запрос:

$res = (new \BugrovWeb\YandexTracker\Helpers\QueryFilter())
    ->whereIsEmpty('Resolution')
    ->where('Priority', ['Blocker', 'Critical'])
    ->where(function ($query) {
        $query->orWhereIsMe(['Followers', 'Assignee', 'Author']);
    })
    ->toString();
    
echo $res;

Результат

"Resolution": empty() AND "Priority": "Blocker", "Critical" AND ("Followers": me() OR "Assignee": me() OR "Author": me())
Описание

PHP библиотека для Яндекс Трекер API. Форк из bugrov/yandex-tracker#0d7dc8729bb8e6b57438037c9e84def10bb8023e (github.com/bugrov/yandex-tracker).

Конвейеры
0 успешных
0 с ошибкой