Загрузка данных
C:\Work\wt\46>python 46.py
[OK] wrote C:\Work\wt\46\s46.openapi-probe.json
[OK] wrote C:\Work\wt\46\s46.author.compact.json
[INFO] author_login=abc.d.e
[INFO] assigned_to_before=sa-tuz1
[OK] wrote C:\Work\wt\46\s46.executor-update.attempts.json
[INFO] v2_attributes_dict_string http=200 assigned_to_after=abc.d.e matches=True
[OK] wrote C:\Work\wt\46\s46.after.compact.json
[OK] executor update worked with v2_attributes_dict_string
# s46.after.compact.json
{
"code": "ACSAPA-6",
"summary": "ST1",
"description": null,
"space": {
"code": "ACSAPA",
"name": "Автоматизация определения Поверхности Атаки"
},
"suit": {
"code": "task",
"name": "Задача",
"icon": "task"
},
"createdBy": {
"externalId": "Abc.D.E",
"firstName": "Ddd",
"lastName": "Abc",
"middleName": "Eee",
"login": "abc.d.e",
"userDetails": []
},
"updatedBy": {
"externalId": "Abc.D.E",
"firstName": "Ddd",
"lastName": "Abc",
"middleName": "Eee",
"login": "abc.d.e",
"userDetails": []
},
"author_candidate_createdBy_login": "abc.d.e",
"attributes": [
{
"code": "assigned_to",
"name": "Исполнитель",
"type": "user",
"value": {
"externalId": "Abc.D.E",
"firstName": "Ddd",
"lastName": "Abc",
"middleName": "Eee",
"login": "abc.d.e",
"userDetails": []
},
"valueAsString": ""
},
{
"code": "reporter",
"name": "Автор",
"type": "user",
"value": {
"externalId": "Abc.D.E",
"firstName": "Ddd",
"lastName": "Abc",
"middleName": "Eee",
"login": "abc.d.e",
"userDetails": []
},
"valueAsString": ""
},
{
"code": "workflow_status",
"name": "Статус",
"type": "workflow_status",
"value": {
"name": "Open",
"code": "PN_wZbmKlgyPwHIFYZAN",
"style": {
"backgroundColor": "#E8EEF2",
"iconColor": "#13181B8E",
"colorByEdsRef": "cool"
},
"statusType": "pause"
},
"valueAsString": ""
},
{
"code": "due_date",
"name": "Контрольный срок",
"type": "date_time",
"value": "2026-06-29T21:00:00Z",
"valueAsString": ""
},
{
"code": "label",
"name": "Labels",
"type": "label",
"value": [],
"valueAsString": ""
}
],
"assigned_to_login": "abc.d.e",
"reporter_login": "abc.d.e",
"executor_update_matches_author": true,
"executor_update_payload_shape": "v2_attributes_dict_string"
}
# s46.author.compact.json
{
"code": "ACSAPA-6",
"summary": "ST1",
"description": null,
"space": {
"code": "ACSAPA",
"name": "Автоматизация определения Поверхности Атаки"
},
"suit": {
"code": "task",
"name": "Задача",
"icon": "task"
},
"createdBy": {
"externalId": "Abc.D.E",
"firstName": "Ddd",
"lastName": "Abc",
"middleName": "Eee",
"login": "abc.d.e",
"userDetails": []
},
"updatedBy": {
"externalId": "Abc.D.E",
"firstName": "Ddd",
"lastName": "Abc",
"middleName": "Eee",
"login": "abc.d.e",
"userDetails": []
},
"author_candidate_createdBy_login": "abc.d.e",
"attributes": [
{
"code": "assigned_to",
"name": "Исполнитель",
"type": "user",
"value": {
"externalId": "sa-tuz1",
"firstName": "sa-tuz1",
"lastName": "sa-tuz1",
"middleName": null,
"login": "sa-tuz1",
"userDetails": []
},
"valueAsString": ""
},
{
"code": "reporter",
"name": "Автор",
"type": "user",
"value": {
"externalId": "Abc.D.E",
"firstName": "Ddd",
"lastName": "Abc",
"middleName": "Eee",
"login": "abc.d.e",
"userDetails": []
},
"valueAsString": ""
},
{
"code": "workflow_status",
"name": "Статус",
"type": "workflow_status",
"value": {
"name": "Open",
"code": "PN_wZbmKlgyPwHIFYZAN",
"style": {
"backgroundColor": "#E8EEF2",
"iconColor": "#13181B8E",
"colorByEdsRef": "cool"
},
"statusType": "pause"
},
"valueAsString": ""
},
{
"code": "due_date",
"name": "Контрольный срок",
"type": "date_time",
"value": "2026-06-29T21:00:00Z",
"valueAsString": ""
},
{
"code": "label",
"name": "Labels",
"type": "label",
"value": [],
"valueAsString": ""
}
],
"assigned_to_login": "sa-tuz1",
"reporter_login": "abc.d.e"
}
# s46.executor-update.attempts.json
[
{
"name": "v2_attributes_dict_string",
"path": "rest/api/unit/v2/update/ACSAPA-6",
"http_status": 200,
"ok": true,
"matches": true,
"request_body": {
"attributes": {
"assigned_to": "abc.d.e"
}
},
"body": {
"id": "ACSAPA-6"
},
"assigned_to_after": "abc.d.e"
}
]
# s46.openapi-probe.json
[
{
"path": "v3/api-docs",
"http_status": 200,
"is_openapi": false
},
{
"path": "v3/api-docs/swagger-config",
"http_status": 200,
"is_openapi": false
},
{
"path": "v2/api-docs",
"http_status": 200,
"is_openapi": false
},
{
"path": "api-docs",
"http_status": 200,
"is_openapi": true,
"openapi": "3.1.0",
"title": "sbertrack",
"version": "35.2.0-16eff094b8",
"selected_path_count": 36,
"selected_paths": [
{
"path": "/rest/api/unit/v3/{filter}/find",
"descriptions": [
{
"method": "POST",
"summary": "Поиск с фильтром расширенной информации по юниту"
}
]
},
{
"path": "/rest/api/unit/v3/find",
"descriptions": [
{
"method": "POST",
"summary": "Поиск с фильтром расширенной информации по юниту"
}
]
},
{
"path": "/rest/api/unit/v3/find/tql",
"descriptions": [
{
"method": "POST",
"summary": "Постраничный запрос на поиск юнитов с помощью TQL без вычисления кол-ва записей"
}
]
},
{
"path": "/rest/api/unit/v3/count",
"descriptions": [
{
"method": "POST",
"summary": "Возвращает кол-во юнитов по заданному условию фильтрации"
}
]
},
{
"path": "/rest/api/unit/v2/{filter}/find",
"descriptions": [
{
"method": "POST",
"summary": "Поиск с фильтром расширенной информации по юниту"
}
]
},
{
"path": "/rest/api/unit/v2/find/tql",
"descriptions": [
{
"method": "POST",
"summary": "Поиск с помощью TQL расширенной информации по юниту"
}
]
},
{
"path": "/rest/api/unit/v2/clone",
"descriptions": [
{
"method": "POST",
"summary": "Клонирует задачу",
"description": "Клонирует задачу"
}
]
},
{
"path": "/rest/api/unit/v1/clone",
"descriptions": [
{
"method": "POST",
"summary": "Клонирует задачу",
"description": "Клонирует задачу"
}
]
},
{
"path": "/rest/api/suit/v2/create",
"descriptions": [
{
"method": "POST",
"summary": "Создает тип юнита"
}
]
},
{
"path": "/rest/api/suit/v1/create",
"descriptions": [
{
"method": "POST",
"summary": "Создает тип юнита"
}
]
},
{
"path": "/rest/api/plugin/suit/v1/put",
"descriptions": [
{
"method": "POST",
"summary": "Устанавливает новый типа юнита в систему"
}
]
},
{
"path": "/rest/api/notification/schema/v1/create",
"descriptions": [
{
"method": "POST",
"summary": "Создает новую схему нотификаций",
"description": "Создает новую схему нотификаций"
}
]
},
{
"path": "/rest/api/export/v1",
"descriptions": [
{
"method": "POST",
"summary": "Инициализация выгрузки данных",
"description": "Создаёт задачу на выгрузку данных в указанный формат (например, .xlsx). Возвращает идентификатор и начальный статус (PENDING) задачи."
}
]
},
{
"path": "/rest/api/attr/v1/search",
"descriptions": [
{
"method": "POST",
"summary": "Выдает отфильтрованный по наименованию список доступных кастомных атрибутов",
"description": "Выдает отфильтрованный по наименованию список доступных кастомных атрибутов"
}
]
},
{
"path": "/extension/plugin/v2/rest/api/swtr_tms_plugin/v1/link/test_cycle/player",
"descriptions": [
{
"method": "POST",
"summary": "Получение списка прилинкованных тест-кейсов и актуальных прогонов к циклу"
}
]
},
{
"path": "/extension/plugin/v2/rest/api/scrum_board_plugin/v3/sprint/unit/find",
"descriptions": [
{
"method": "POST",
"summary": "Поиск задач в спринте",
"description": "Поиск задач в спринте без вычисления количества записей"
}
]
},
{
"path": "/extension/plugin/v2/rest/api/scrum_board_plugin/v3/sprint/unit/find/composite",
"descriptions": [
{
"method": "POST",
"summary": "Поиск задач в спринте",
"description": "Поиск задач в спринте без вычисления количества записей"
}
]
},
{
"path": "/extension/plugin/v2/rest/api/scrum_board_plugin/v3/backlog/unit/find",
"descriptions": [
{
"method": "POST",
"summary": "Поиск задач в бэклоге пространства",
"description": "Поиск задач в бэклоге пространства без вычисления кол-ва записей"
}
]
},
{
"path": "/extension/plugin/v2/rest/api/scrum_board_plugin/v1/assignee/story-points",
"descriptions": [
{
"method": "POST",
"summary": "Получение статистики относительной сложности по исполнителям и типам wf статусов",
"description": "Информация об относительной сложности юнитов, сгруппированная по пользователям и типам статусов воркфлоу"
}
]
},
{
"path": "/rest/api/validator/v1/event/{validator_code}/put/{validator_event_code}",
"descriptions": [
{
"method": "PATCH",
"summary": "Добавление события для валидатора"
}
]
},
{
"path": "/rest/api/validator/v0/update/{validator_code}",
"descriptions": [
{
"method": "PATCH",
"summary": "Изменение валидатора"
}
]
},
{
"path": "/rest/api/unit/v2/update/{code}",
"descriptions": [
{
"method": "PATCH",
"summary": "Обновляет существующую задачу по его коду"
}
]
},
{
"path": "/rest/api/unit/v1/update/{code}",
"descriptions": [
{
"method": "PATCH",
"summary": "Обновляет существующую задачу по ее коду",
"description": "Обновляет существующую задачу по ее коду"
}
]
},
{
"path": "/rest/api/unit/v1/update/{code}/space",
"descriptions": [
{
"method": "PATCH",
"summary": "Перемещает задачу в пространство",
"description": "Перемещает задачу в пространство"
}
]
},
{
"path": "/rest/api/suit/v1/update/{code}",
"descriptions": [
{
"method": "PATCH",
"summary": "Обновляет тип юнита"
}
]
},
{
"path": "/rest/api/notification/schema/v1/update",
"descriptions": [
{
"method": "PATCH",
"summary": "Обновляет существующую схему нотификаций",
"description": "Обновляет существующую схему нотификаций"
}
]
},
{
"path": "/rest/api/notification/schema/v1/group/change",
"descriptions": [
{
"method": "PATCH",
"summary": "Обновляет группы пользователей, привязанные к схеме нотификаций",
"description": "Обновляет группы пользователей, привязанные к схеме нотификаций"
}
]
},
{
"path": "/rest/api/validator/v1/{validator_code}",
"descriptions": [
{
"method": "GET",
"summary": "Описание валидатора"
}
]
},
{
"path": "/rest/api/unit/v2/{code}",
"descriptions": [
{
"method": "GET",
"summary": "Получение юнита с атрибутами по его коду"
}
]
},
{
"path": "/rest/api/structure/v1/{structure}",
"descriptions": [
{
"method": "GET",
"summary": "Описание структуры"
}
]
},
{
"path": "/rest/api/structure/v1/{structure}/level/{level}",
"descriptions": [
{
"method": "GET",
"summary": "Описание уровня структуры"
}
]
},
{
"path": "/rest/api/notification/schema/v1/{code}",
"descriptions": [
{
"method": "GET",
"summary": "Ищет схему нотификаций по ее коду",
"description": "Ищет схему нотификаций по ее коду"
}
]
},
{
"path": "/rest/api/notification/event/v1",
"descriptions": [
{
"method": "GET",
"summary": "Ищет все события нотификаций",
"description": "Ищет все события нотификаций"
}
]
},
{
"path": "/rest/api/attr/v1/find",
"descriptions": [
{
"method": "GET",
"summary": "Выдает список всех доступных кастомных атрибутов",
"description": "Выдает список всех доступных кастомных атрибутов"
}
]
},
{
"path": "/rest/api/attr/v1/findAll",
"descriptions": [
{
"method": "GET",
"summary": "Выдает список всех доступных атрибутов (базовых, кастомных и вычисляемых)"
}
]
},
{
"path": "/rest/api/validator/v1/event/{validator_code}/delete/{validator_event_code}",
"descriptions": [
{
"method": "DELETE",
"summary": "Удаление события для валидатора"
}
]
}
]
},
{
"path": "openapi.json",
"http_status": 200,
"is_openapi": false
},
{
"path": "swagger.json",
"http_status": 200,
"is_openapi": false
},
{
"path": "swagger-resources",
"http_status": 200,
"is_openapi": false
}
]