bugrov / yandex-tracker
PHP SDK для работы с Яндекс.Трекером
Installs: 6 827
Dependents: 0
Suggesters: 0
Security: 0
Stars: 13
Watchers: 2
Forks: 4
Open Issues: 0
Requires
- php: >=7.4
- guzzlehttp/guzzle: ^7.0.1
Requires (Dev)
- symfony/var-dumper: ^5.4
This package is auto-updated.
Last update: 2025-04-29 01:38:23 UTC
README
Оглавление
- Установка
- Получение токена
- Инициализация
- Пример использования
- Задачи
- Получить параметры задачи
- Редактировать задачу
- Создать задачу
- Перенести задачу в другую очередь
- Узнать количество задач
- Найти задачи
- Освободить ресурсы просмотра прокрутки
- Получить приоритеты
- Получить переходы
- Выполнить переход в статус
- Получить историю изменений задачи
- Связать задачи
- Получить связи задачи
- Удалить связь с задачей
- Чеклисты
- Проекты
- Комментарии
- Макросы
- Внешние связи
- Прикрепленные файлы
- Очереди
- Доски задач
- Страны
- Компоненты
- Импорт
- Пакетные операции
- Учет времени
- Поля задачи
- Получить глобальные поля
- Получить список всех категорий полей
- Создать поле задачи
- Получить параметры поля задачи
- Изменить название поля задачи
- Изменить возможные значения поля задачи
- Создать категорию поля задачи
- Создать локальное поле очереди
- Получить локальные поля очереди
- Получить информацию о локальном поле очереди
- Редактировать локальное поле очереди
- Пользователи
- Встроенные хелперы
Установка
Поддерживается установка с помощью менеджера пакетов.
$ composer require bugrov/yandex-tracker dev-master
Или
$ php composer.phar require bugrov/yandex-tracker dev-master
Получение токена
- Перейти на https://oauth.yandex.ru/
- Нажать
Зарегистрировать новое приложение
- Заполнить необходимые поля
- В разделе
Платформы
выбратьВеб-сервисы
и нажатьПодставить URL для разработки
- В блоке
Какие данные вам нужны?
откройтеТрекер (tracker)
и выберите опции:Запись в трекер (tracker:write)
иЧтение из трекера (tracker:read)
- После сохранения скопируйте ИД приложения и подставьте в URL для получения токена:
https://oauth.yandex.ru/authorize?response_type=token&client_id=<идентификатор приложения>
- Узнайте идентификатор организации, перейдя на страницу настроек 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)
$projectId
- Идентификатор или ключ текущей задачи. Строка
Доступные методы
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
:
field
- Идентификатор поля задачи. Полный список полей задачи. Строкаvalue
- Значение поля задачи. Строка
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
- SupportQueue::WORKFLOW_SOFTWARE_DEV
- Software developmentQueue::WORKFLOW_DOCUMENTS_APPROVAL
- Documents approvalQueue::WORKFLOW_GOAL_MANAGEMENT
- Goal managementQueue::WORKFLOW_HUMAN_RESOURCES
- Human ResourcesQueue::WORKFLOW_DEV_WITH_KANBAN
- Development with KanbanQueue::WORKFLOW_MANUFACTURE
- ManufactureQueue::WORKFLOW_MARKETING
- MarketingQueue::WORKFLOW_OUTSOURCE_SOFTWARE_DEV
- Outsource software developmentQueue::WORKFLOW_QUICK_START
- Quick startQueue::WORKFLOW_RECRUITING
- RecruitingQueue::WORKFLOW_DEV_WITH_SCRUM
- Development with ScrumQueue::WORKFLOW_OFFERING_SERVICES
- Offering servicesQueue::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())