我有一个任务要调用REST,并在Azure管道模态窗口中将响应显示为下拉列表。如有任何建议或想法,我们将不胜感激。我尝试的一个方法是运行一个powershell脚本,并尝试访问yaml文件的参数部分的输出。[但无法实现它]
hfyxw5xn1#
通常,在运行管道之前设置运行时参数。在管道运行期间不可能动态设置参数。对于您的情况,您可以尝试以下方法之一。
在运行REST API调用并获得其响应后,您可以使用Azure DevOps REST API "Runs - Run Pipeline"触发管道,并将上一个API调用的响应作为Azure DevOps REST API的请求主体中的参数值传递。
{ . . . "templateParameters": { "{parameterName}": "{parameterValue}" }, . . . }
{parameterName}
{parameterValue}
在管道中,可以添加一个阶段作为第一个阶段。在此阶段中,可以运行API调用以获取其响应,并使用事件记录注解"SetVariable"将响应设置为输出变量。
echo "##vso[task.setvariable variable={varName};isoutput=true]{varValue}"
{varName}
{varValue}
在同一个流水线中,将需要使用响应的其他阶段设置为依赖于第一阶段,以便它们可以使用来自第一阶段的输出变量(请参阅此处)。
1条答案
按热度按时间hfyxw5xn1#
通常,在运行管道之前设置运行时参数。在管道运行期间不可能动态设置参数。
对于您的情况,您可以尝试以下方法之一。
尝试通过REST API触发管道并将响应传递给参数。
在运行REST API调用并获得其响应后,您可以使用Azure DevOps REST API "Runs - Run Pipeline"触发管道,并将上一个API调用的响应作为Azure DevOps REST API的请求主体中的参数值传递。
{parameterName}
**替换为要为管道设置的运行时参数的实际名称。{parameterValue}
**替换为实际值(上一个API调用的响应)。在管道运行时将响应传递给管道变量。
在管道中,可以添加一个阶段作为第一个阶段。在此阶段中,可以运行API调用以获取其响应,并使用事件记录注解"SetVariable"将响应设置为输出变量。
{varName}
**替换为您喜欢的实际变量名。{varValue}
**替换为实际值(上一个API调用的响应)。在同一个流水线中,将需要使用响应的其他阶段设置为依赖于第一阶段,以便它们可以使用来自第一阶段的输出变量(请参阅此处)。