【问题标题】:TFS 2013 - How to import a global workflow with both "Fields" and "GlobalLists"TFS 2013 - 如何使用“字段”和“全局列表”导入全局工作流
【发布时间】:2014-10-20 22:02:36
【问题描述】:

我正在尝试使用 TFS 的“全局工作流”功能来进行可维护的工作项自定义。

我能找到的只有这两个来自 msdn 的资源:

有两个问题我找不到解决办法:

根据定义,我有一个 globalWorkflow.xml,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<GLOBALWORKFLOW>
<FIELDS>
    <FIELD name="Global Field" refname="Namespace.GlobalField" type="String">
        <REQUIRED />
    </FIELD>
</FIELDS>
<GLOBALLISTS>
    <GLOBALLIST name="Years">
        <LISTITEM value="2014" />
        <LISTITEM value="2015" />
      </GLOBALLIST>
</GLOBALLISTS>  
</GLOBALWORKFLOW>
  1. 我可以导入只有“Fields”标签或只有“GlobalLists”标签的 globalworkflow.xml,但不能同时导入。如果我尝试同时导入两者,如上所示,它会给出一个 xml 验证错误,表明第二个标签不是“GlobalWorkflow”标签的可接受子元素。

    如果我把“GlobalLists”放在第二个,“GlobalLists”是无效的子元素,“Fields”标签如果写成第二个元素是无效的。

  2. 如果导入包含“Fields”标签,则在导入全局工作流后;我可以在 Power Tools 的 WI 字段资源管理器中看到定义的字段,但不能在工作项的定义或任何字段选择组合中看到,只能在工作项字段资源管理器中(不在布局选项卡、工作流选项卡或工作的字段选项卡中)项)。

MSDN 含糊地解释了这个过程:

如果您指定了当前未为团队定义的字段 项目或集合,该字段是在全局创建时创建的 工作流已导入。

我可以假设,全局工作流 xml 仅保存字段,然后您仍然必须在工作项的字段选项卡中定义相同的字段才能在布局选项卡和工作流选项卡中使用它。 TFS 仅防止以相同名称创建另一个字段,并且还实现定义的字段规则。这种逻辑,恕我直言,不太好,但仍然可以接受。

但是该逻辑仍然存在问题,因为如果我导入仅具有全局列表定义的全局工作流,则在全局列表设计器屏幕中看不到定义的全局列表,或者在“allowedvalues”规则选项等组合字段中看不到定义的全局列表。

我正在使用witadmin -importglobalworkflow /collection:"url" /f:"filepath" 命令,虽然我希望我的全局工作流定义可以从我的所有团队项目集合中使用

预期结果 我希望能够导入具有“字段”和“全局列表”元素的全局工作流,并且在导入操作之后,在工作项中我应该能够像使用 Power 工具创建的方式一样看到这些定义。

更新: 1 已解决:一个全局工作流不能同时包含“字段”和“全局列表”元素。 MSDN 没有具体解释,但示例 here 仅包含单独的 xml 文件。

【问题讨论】:

    标签: tfs tfs-workitem tfs-process-template


    【解决方案1】:

    把globalist分离成一个单独的文件,用命令导入

    witadmin importgloballist /collection:"http://MyServer:8080/tfs/DefaultCollection" /f:Directory/globallist.xml
    

    全球主义者参考这里:http://msdn.microsoft.com/en-us/library/ms194977.aspx

    【讨论】:

    • 谢谢,但就像我写的那样,我想使用全局工作流,而不是全局列表。
    • 按照我的描述导入全局列表使其成为全局工作流程的一部分。与您自己的更新一样,您不能同时进行这两项操作。
    • 您的示例用于全局列表导入操作,与全局工作流 afaik 无关。如果出现在任何地方,请附上一篇文章。我知道,我可以使用 globallist,但我正在尝试学习如何使用全局工作流来使用它。
    • 试试看。按照我的建议使用 importgloballist,然后使用 /exportgloballist 开关执行 exportglobalworkflow。
    • 我完全同意。命令和文档都具有误导性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-23
    • 2019-02-26
    • 1970-01-01
    • 2019-06-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多