Azure devops 如何将数组添加为azure devops变量组变量值?

Azure devops 如何将数组添加为azure devops变量组变量值?,azure-devops,Azure Devops,我已经使用azure devops变量组变量来定义我的appsettings属性。但是,我无法将数组用作appsettings属性之一的值 以下是我正在尝试做的截图: 但是它出现在appsettings.json上,如下所示,这会导致500内部服务器错误值不能为空。参数名称:集合 "AzureAd": { "Instance": "https://login.microsoftonline.com", "Cl

我已经使用azure devops变量组变量来定义我的appsettings属性。但是,我无法将数组用作appsettings属性之一的值

以下是我正在尝试做的截图:

但是它出现在appsettings.json上,如下所示,这会导致500内部服务器错误
值不能为空。参数名称:集合

"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管道中的参数