Как сбросить значение входной переменной Azure DevOps? - PullRequest
0 голосов
/ 17 декабря 2018

Как сбросить значение переменной Azure DevOps Get-VstsInput?

Я запускаю сценарий PowerShell из пользовательской задачи, чтобы проверить, работает ли он должным образом ...

Invoke-VstsTaskScript -ScriptBlock { . ..\buildAndReleaseTask\main.ps1 }

При первом запуске скрипта я получаю подсказки для различных значений.Сценарий получает ввод с помощью функции SDK Get-VstsInput .

Но при последующих запусках сценария значения уже установлены.Однако я не вижу никаких указаний в документах о том, как можно сбросить значение.

Код начинается с получения необходимых значений, которые пользователь заполнил в диалоговом окне конвейера Azure DevOps ...

$serverName= Get-VstsInput -Name "serverName" -Require

Я проверил переменные среды, но там ничего нет.

Единственное решение, которое я нашел, - закрыть консоль PowerShell.

1 Ответ

0 голосов
/ 18 декабря 2018

Из документов:

Для удобства интерактивного тестирования модуль запросит неопределенные переменные задачи и входные данные.Например, Get-VstsTaskInput -Name SomeVariable запросит значение, если переменная задачи не определена.Если введено значение, оно будет сохранено, чтобы последующие вызовы возвращали то же значение.Переменные задачи хранятся как переменные среды. Входы и конечные точки хранятся внутри модуля VstsTaskSdk и могут быть очищены путем удаления и повторного импорта модуля.

Таким образом, вызов Remove-Module VstsTaskSdk должен помочь.

Вместо того чтобы полагаться на интерактивный режим, я склонен устанавливать свои переменные и входные данные через переменные окружения, что упрощает их изменение и работает одинаково между обработчиками Node и Powershell:

# Task variable 'Build.SourcesDirectory':
$env:BUILD_SOURCESDIRECTORY = [...]

# Input 'MyInput':
$env:INPUT_MYINPUT = [...]

# Endpoint:
$env:INPUT_MYENDPOINT = 'EP1'
$env:ENDPOINT_URL_EP1 = 'https://[...]'
$env:ENDPOINT_AUTH_EP1 = '{ "Parameters": { "UserName": "Some user", "Password": "Some password" }, "Scheme": "Some scheme" }'
$env:ENDPOINT_DATA_EP1 = '{ "Key1": "Value1", "Key2": "Value2" }'

См. Также:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...