【发布时间】:2021-09-06 19:57:57
【问题描述】:
我正在使用 TypeScript 为 Azure 管道创建自定义任务。
我已经定义了一个filePath 输入:
{
"name": "myFile",
"label": "file to read",
"type": "filePath",
"required": true,
"groupName": "files",
"helpMarkDown": "file to read",
"defaultValue": "",
"visibleRule": "getFile = true"
},
用户应该能够在任务中定义未知数量的路径。
-
有没有办法以某种方式在任务中动态生成输入,如果用户浏览路径,gui 将呈现另一个
filePath输入?如果有这样的选项,我怎样才能遍历它们并将所有文件下载到管道? -
替代 1 - 我可以有一个简单的字符串输入,我在其中指示用户输入多个路径。在这种情况下,用户如何在没有
filePath输入给您的浏览按钮的帮助下提取 repo 中文件的路径?
【问题讨论】:
-
一般而言,您会将文本框设置为多行,然后使用通配符搜索支持。 github.com/microsoft/azure-devops-extension-tasks/blob/main/… 然后使用分隔输入:github.com/microsoft/azure-devops-extension-tasks/blob/main/… 并可选择添加通配符支持:github.com/microsoft/azure-devops-extension-tasks/blob/main/…
-
@jessehouwing 多行和分隔输入正是我的目标,但我不太了解通配符的最后一部分..你能详细说明一下吗?另外,我不确定用户应该在管道中提供什么路径.. 是否有一个特殊的文件夹代表 repo 的根文件夹?例如,如果他在 repo 的根目录中有一个文件“myfile.yaml”,他需要输入的路径是什么?
-
您的任务可以在其 task.json github.com/jessehouwing/azure-pipelines-tfvc-tasks/blob/main/… 中指定一个根目录,默认情况下,该路径是相对于该目录的。如果用户输入绝对路径,则 wokingdirectory 前缀将被忽略。
-
@jessehouwing 如果您可能想将所有内容总结为一个答案,其中包括您向我展示的所有内容,我会接受它
-
如承诺的那样被接受了
标签: typescript azure-devops azure-pipelines azure-pipelines-build-task azure-pipelines-tasks