gpt4 book ai didi

azure-devops - 在自定义 Azure DevOps 任务/扩展中发送对象数组

转载 作者:行者123 更新时间:2023-12-04 04:23:38 24 4
gpt4 key购买 nike

我想为 Azure DevOps 创建一个自定义任务,我希望有一个对象数组作为参数并在 yaml 中像这样使用它:

data:
- field1: "data1"
field2: "data2"
- field1: "data3"
field2: "data4"

但是我没有找到任何适用于这种情况的方法或示例,只有像 string 数组这样的简单数组。我如何将对象列表从 yaml 传递到我的自定义 Azure DevOps 任务?如果需要,请随时向我询问更多详细信息。

编辑:

例如,我想发送一个复杂的对象列表:

data:  # Data should be an array
- object:
file1: "/myDestinationPath"
file2: "/TheFilePathToSend"
override: true
- object:
file1: "/myDestinationPath2"
file2: "/TheFilePathToSend2"
override: false
...

然后我希望加载它,比如:

let dataArray = task.getPathInput('data', true);

其中dataArray可以是一个简单的JSON数组,方便以后管理。

最佳答案

Fandro,一个建议可能是改变您组织参数的方式并使用 taskgetDelimitedInput 函数。

假设您使用的是 Azure pipeline task lib in TypeScript并熟悉 Build task creation .

第 1 步)在 task.json 文件中使用分隔符(例如 | )定义变量。

    dataOrigin: "/myDestinationPath|/myDestinationPath2"
dataDestination: "/TheFilePathToSend|/TheFilePathToSend2"
dataOverwriteCriteria: "true|false"

第 2 步)编辑您的任务文件(例如 index.ts ),您可以使用 taskgetDelimitedInput ,它返回字符串数组。

第 3 步)操纵您的值(value)观:

let dataOriginArray = task.taskgetDelimitedInput('dataOrigin', "|");
let dataDestinationArray = task.taskgetDelimitedInput('dataDestination', "|");
let dataOverwriteCriteriaArray = task.taskgetDelimitedInput('dataOverwriteCriteria', "|");

关于azure-devops - 在自定义 Azure DevOps 任务/扩展中发送对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60993631/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com