Я разработчик частного настраиваемого расширения, которое можно использовать в Azure Devops.
У меня есть проблема с выводом task.json в нашем расширении, и мне интересно, можете ли вы помочь прояснить / решить проблему.
1-Что работает.
Я создал выпуск с двумя шагами: первый шаг, выполнение моего расширения Второй шаг, получение выходной переменной (извините за название задачи, я нахожусь в режиме тестирования)
Наш task.json выполняет скрипт с именем vm.ps1
В этом скрипте vm.ps1 у меня есть фрагмент кода для установки значения переменной $ VirtualMachineId:
Это значение затем извлекается на втором этапе выпуска, встроенном скрипте Azure PowerShell:
Результат отображается в журнале:
Моя ценность восстановлена, цель достигнута.
2-Что не работает: реализовать в task.json
Теперь, если я хочу полностью реализовать эту переменную в продукте, мне нужно добавить ее в раздел вывода нашего task.json:
Таким образом, пользовательский интерфейс нашего интерфейса будет отображаться в разделе вывода, как в примере ниже (не беспокойтесь, если вы не видите VirtualMachineId на изображении ниже, это изображение-иллюстрация): </ a >
Я запускаю свой релиз в другой раз, как я вижу в журнале выполнения расширения, для переменной установлено соответствующее значение.
Затем выполняется встроенный скрипт Azure со значением пусто:
Чтобы возобновить: если я объявлю переменную в разделе вывода задачи json, я не смогу получить значение или значение будет пустым. Кто-нибудь здесь имеет представление о том, что я делаю не так?
Спасибо, что нашли время, чтобы прочитать меня.
Вот пример того, как передавать переменные между задачами (в
adhoc scripting
):Таким образом, ваша переменная доступна во всех задачах при выполнении одного и того же задания.
Выходные переменные предназначены для передачи значения между задачами. Если вам нужно передать переменную между
jobs
, просто используйтеdependencies
сoutput variables
.Здесь я сделал образец этапа, который:
A
&B
testvar
Если это не решит проблему … Это означает, что я не понимаю ваш вариант использования. Не могли бы вы рассказать подробнее?
Здесь вы можете увидеть полезную документацию.
GitHub Notes Microsoft Notes
Спасибо, что нашли время дать свой отзыв. Я могу установить переменную output и отображать их. Проблема в том, что я устанавливаю их как выходные данные в task.json моего расширения, после чего они пусты Другими словами, и если я правильно вас понял, вы воспроизвели часть моего вопроса Что работает — person BBM; 24.04.2020
Чтобы получить значение выходной переменной задачи. Вам необходимо задать ссылочное имя для следующей задачи, чтобы ссылаться на выходную переменную.
Например: задача Загрузить защищенный файл имеет выходную переменную (
secureFilePath
). Для того, чтобы следующая задача сослаться на его выходную переменную. Необходимо указать ссылочное имя (например,myFile
).Тогда в следующих задачах. Вы можете обратиться к выходной переменной (
secureFilePath
) с помощью$(myFile.secureFilePath)
Надеюсь, что это поможет!
Здравствуйте, спасибо за вашу помощь. Один из моих коллег указал мне на это направление. Вы правильно ответили на мой вопрос. — person BBM; 28.04.2020