PHP SDK для работы с API Yandex.Tracker
Форк из bugrov/yandex-tracker#0d7dc8729bb8e6b57438037c9e84def10bb8023e (https://github.com/bugrov/yandex-tracker).
Установка этого форка вместо оригинала, пример для composer.json
:
{
"type": "project",
"require": {
"bugrov/yandex-tracker": "dev-master-vasw#COMMIT_HASH"
},
"repositories": [
{
"type": "vcs",
"url": "git@gitflic.ru:vasw/php-yandex-tracker.git"
}
]
}
Что изменено
verify
для GuzzleHttp\Client
Настройка верификации SSL-сертификатов.
Данная настройка напрямую пробрасывается как verify
в GuzzleHttp\Client
.
Подробнее: https://docs.guzzlephp.org/en/stable/request-options.html#verify.
Пример:
$verifyValue = false;
$api = new \BugrovWeb\YandexTracker\Api\Tracker(
'token',
'org id',
'org type',
$verifyValue);
try {
$req = $api->user()
->getInfo()
->send();
var_dump($req->getResponse());
} catch (\Exception $e) {
var_dump($e->getTraceAsString());
}
Поддержка разных типов Яндекс Организаций
Поддерживаются следующие типы организаций:
- Yandex Cloud Organization (
X-Cloud-Org-Id
,\BugrovWeb\YandexTracker\Api\OrganizationType::YandexCloud
), ID организации берётся здесь (изИдентификатор
): https://org.cloud.yandex.ru/settings; - Yandex 360 Organization (
X-Org-ID
,\BugrovWeb\YandexTracker\Api\OrganizationType::Yandex360
), ID организации берётся здесь (изID организации для API
): https://tracker.yandex.ru/settings;
Пример:
$verifyValue = false;
$api = new \BugrovWeb\YandexTracker\Api\Tracker(
'token',
'org id',
\BugrovWeb\YandexTracker\Api\OrganizationType::YandexCloud,
$verifyValue);
try {
$req = $api->user()
->getInfo()
->send();
var_dump($req->getResponse());
} catch (\Exception $e) {
var_dump($e->getTraceAsString());
}
Далее - оригинальное описание без изменений.
Оглавление
- Установка
- Получение токена
- Инициализация
- Пример использования
- Задачи
- Получить параметры задачи
- Редактировать задачу
- Создать задачу
- Перенести задачу в другую очередь
- Узнать количество задач
- Найти задачи
- Освободить ресурсы просмотра прокрутки
- Получить приоритеты
- Получить переходы
- Выполнить переход в статус
- Получить историю изменений задачи
- Связать задачи
- Получить связи задачи
- Удалить связь с задачей
- Чеклисты
- Проекты
- Комментарии
- Макросы
- Внешние связи
- Прикрепленные файлы
- Очереди
- Доски задач
- Страны
- Компоненты
- Импорт
- Пакетные операции
- Учет времени
- Поля задачи
- Получить глобальные поля
- Получить список всех категорий полей
- Создать поле задачи
- Получить параметры поля задачи
- Изменить название поля задачи
- Изменить возможные значения поля задачи
- Создать категорию поля задачи
- Создать локальное поле очереди
- Получить локальные поля очереди
- Получить информацию о локальном поле очереди
- Редактировать локальное поле очереди
- Пользователи
- Встроенные хелперы
Установка
Поддерживается установка с помощью менеджера пакетов.
$ 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)
$issueId
- Идентификатор или ключ текущей задачи. Строка
Доступные методы
public function isAddToFollowers(bool $add)
Описание | Тип данных | Обязательный |
---|---|---|
Добавить автора комментария в наблюдатели (по умолчанию true) | Логический | Нет |
public function text(string $comment)
Описание | Тип данных | Обязательный |
---|---|---|
Комментарий к задаче. | Строка | Да |
public function attachmentIds(array|string[] $attachments)
Описание | Тип данных | Обязательный |
---|---|---|
Список идентификаторов вложений. | Массив строк | Нет |
public function summonees(array $summonees)
Описание | Тип данных | Обязательный |
---|---|---|
Идентификаторы или логины призванных пользователей. | Массив масивов или строк | Нет |
public function maillistSummonees(array|string[] $mailList)
Описание | Тип данных | Обязательный |
---|---|---|
Список рассылок, призванных в комментарии. | Массив строк | Нет |
public function send()
Отправляет запрос к API
Пример использования
$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');
try {
$req = $api->comment()
->add('TEST-1')
->text('Тестовый комментарий')
->attachmentIds(['1', '2'])
->send();
var_dump($req->getResponse());
} catch (\Exception $exception) {
var_dump($exception->getMessage());
}
Получить комментарии к задаче
Запрос позволяет получить список комментариев к задаче.
$api->comment()->get(string $issueId)
$issueId
- Идентификатор или ключ текущей задачи. Строка
Доступные методы
public function send()
Отправляет запрос к API
Пример использования
$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');
try {
$req = $api->comment()
->get('TEST-1')
->send();
var_dump($req->getResponse());
} catch (\Exception $exception) {
var_dump($exception->getMessage());
}
Редактировать комментарий
Запрос позволяет редактировать комментарий.
$api->comment()->edit(string $issueId, string|int $commentId)
$issueId
- Идентификатор или ключ текущей задачи. Строка
$commentId
- Уникальный идентификатор комментария в числовом формате (id) или формате строки (longId). Строка или число
Доступные методы
public function text(string $comment)
Описание | Тип данных | Обязательный |
---|---|---|
Скорректированный комментарий к задаче. | Строка | Да |
public function attachmentIds(array|string[] $attachments)
Описание | Тип данных | Обязательный |
---|---|---|
Список идентификаторов вложений. | Массив строк | Нет |
public function send()
Отправляет запрос к API
Пример использования
$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');
try {
$req = $api->comment()
->edit('TEST-1', 1)
->text('Первый коммент')
->send();
var_dump($req->getResponse());
} catch (\Exception $exception) {
var_dump($exception->getMessage());
}
Удалить комментарий
Запрос позволяет удалить комментарий к задаче.
$api->comment()->delete(string $issueId, string|int $commentId)
$issueId
- Идентификатор или ключ текущей задачи. Строка
$commentId
- Уникальный идентификатор комментария в числовом формате (id) или формате строки (longId). Строка или число
Доступные методы
public function send()
Отправляет запрос к API
Пример использования
$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');
try {
$req = $api->comment()
->delete('TEST-1', 1)
->send();
var_dump($req->getStatusCode());
} catch (\Exception $exception) {
var_dump($exception->getMessage());
}
Макросы
Получить макросы очереди
Запрос позволяет получить параметры всех макросов очереди.
$api->macros()->getAll(string $queueId)
$issueId
- Идентификатор или ключ очереди. Ключ очереди чувствителен к регистру символов. Строка
Доступные методы
public function send()
Отправляет запрос к API
Пример использования
$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');
try {
$req = $api->macros()
->getAll('TEST')
->send();
var_dump($req->getResponse());
} catch (\Exception $exception) {
var_dump($exception->getMessage());
}
Получить макрос
Запрос позволяет получить параметры макроса.
$api->macros()->get(string $queueId, string $macrosId)
$issueId
- Идентификатор или ключ очереди. Ключ очереди чувствителен к регистру символов. Строка
$macrosId
- Идентификатор макроса. Строка
Доступные методы
public function send()
Отправляет запрос к API
Пример использования
$api = new \BugrovWeb\YandexTracker\Api\Tracker('<токен>', '<ID организации>');
try {
$req = $api->macros()
->get('TEST', '1')
->send();
var_dump($req->getResponse());
} catch (\Exception $exception) {
var_dump($exception->getMessage());
}
Создать макрос
Запрос позволяет создать макрос.
$api->macros()->post(string $queueId)
$queueId
- Идентификатор или ключ очереди. Ключ очереди чувствителен к регистру символов. Строка
Доступные методы
public function name(string $name)
Описание | Тип данных | Обязательный |
---|---|---|
Название макроса. | Строка | Да |
public function body(string|array $body)
Описание | Тип данных | Обязательный |
---|---|---|
Сообщение, которое будет создано при выполнении макроса. Используется специальный формат | Строка/Массив | Нет |
public function fieldChanges(array $issueFields)
Описание | Тип данных | Обязательный |
---|---|---|
Массив с информацией о полях задачи, изменения которых запустит макрос. | Массив | Нет |
Поля массива $issueFields
:
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())
Описание
PHP библиотека для Яндекс Трекер API