Импортировать задачу
Важно
Запрос может быть выполнен только от имени администратора организации.
С помощью запроса вы можете импортировать в Tracker задачи из других систем управления проектами.
Формат запроса
Чтобы импортировать задачу, используйте HTTP-запрос с методом POST
. Параметры задачи передаются в теле запроса в формате JSON:
POST /v2/issues/_import
Host: https://api.tracker.yandex.netAuthorization: OAuth <токен>
X-Org-ID: <идентификатор организации>
Content-Type: application/json
{
"queue": "TEST",
"summary": "Test",
"key": "TEST-1",
"createdAt": "2017-08-29T12:34:41.740+0000",
"createdBy": 1110000000011111,
"updatedAt": "2017-09-09T11:24:31.140+0000",
"updatedBy": 1110000000011111,
"resolvedAt": "2017-09-08T09:33:42.250+0000",
"resolvedBy": 1110000000011111,
"status": 17,
"deadline": "2017-09-07",
"resolution": 1,
"type": 2,
"description": "Test",
"start": "2017-09-04",
"end": "2017-09-07",
"assignee": 1110000000011111,
"priority": 3,
"affectedVersions": [1, 2, 3],
"fixVersions": [4, 5, 6],
"components": [7, 8, 9],
"tags": ["test", "tag"],
"sprint": [1, 2, 3],
"followers": [1110000000011111, 2220000000022222],
"access": [1110000000011111, 2220000000022222],
"unique": "issue_5182786599824772824459",
"followingMaillists": ["test@test.yaconnect.com", "mail@test.yaconnect.com"],
"originalEstimation": 3600000,
"estimation": 3600000,
"spent": 3600000,
"storyPoints": 1.0,
"votedBy": [1110000000011111, 2220000000022222],
"favoritedBy": [1110000000011111, 2220000000022222]
}
При необходимости вы можете расширить список полей, доступных для импорта. Для этого создайте в Tracker дополнительные поля и укажите их в теле запроса в формате:
"field_name": "значение поля"
Заголовки запроса
-
Host
Адрес узла, предоставляющего API:
https://api.tracker.yandex.net
-
Authorization
OAuth-токен в формате
OAuth <значение токена>
, например:OAuth 0c4181a7c2cf4521964a72ff57a34a07
-
X-Org-ID
Идентификатор организации.
-
Content-Type
Формат тела запроса. Должен иметь значение
application/json
.
Тело запроса
Тело запроса содержит параметры задачи:
Параметр | Описание | Тип данных |
---|---|---|
queue | Ключ очереди. | Строка. |
summary | Название задачи, не более 255 символов. | Строка. |
key | Ключ задачи. Ключ должен относится к очереди, в которую импортируется задача. Если параметр не указан, задаче будет автоматически присвоен ключ. |
Строка. |
createdAt | Дата и время создания задачи в формате YYYY-MM-DDThh:mm:ss.sss±hhmm . Не может быть позже текущего времени. |
Строка. |
createdBy | Логин или идентификатор автора задачи. |
|
updatedAt | Дата и время последнего изменения задачи в формате YYYY-MM-DDThh:mm:ss.sss±hhmm . Вы можете указать любое значение в интервале времени от создания задачи до текущего момента.Параметр указывается только вместе с параметром updatedBy . |
Строка. |
updatedBy | Логин или идентификатор пользователя, который редактировал задачу последним. Параметр указывается только вместе с параметром updatedAt . |
|
resolvedAt | Дата и время проставления резолюции в формате YYYY-MM-DDThh:mm:ss.sss±hhmm . Вы можете указать любое значение в интервале времени от создания до последнего изменения задачи.Параметр указывается только вместе с параметрами resolution и resolvedBy . |
Строка. |
resolvedBy | Логин или идентификатор пользователя, который проставил резолюцию. Параметр указывается только вместе с параметрами resolution и resolvedAt . |
|
status | Идентификатор статуса задачи. Статус должен присутствовать в воркфлоу очереди для выбранного типа задачи. Если статус не указан, используется начальный статус воркфлоу. |
Число. |
deadline | Дедлайн в формате YYYY-MM-DD . |
Строка. |
resolution | Идентификатор резолюции задачи. Параметр указывается только вместе с параметрами resolvedBy и resolvedAt . |
Число. |
type | Идентификатор типа задачи. Тип задачи должен присутствовать в очереди. Если тип не указан, то используется тип задачи, который выбран для очереди по умолчанию. |
Число. |
description | Описание задачи, не более 512000 символов. | Строка. |
start | Дата начала в формате YYYY-MM-DD . |
Строка. |
end | Дата окончания в формате YYYY-MM-DD . |
Строка. |
assignee | Логин или идентификатор исполнителя. |
|
priority | Идентификатор приоритета. Если приоритет не указан, то используется приоритет, который выбран для очереди по умолчанию. |
Число. |
affectedVersions | Идентификаторы версий, перечисленные в поле Найдено в версиях. Версии должны существовать в очереди. | JSON-массив. |
fixVersions | Идентификаторы версий, перечисленные в поле Исправить в версиях. Версии должны существовать в очереди. | JSON-массив. |
components | Идентификаторы компонентов, к которым относится задача. Компоненты должны существовать в очереди. | JSON-массив. |
tags | Массив тегов задачи. | JSON-массив. |
sprint | Идентификаторы спринтов, к которым относится задача. | JSON-массив. |
followers | Массив с идентификаторами или логинами наблюдателей задачи. | JSON-массив. |
access | Массив с идентификаторами или логинами пользователей, перечисленных в поле Доступ. | JSON-массив. |
unique | Уникальный идентификатор задачи. Вы можете задать любой идентификатор. | Строка. |
followingMaillists | Идентификаторы рассылок — команд и отделов, подписанных на задачу. | JSON-массив. |
originalEstimation | Значение параметра "Первоначальная оценка" в миллисекундах. | Число. |
estimation | Значение параметра "Оценка" в миллисекундах. | Число. |
spent | Значение параметра "Затрачено времени" в миллисекундах. | Число. |
storyPoints | Значение параметра Story Points. | Число с плавающей точкой. |
votedBy | Массив с идентификаторами или логинами пользователей, которые проголосовали за задачу. | JSON-массив. |
favoritedBy | Массив с идентификаторами или логинами пользователей, которые добавили задачу в избранное. | JSON-массив. |
Формат ответа
В случае успешного выполнения запроса API возвращает ответ с кодом 201. Тело запроса содержит информацию о импортированной задаче в формате JSON.
{
"self": "https://api.tracker.yandex.net/v2/issues/TEST-1",
"id": "141b2ef1e4b036e9f8397458",
"key": "TEST-1",
"version": 1,
"summary": "Test",
"originalEstimation": "P1H",
"estimation": "P1H",
"spent": "P1H",
"updatedBy": {
"self": "https://api.tracker.yandex.net/v2/users/1110000000011111",
"id": "1110000000011111",
"display": "Ivan Ivanov"
},
"resolvedAt": "2017-09-08T09:33:42.250+0000",
"start": "2017-09-04",
"resolvedBy": {
"self": "https://api.tracker.yandex.net/v2/users/1110000000011111",
"id": "1110000000011111",
"display": "Ivan Ivanov"
},
"description": "Test",
"followingMaillists": [
{
"self": "https://api.tracker.yandex.net/v2/maillists/test@test.yaconnect.com",
"id": "test@test.yaconnect.com",
"display": "test"
},
{
"self": "https://api.tracker.yandex.net/v2/maillists/mail@test.yaconnect.com",
"id": "mail@test.yaconnect.com",
"display": "mail"
}
],
"fixVersions": [
{
"self":"https://api.tracker.yandex.net/v2/versions/4",
"id":"4",
"display":"Version 4"
},
{
"self":"https://api.tracker.yandex.net/v2/versions/5",
"id":"5",
"display":"Version 5"
},
{
"self":"https://api.tracker.yandex.net/v2/versions/6",
"id":"6",
"display":"Version 6"
}
],
"type": {
"self": "https://api.tracker.yandex.net/v2/issuetypes/2",
"id": "2",
"key": "task",
"display": "Task"
},
"priority": {
"self":"https://api.tracker.yandex.net/v2/priorities/3",
"id":"3",
"key":"normal",
"display":"Normal"
},
"resolution": {
"self":"https://api.tracker.yandex.net/v2/resolutions/1",
"id":"1",
"key":"fixed",
"display":"Fixed"
},
"createdAt": "2017-08-29T12:34:41.740+0000",
"followers": [
{
"self": "https://api.tracker.yandex.net/v2/users/1110000000011111",
"id": "1110000000011111",
"display": "Ivan Ivanov"
},
{
"self": "https://api.tracker.yandex.net/v2/users/2220000000022222",
"id": "2220000000022222",
"display": "Petr Petrov"
}
],
"assignee": {
"self": "https://api.tracker.yandex.net/v2/users/1110000000011111",
"id": "1110000000011111",
"display": "Ivan Ivanov"
},
"createdBy": {
"self": "https://api.tracker.yandex.net/v2/users/1110000000011111",
"id": "1110000000011111",
"display": "Ivan Ivanov"
},
"commentWithoutExternalMessageCount": 0,
"votes": 0,
"affectedVersions": [
{
"self":"https://api.tracker.yandex.net/v2/versions/1",
"id":"1",
"display":"Version 1"
},
{
"self":"https://api.tracker.yandex.net/v2/versions/2",
"id":"2",
"display":"Version 2"
},
{
"self":"https://api.tracker.yandex.net/v2/versions/3",
"id":"3",
"display":"Version 3"
}
],
"commentWithExternalMessageCount": 0,
"end": "2017-09-07",
"deadline": "2018-05-28",
"queue": {
"self": "https://api.tracker.yandex.net/v2/queues/TEST",
"id": "1",
"key": "TEST",
"display": "Test"
},
"updatedAt": "2017-09-09T11:24:31.140+0000",
"storyPoints": 1.0,
"status": {
"self": "https://api.tracker.yandex.net/v2/statuses/17",
"id": "17",
"key": "closed",
"display": "Closed"
},
"components":[
{
"self":"https://api.tracker.yandex.net/v2/components/7",
"id":"7",
"display":"Component 7"
},
{
"self":"https://api.tracker.yandex.net/v2/components/8",
"id":"8",
"display":"Component 8"
},
{
"self":"https://api.tracker.yandex.net/v2/components/9",
"id":"9",
"display":"Component 9"
}
],
"access": [
{
"self": "https://api.tracker.yandex.net/v2/users/1110000000011111",
"id": "1110000000011111",
"display": "Ivan Ivanov"
},
{
"self": "https://api.tracker.yandex.net/v2/users/2220000000022222",
"id": "2220000000022222",
"display": "Petr Petrov"
}
],
"unique": "issue_5182786599824772824459",
"favorite": false
}
Параметры ответа
Параметр | Описание | Тип данных |
---|---|---|
self | Адрес ресурса API, который содержит информацию о задаче. | Строка. |
id | Адрес ресурса API, который содержит информацию о задаче. | Строка. |
key | Ключ задачи. | Строка. |
version | Версия задачи. Каждое изменение параметров задачи увеличивает номер версии. | Число. |
summary | Название задачи. | Строка. |
originalEstimation | Значение параметра "Первоначальная оценка". | Строка. |
estimation | Значение параметра "Оценка". | Строка. |
spent | Значение параметра "Затрачено времени". | Строка. |
updatedBy | Объект с информацией о пользователе, который изменял задачу последним. | Объект. |
resolvedAt | Дата и время проставления резолюции. | Строка. |
start | Дата начала работы над задачей. | Строка. |
resolvedBy | Объект с информацией о пользователе, который проставил резолюцию. | Объект. |
description | Описание задачи. | Строка. |
followingMaillists | Массив объектов с информацией о рассылках — командах и отделах, подписанных на задачу. | Массив объектов. |
fixVersions | Версии, перечисленные в поле "Исправить в версиях". | JSON-массив. |
type | Тип задачи. | JSON-массив. |
priority | Объект с информацией о приоритете. | Объект. |
resolution | Объект с информацией о резолюции. | Объект. |
createdAt | Дата и время создания задачи. | Строка. |
followers | Массив объектов с информацией о наблюдателях задачи. | Массив объектов. |
assignee | Массив объектов с информацией об исполнителе. | Массив объектов. |
createdBy | Массив объектов с информацией об авторе задачи. | Массив объектов. |
affectedVersions | Версии, перечисленные в поле "Обнаружено в версиях". | JSON-массив. |
queue | Объект с информацией об очереди, к которой относится задача. | Объект. |
status | Объект с информацией о статусе задачи. | Объект. |
components | Массив объектов с информацией о компонентах, к которым относится задача. | Массив объектов. |
access | Массив объектов с информацией о пользователях, перечисленных в поле Доступ. | Массив объектов. |
commentWithoutExternalMessageCount | Число комментариев к задаче. | Число. |
votes | Число голосов, отданых за задачу. | Число. |
commentWithExternalMessageCount | Число писем отправленных со страницы задачи. | Число. |
end | Дата завершения работы над задачей. | Строка. |
deadline | Дедлайн | Строка. |
updatedAt | Дата и время последнего изменения задачи. | Строка. |
storyPoints | Значение параметра Story Points. | Число с плавающей точкой. |
unique | Уникальный идентификатор задачи, который был задан при импорте. | Строка. |
favorite | Добавил ли пользователь задачу в избранное
|
Логический. |
Поля объекта updatedBy
Параметр | Описание | Тип данных |
---|---|---|
self | Адрес ресурса API, который содержит информацию о пользователе. | Строка. |
id | Идентификатор пользователя. | Строка. |
display | Отображаемое имя пользователя. | Строка. |
Поля объекта resolvedBy
Параметр | Описание | Тип данных |
---|---|---|
self | Адрес ресурса API, который содержит информацию о пользователе. | Строка. |
id | Идентификатор пользователя. | Строка. |
display | Отображаемое имя пользователя. | Строка. |
Поля объекта followingMaillists
Параметр | Описание | Тип данных |
---|---|---|
self | Адрес ресурса API, который содержит информацию о рассылке. | Строка. |
id | Идентификатор рассылки. | Строка. |
display | Отображаемое имя рассылки. | Строка. |
Поля объекта fixVersions
Параметр | Описание | Тип данных |
---|---|---|
self | Адрес ресурса API, который содержит информацию о версии. | Строка. |
id | Идентификатор версии. | Строка. |
display | Имя версии. | Строка. |
Поля объекта type
Параметр | Описание | Тип данных |
---|---|---|
self | Адрес ресурса API, который содержит информацию о типе задачи. | Строка. |
id | Идентификатор типа задачи. | Строка. |
key | Ключ типа задачи. | Строка. |
display | Отображаемое название типа задачи. | Строка. |
Поля объекта priority
Параметр | Описание | Тип данных |
---|---|---|
self | Адрес ресурса API, который содержит информацию о приоритете. | Строка. |
id | Идентификатор приоритета. | Строка. |
key | Ключ приоритета. | Строка. |
display | Отображаемое название приоритета. | Строка. |
Поля объекта resolution
Параметр | Описание | Тип данных |
---|---|---|
self | Адрес ресурса API, который содержит информацию о резолюции. | Строка. |
id | Идентификатор резолюции. | Строка. |
key | Ключ резолюции. | Строка. |
display | Отображаемое название резолюции. | Строка. |
Поля объекта followers
Параметр | Описание | Тип данных |
---|---|---|
self | Адрес ресурса API, который содержит информацию о пользователе. | Строка. |
id | Идентификатор пользователя. | Строка. |
display | Отображаемое имя пользователя. | Строка. |
Поля объекта assignee
Параметр | Описание | Тип данных |
---|---|---|
self | Адрес ресурса API, который содержит информацию о пользователе. | Строка. |
id | Идентификатор пользователя. | Строка. |
display | Отображаемое имя пользователя. | Строка. |
Поля объекта createdBy
Параметр | Описание | Тип данных |
---|---|---|
self | Адрес ресурса API, который содержит информацию о пользователе. | Строка. |
id | Идентификатор пользователя. | Строка. |
display | Отображаемое имя пользователя. | Строка. |
Поля объекта affectedVersions
Параметр | Описание | Тип данных |
---|---|---|
self | Адрес ресурса API, который содержит информацию о версии. | Строка. |
id | Идентификатор версии. | Строка. |
display | Имя версии. | Строка. |
Поля объекта queue
Параметр | Описание | Тип данных |
---|---|---|
self | Адрес ресурса API, который содержит информацию об очереди. | Строка. |
id | Идентификатор очереди. | Строка. |
key | Ключ очереди. | Строка. |
display | Имя очереди. | Строка. |
Поля объекта status
Параметр | Описание | Тип данных |
---|---|---|
self | Адрес ресурса API, который содержит информацию о статусе. | Строка. |
id | Идентификатор статуса. | Строка. |
key | Ключ статуса. | Строка. |
display | Отображаемое название статуса. | Строка. |
Поля объекта components
Параметр | Описание | Тип данных |
---|---|---|
self | Адрес ресурса API, который содержит информацию о компоненте. | Строка. |
id | Идентификатор компонента. | Строка. |
key | Ключ компонента. | Строка. |
display | Отображаемое название компонента. | Строка. |
Поля объекта access
Параметр | Описание | Тип данных |
---|---|---|
self | Адрес ресурса API, который содержит информацию о версии. | Строка. |
id | Идентификатор версии. | Строка. |
display | Имя версии. | Строка. |
Если запрос не был успешно обработан, ответное сообщение содержит информацию о возникших ошибках:
HTTP-код ошибки | Описание ошибки |
---|---|
400 Bad Request | Один из параметров запроса имеет недопустимое значение или формат данных. |
403 Forbidden | У пользователя или приложения нет прав на доступ к ресурсу, запрос отклонен. |
404 Not Found | Запрашиваемый ресурс не найден. |
409 Conflict | Запрос не может быть выполнен по причине конфликта имен. |
422 Unprocessable Entity | Ошибка валидации JSON, запрос отклонен. |
500 Internal Server Error | Внутренняя ошибка сервиса. Попробуйте повторно отправить запрос через некоторое время. |
503 Service Unavailable | Сервис API временно недоступен. |