为Azure DevOps扩展创建配置窗格

时间:2019-01-09 13:54:08

标签: azure-devops azure-devops-extensions

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

我们正在尝试创建新的扩展,以对Azure板的工作项中的更改做出反应。用于与工作项中的更改进行交互的API相当简单,但是我们正在努力扩展的配置。

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

1)在“组织级别”上

用户(项目管理员)应该可以将参数配置为“外部系统URL”等。例如下面的模型所示:

enter image description here

2)在“项目级别”

对于Azure DevOps中的每个项目,管理员都应该能够配置诸如“启用/禁用扩展名”或“外部UID”等参数。例如,下面的样机如下所示:

Organization level

当扩展程序对“保存的工作项”做出反应时,它将在两个级别上查询参数以弄清楚该怎么做。

我的问题是:该信息该保存在哪里?我可以在使用的模板中添加许多“自定义字段”,但是由于只能将字段添加到工作项类型中,因此,以任何方式,它都不是理想的选择。

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

PS:我们的扩展程序的源代码可通过OSS(Apache许可证)在此处获得:

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

谢谢:-)

2 个答案:

答案 0 :(得分:1)

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

enter image description here

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

答案 1 :(得分:1)

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

我想我将能够使用它来存储所需的数据。现在,我只需要弄清楚用户或管理员将用来维护此数据的UI放在哪里。

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

:-)