我已经定义了一个通用类型的服务连接,在Azure中称为“DowntimeApiKeyGen”。apikey的加密值保存在“Password/Token Key”下。我如何在代理阶段下从powershell-task中的环境变量访问此apikey的值?我试过各种各样的呼叫,比如跟踪,都没有成功。x1c 0d1x我认为,调用变量有问题。有人有想法,如何解决这个问题?
l7wslrjt1#
在Azure中,使用Azure DevOps REST API从环境变量访问服务连接。
yhxst69z2#
我相信你在azure devops中错误地解释了通用服务连接的概念。用户名和密码/令牌密钥需要连接到您的服务,该服务由您在服务器URL字段中放置的URL托管,同时在项目设置下创建通用服务连接。它不应该为您存储环境变量。从您的屏幕截图来看,看起来你正在使用经典管道而不是基于YAML的管道。你尝试配置的powershell任务不允许你添加服务连接。但是Azure Powershell任务将允许你这样做。但是对于您的需求,您所需要做的就是在Variables选项卡下的Tasks旁边添加API keys/secrets。这应该可以解决您的问题。x1c 0d1x的数据
gjmwrych3#
在“Variables”选项卡下添加API键的解决方案,无论是在管道变量还是变量组中,都是有效的,我在发布我的问题之前已经意识到了这一点。然而,在这种方法中,它需要为项目中的每个范围单独定义API键。因此,将API密钥建立为服务连接不仅节省了时间和精力,而且在涉及到编辑或改变它时特别有利。通过这种设置,修改只需要在一个中心位置进行,而不是在保存在管道变量或变量组中的每个变量中进行。最近几天,我幸运地发现了一种方法,它是这样的:1.在代理阶段中添加“Authenticated PowerShell”任务x1c 0d1x1.然后从服务列表中选择所需的服务连接1.最后像往常一样填写剩余的细节。就是这样!
3条答案
按热度按时间l7wslrjt1#
在Azure中,使用Azure DevOps REST API从环境变量访问服务连接。
yhxst69z2#
我相信你在azure devops中错误地解释了通用服务连接的概念。用户名和密码/令牌密钥需要连接到您的服务,该服务由您在服务器URL字段中放置的URL托管,同时在项目设置下创建通用服务连接。它不应该为您存储环境变量。从您的屏幕截图来看,看起来你正在使用经典管道而不是基于YAML的管道。你尝试配置的powershell任务不允许你添加服务连接。但是Azure Powershell任务将允许你这样做。
但是对于您的需求,您所需要做的就是在Variables选项卡下的Tasks旁边添加API keys/secrets。这应该可以解决您的问题。
x1c 0d1x的数据
gjmwrych3#
在“Variables”选项卡下添加API键的解决方案,无论是在管道变量还是变量组中,都是有效的,我在发布我的问题之前已经意识到了这一点。然而,在这种方法中,它需要为项目中的每个范围单独定义API键。因此,将API密钥建立为服务连接不仅节省了时间和精力,而且在涉及到编辑或改变它时特别有利。通过这种设置,修改只需要在一个中心位置进行,而不是在保存在管道变量或变量组中的每个变量中进行。
最近几天,我幸运地发现了一种方法,它是这样的:
1.在代理阶段中添加“Authenticated PowerShell”任务x1c 0d1x
1.然后从服务列表
中选择所需的服务连接
1.最后像往常一样填写剩余的细节。
就是这样!