以编程方式修改FieldDefinitions

本文关键字:FieldDefinitions 修改 方式 编程 | 更新日期: 2023-09-27 18:09:13

目前在我们的商店中需要能够以编程方式添加/修改/删除WorkItemStore上的FieldDefinitions,而不需要/在搞乱WorkItemType定义之前。这可能吗?我知道我可以得到一个项目上的所有字段,并看到他们,但如何添加新的,或修改现有的?(删除not as important).

过去两天我一直在谷歌搜索,找不到我要找的东西…

现在,这就是我从服务器读取所有字段的方式。

List<FieldDefinition> all_defs = new List<FieldDefinition>();
FieldDefinitionCollection defs = wis.FieldDefinitions;
foreach(FieldDefinition def in defs)
    all_defs.Add(def);

以编程方式修改FieldDefinitions

我可以做一个变通。基本上,在代码中,我能够获得服务器上的所有字段,创建我需要添加或修改的所有字段,然后将一个WIT作为XML导出为单独的字符串。

从那里,我通过比较提取了我需要的新字段,修改了我需要修改的字段(在Xml中),将WIT(在Xml中)的名称更改为临时名称(例如:Missing_fields),然后修改WIT Xml以包括新字段和修改的字段在fields标签内…

然后我在刚刚创建的临时WIT上使用了Import WIT方法…

然后我刷新了API的连接缓存…(这确保API可以访问新的WIT,以便我们可以删除它)

然后我使用DestroyWIT操作包从服务器上销毁临时WIT,这实际上是销毁了WIT本身,但没有销毁字段,因为这些字段是服务器上的一个独立实体。您已经获得了一个FieldDefinition导入和修改工具。

我仍然不能删除,但这并不太糟糕…

相关文章:
  • 没有找到相关文章