为 Azure DevOps 扩展创建配置窗格

Creating configuration pane for Azure DevOps extension

我们为 Azure DevOps (0) 创建了一些管道扩展。

我们正在尝试创建新的扩展,以响应 Azure Boards 工作项的变化。 API 用于与工作项中的更改进行交互的方法相当简单,但我们正在努力配置扩展。

本质上我们需要允许用户在两​​个级别上配置扩展

1) 在 "Organization level"

用户(项目管理员)应该可以将参数配置为 "external system URL" 等。示例如下所示:

2) 在 "Project level"

对于 Azure DevOps 中的每个项目,管理员应该能够配置 "Enable/disable extension" 或 "External UID" 等参数。例如下面的模型:

当扩展对 "Work item saved" 做出反应时,它将查询两个级别的参数以确定要做什么。

我的问题是:我到底要把这些信息保存在哪里?我可以在使用中的模板中添加一些 "custom fields",但由于只能将字段添加到工作项类型中,因此无论如何都不理想。

我在哪里可以通过 API 保存此信息?

PS:我们扩展的源代码可在此处作为 OSS(Apache 许可证)获得:

(0) https://bitbucket.org/projectum/

谢谢:-)

对于 #1,它有点像您可以在管道的服务连接下配置的内容。这是每个项目,而不是组织级别。

这可能更容易在扩展之外进行管理,而只是使用服务挂钩调用一些中间层来完成您想要的。

事实证明,Azure DevOps 有一种存储扩展数据的方法。它可以在 Project Collection 范围和 User 范围内存储数据。

我想我可以用它来存储我需要的数据。我现在需要做的就是弄清楚将用户或管理员用来维护此数据的 UI 放在哪里。

https://docs.microsoft.com/en-us/azure/devops/extend/develop/data-storage?view=vsts

:-)