Azure devops Azure DevOps访问Web扩展中的变量
我需要访问用Html/JavaScript编写的Web扩展的全局变量 扩展清单:Azure devops Azure DevOps访问Web扩展中的变量,azure-devops,Azure Devops,我需要访问用Html/JavaScript编写的Web扩展的全局变量 扩展清单: "targets": [ { "id": "Microsoft.VisualStudio.Services" } ], "contributions": [ { "id": "coverage-web-hub", "type": "ms.vss-web.hub",
"targets": [
{
"id": "Microsoft.VisualStudio.Services"
}
],
"contributions": [
{
"id": "coverage-web-hub",
"type": "ms.vss-web.hub",
"targets": [
"ms.vss-build-web.build-release-hub-group"
],
"properties": {
"name": "Coverage",
"uri": "index.html"
}
}
],
有没有一种方法可以访问全局变量,例如:
- 和
- 或其他API
通常可以与扩展共享变量吗?1。步骤:将作用域添加到扩展清单
"scopes": [
"vso.variablegroups_read",
"vso.variablegroups_manage"
],
2。步骤:获取Azure DevOps URL(在VSS.ready()函数中)
)
3。步骤:通过Id验证并读取变量组(数字,从1开始)
//GET AZURE DEVOPS SERVER URL
var uri = VSS.getWebContext().host.uri
var project = VSS.getWebContext().project.name
var url = uri + project
//AUTHENTIFICATION https://docs.microsoft.com/en-us/azure/devops/extend/develop/auth?view=azure-devops
VSS.require(["VSS/Authentication/Services"],
function (VSS_Auth_Service) {
VSS.getAccessToken().then(function (token) {
//FORMAT THE AUTH HEADER
var authHeader = VSS_Auth_Service.authTokenManager.getAuthorizationHeader(token);
//REQUEST AZURE DEVOPS GLOBAL VARIABLES
var request = new XMLHttpRequest(); //USE 'url' FROM STEP TWO HERE
request.open("GET", url + "/_apis/distributedtask/variablegroups/1?", false); // 1 = ID OF VARIABLE GROUP; false for synchronous request
request.setRequestHeader("Authorization", authHeader)
request.send(null);
var Json = JSON.parse(request.responseText); //GET VARIABLE GROUP AS JSON
var Coverage = Json.variables.Coverage.value //VARIABLE NAMED 'Coverage'
var CoverageHistoryJson = Json.variables.CoverageHistoryJson.value //VARIABLE NAMED 'CoverageHistoryJson'
console.log("RESULT: " + Coverage)
});
});