TFS流程模板XML设置System.History默认值报错求助
解决TF26062错误:System.History字段不支持DEFAULT规则
错误原因
System.History是TFS/ADO中专门用于记录工作项变更日志和讨论内容的特殊字段,该字段的规则限制明确禁止使用<DEFAULT>规则,这就是触发TF26062错误的核心原因。
正确解决方案
要在状态变更时为System.History添加默认内容,需在工作项状态转换(TRANSITION)节点中使用<APPEND>或<COPY>规则,而非在FIELD定义中结合WHENCHANGED与DEFAULT。
方案1:追加内容(推荐)
使用<APPEND>规则可将指定文本追加到现有历史内容之后,保留原有记录,符合History字段的设计初衷:
<WORKITEMTYPE name="你的工作项类型名称"> <!-- 省略其他配置 --> <TRANSITIONS> <!-- 示例:从New状态转换到Active状态时追加文本 --> <TRANSITION from="New" to="Active"> <REASONS> <REASON value="Investigating"/> </REASONS> <FIELDS> <FIELD refname="System.History"> <APPEND from="value" value="State changed from New to Active"/> </FIELD> </FIELDS> </TRANSITION> <!-- 为其他需要的状态转换重复上述FIELDS配置 --> <TRANSITION from="Active" to="Resolved"> <REASONS> <REASON value="Fixed"/> </REASONS> <FIELDS> <FIELD refname="System.History"> <APPEND from="value" value="State changed from Active to Resolved"/> </FIELD> </FIELDS> </TRANSITION> </TRANSITIONS> <!-- 省略其他配置 --> </WORKITEMTYPE>
方案2:覆盖内容(不推荐)
若需完全替换History字段的内容,可使用<COPY>规则,但会丢失原有历史记录,仅适用于特殊场景:
<FIELD refname="System.History"> <COPY from="value" value="State changed to Resolved"/> </FIELD>
操作步骤
- 导出目标工作项类型的XML定义
- 找到
<TRANSITIONS>节点,为需要的状态转换添加上述FIELDS配置 - 保存修改后的XML文件
- 重新导入工作项类型定义即可完成配置
内容的提问来源于stack exchange,提问作者GKay
相关产品推荐
相关产品推荐

