Azure devops 如何将数组添加为azure devops变量组变量值?
我已经使用azure devops变量组变量来定义我的appsettings属性。但是,我无法将数组用作appsettings属性之一的值 以下是我正在尝试做的截图: 但是它出现在appsettings.json上,如下所示,这会导致500内部服务器错误Azure devops 如何将数组添加为azure devops变量组变量值?,azure-devops,Azure Devops,我已经使用azure devops变量组变量来定义我的appsettings属性。但是,我无法将数组用作appsettings属性之一的值 以下是我正在尝试做的截图: 但是它出现在appsettings.json上,如下所示,这会导致500内部服务器错误值不能为空。参数名称:集合 "AzureAd": { "Instance": "https://login.microsoftonline.com", "Cl
值不能为空。参数名称:集合
"AzureAd": {
"Instance": "https://login.microsoftonline.com",
"ClientId": "",
"TenantId": "",
"Audience": "[ https://api.doesnotexist.com ]"
}
Startup.cs中失败的代码如下:
services.AddAuthentication(o =>
{
o.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
o.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(o =>
{
o.Authority = $"{azureADSettings.Instance}/{azureADSettings.TenantId}/";
o.TokenValidationParameters = new TokenValidationParameters
{
ValidateAudience = true,
ValidAudiences = new List<string>(azureADSettings.Audience),
};
});
services.AddAuthentication(o=>
{
o、 DefaultAuthenticateScheme=JwtBearerDefaults.AuthenticationScheme;
o、 DefaultChallengeScheme=JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(o=>
{
o、 Authority=$“{azureADSettings.Instance}/{azureADSettings.TenantId}/”;
o、 TokenValidationParameters=新的TokenValidationParameters
{
ValidateAudience=true,
validudiences=新列表(azureADSettings.viewer),
};
});
请参阅:
所有变量都存储为字符串,并且是可变的。变量的值可以在管道的不同运行或作业之间更改
在Azure Devops中,默认情况下变量为字符串类型。我们无法改变它
因此,在变量中定义数组时,它会将数组作为字符串传递给appsettings.json文件
要解决此问题,您需要更改为。该参数支持输入数组类型的值
以下是一个例子:
parameters:
- name: 'param'
type: object
default: [123,234,456]
steps:
- ${{ each p in parameters.param }}:
- script: echo ${{ p }}
注意:参数只能在YAML管道中使用。Hi@blogs4t。此票证是否有任何更新?如果答案能给你一些帮助,请随时告诉我。我不是在管道中声明这些变量。我的问题是关于变量组,我不知道如何为appsetting属性声明值数组。Hi@blogs4t。变量组中的变量也是字符串类型。无法在其中定义数组。如果需要使用数组,则需要使用Yaml管道中的参数