XL-Deploy: Как получить информацию о шаге Exection Plan?
В TaskBlockService есть GET
вызов извлекает информацию о данном шаге /tasks/v2/{taskid}/step/{stepPath}
,
Вопрос Как указать значение для stepPath?
2 ответа
Во-первых, давайте посмотрим, какие блоки у нас внутри данной задачи.
Предположим, b9f5b44c-1754-4689-9129-e79376268d21
это идентификатор задачи. Ниже приведен вызов REST. + Изменить localhost:4516
на свой собственный хост XLD: порт.
http://localhost:4516/deployit/tasks/v2/b9f5b44c-1754-4689-9129-e79376268d21/
Он вернет подробности об этой самой задаче. Я только вставляю соответствующую часть, т.е. список блоков в этой задаче.
<block id="0" state="FAILED" description="" hasSteps="true" root="true">
<block id="0_1" state="FAILED" description="Deploy" hasSteps="true" phase="true">
<block id="0_1_1" state="FAILED" description="Deploy MySQL 1.0 on MySQL" hasSteps="true"/></block>
<block id="0_2" state="PENDING" description="" hasSteps="true" phase="true">
<block id="0_2_1" state="PENDING" description="Register changes for MySQL" hasSteps="true"/></block>
</block>
Блок ID 0 означает родительский блок. Внутри него мы видим несколько дочерних блоков, а именно. 0_1 и 0_2. И внутри этих дочерних блоков есть 2 шага, а именно. 0_1_1 & 0_1_2.
Итак, чтобы увидеть подробности об этих шагах, введите префикс step/0_1_1_1
выше выше вызов.
Обратите внимание, выше, что я указал 0_1_1_1, который является stepPath
внутри 0_1_1. Это дает вывод, аналогичный приведенному ниже.
<step failures="0" state="DONE">
<description>Run 01-CreateTable.sql on MySQLClient</description>
<startDate>2017-04-26T05:26:30.044+0000</startDate>
<completionDate>2017-04-26T05:26:32.568+0000</completionDate>
<log>Uploading artifact [/tmp/ot-20170426T072630452.1/Archive.zip]
</step>
Точно так же, если я заменю step/0_1_1_1
с step/0_1_1_2
в приведенном выше вызове REST, я вижу детали других stepPath
т.е. 0_1_1_2
,
<step failures="1" state="FAILED">
<description>Run 02-CreateUser.sql on MySQLClient</description>
<startDate>2017-04-26T05:26:32.618+0000</startDate>
<completionDate>2017-04-26T05:26:34.424+0000</completionDate>
<log>Uploading artifact [/tmp/ot-20170426T072632621.1/Archive.zip]
</step>
Надеюсь, это проясняет, как указать значение для stepPath
в XL Deploy.
Подход заключается в том, чтобы сначала получить блоки задач:
curl -uadmin:password http://localhost:4516/deployit/tasks/v2/28830810-5104-4ab9-9826-22f66dee265d
Оттуда вы можете использовать идентификатор блока, чтобы перечислить шаги для определенного блока:
curl -uadmin:password http://local6/deployit/tasks/v2/28830810-5104-4ab9-9826-22f66dee265d/block/0_1_1/step
Там будут перечислены шаги, и вы можете использовать порядок этого списка для определения пути шага, т.е. шаги нумеруются внутри блока, начиная с 1.
Таким образом, первый шаг в блоке 0_1_1 имеет путь 0_1_1_1.