Targetprocess
Ноутбуки, используемые в примере:
В данной статье рассматривается пример получения данных с системы Targetprocess https://www.targetprocess.com. Targetprocess - очень мощная и сложная система со своей встроенной аналитикой, поэтому здесь будет только маленький кусочек, а именно получение реквестов с типом “ошибка” и информации по ним. Ниже пример таблицы на выходе, которая будет загружаться в платформу.
Здесь не рассматривается:
Данные будут забираться с Targetprocess вручную. Для регулярной автоматический выгрузки необходимо настроить планировщик Chronicle.
Для дальнейшей загрузки в платформу можно воспользоваться стандартными средствами в платформе: “создание загрузчика” и “планы загрузки”. Всё описано в разделе документации (ссылка для версии 2.17):
https://visiology-doc.atlassian.net/wiki/pages/createpage.action?spaceKey=v17&title=%D0%97%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D0%B8%20%D1%84%D0%BE%D1%80%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B%20%D0%B2%20%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9%20%D0%B1%D0%B0%D0%B7%D0%B5%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20ViQubeПодробности работы подключенных Python библиотек. Это необходимо изучать отдельно.
Сначала необходимо внимательно ознакомиться с описанием работы библиотеки python для Targetprocess :https://github.com/magicjohnson/targetprocess-client , а также с API Targetprocess https://dev.targetprocess.com/docs/rest-getting-started.
Теперь можно приступать к работе в JupyterLab.
Создаем новый ноутбук.
Первым блоком подключаем все необходимые нам для работы Python библиотеки:
import petl as etl from targetprocess.api import TargetProcessAPIClient from targetprocess.serializers import TargetProcessSerializer
Вторым блоком подключаемся к Targetprocess , используя адрес своего портала, логин и пароль.
tp = TargetProcessAPIClient(api_url='https://name.tpondemand.com/api/v1/', user='user@site.com', password='123')
Получаем нужные нам данные по релизам и второй строчкой сразу вытаскиваем из них список, содержащий данные непосредственно по релизам.
request_json = tp.get_collection(collection="Release", take = 1000,include="[Name,StartDate,EndDate,Project]" ) ListJson = TargetProcessSerializer.deserialize(request_json)
В следующих строках:
формируем таблицу petl из списка,
создаем новый столбец “Type” из данных столбца “Project”,
удаляем столбец “Project”,
Убираем все ненужные нам данные по полям “Type” и “Priority Backlog”.
После преобразование данных по релизам с помощью petl снова кладем их в список.
Получаем нужные нам данные по реквестам и второй строчкой сразу вытаскиваем из них список, содержащий данные непосредственно по ним.
В следующих строках:
формируем таблицу реквестов petl из списка реквестов,
создаем новый столбец “Type” из данных столбца “RequestType”,
удаляем столбец “RequestType”,
оставляем только записи с типом “Ошибка”.
Добавляем в таблицу по реквестам Rqtable4 новое поле и вносим туда соответствующий релиз. После приводим название релиза к конечному виду.
Экспортируем в Excel.
Полученные файлы можно брать и загружать в платформу через стандартный загрузчик. На этом работа в ViXtract завершена.