在 C# 中读取 AzureDevOps 管道变量

时间:2021-02-15 14:01:55

标签: .net-core azure-devops console-application azure-pipelines

我需要开发一个 C# .NetCore 控制台应用程序来访问我的 DevOps 帐户,选择一个版本并读取管道变量中的所有变量[enter image description here

谁能给我举个例子?

3 个答案:

答案 0 :(得分:0)

由于您使用的是流水线变量,我建议您可以使用 Replace Tokens extension 中的替换令牌任务。

这是一个例子:

appsettings.json:使用此格式:#{pipelinevariablename}# 设置变量。

{
  "Logging": {
    "LogLevel": {
      "Default": "#{logvariablename}#"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "ExamContext": "#{stringvariablename}#"
  }
}

管道变量:设置目标变量

enter image description here

替换令牌任务:选择json文件

enter image description here

运行管道时,管道变量会自动替换 appsettings.json 文件中的参数。

答案 1 :(得分:0)

找到了使用 REST API 从 Azure DevOps 读取变量的解决方案。

https://docs.microsoft.com/en-us/rest/api/azure/devops/?view=azure-devops-rest-6.1

答案 2 :(得分:-1)

不用担心!

要将管道变量应用于应用程序配置,您需要在管道中使用文件转换任务并将其配置为指向 中的配置 JSON 文件>目标文件

Azure DevOps - File Transform Example

此任务要做的是使用与管道关联的变量来替换 JSON 配置中的值。

使用文件转换时的一些注意事项:

  • 它只能执行替换操作,不能添加到您的配置中。因此,请确保为您要在 JSON 文件中替换的每个值设置占位符。
  • 要访问 JSON 中的嵌套值,您需要在命名约定中使用句点。例如,在您的情况下,您需要将 ConnectionStrings:StorageAccountLogs 更改为 **ConnectionStrings.StorageAccountLogs" ** 以正确执行变量替换。