使用Azure Devops Services,我需要从task.json获取触发发布的azure devops用户ID。
我有一个与Azure API Management服务绑定的数据源。这必须获得基于用户ID的Azure API管理标记。我尝试了不同的方法:
{
"target": "TEST",
"endpointId": "$(ConnectedServiceName)",
"endpointUrl": "{{endpoint.url}}/subscriptions/{{endpoint.subscriptionId}}/resourceGroups/$(ResourceGroupName)/providers/Microsoft.ApiManagement/service/$(APIM)/products?tags=**$(Release.RequestedForId)**&api-version=2019-12-01",
"resultSelector": "jsonpath:$.value[*]",
"resultTemplate": "{\"Value\" : \"{{{id}}}\", \"DisplayValue\" : \"{{{properties.displayName}}}\" }"
},
我也尝试过{{Release.RequestedForId}},但没有用。
我看到了不同的数据源绑定支持资源:
tfs:teamfoundation – TFS内托管的任何微服务(例如Build,Test等) tfs:packaging –包装服务 tfs:feed –提要服务 tfs:rm –发布管理服务 tfs:governance-治理服务 tfs:ems-扩展管理服务
我仅找到了tfs:feed和tfs:teamfoundation的示例。
有没有针对用户的部分?除了Azure Devops Services REST API之外,是否还有其他信息?
中的示例很少,但没有用于用户请求的示例。
是否可以直接在task.json中获取当前的上下文释放变量或azure devops用户ID?
这将是巨大的帮助。
谢谢!
答案 0 :(得分:0)
您犯了个小错误。代替Release.RequestedForId
,请尝试Release.Deployment.RequestedFor
中的Release.Deployment.RequestedForId
Release.Deployment.RequestedFor
的文档说:
触发(开始)身份的身份的显示名称 目前正在进行部署。在TFS 2015中不可用。
示例:Mateo Escobedo
Release.Deployment.RequestedForId
的文档说:
触发(开始)部署的身份标识 目前正在进行中。在TFS 2015中不可用。
例如:2f435d07-769f-4e46-849d-10d1ab9ba6ab
您已经写了here。