TFS 无法完成产品待办事项列表项,因为没有从“已提交”与操作“Microsoft.VSTS.Action.CheckIn”的转换

cvo*_*cvo 3 git tfs tfs-workitem azure-devops

我们有一个本地 TFS 2018 Update 2 实例,并且在此工作流程中遇到了问题:

  • 创建产品待办事项
  • 写代码
  • 创建拉取请求并将产品待办事项与其关联
  • 完成代码审查并将拉取请求标记为已批准
  • 点击“完成”,拉取请求被合并到 master 中。关联的项目应该被标记为完成但不是,而是它们的状态不会改变。

单击“批准”后,我刚刚注意到此黄色错误消息弹出窗口:

VS1640134:无法完成产品待办列表项 10275,因为没有从“已提交”与“Microsoft.VSTS.Actions.Checkin”操作的转换。了解更多

(另外 1 个工作项目将无法完成)

我在错误代码VS1640134上找不到任何内容,我们只是使用常规的敏捷 Scrum 工作项,没有任何添加或自定义字段。

该消息引用了这篇文章:https : //docs.microsoft.com/en-us/vsts/work/customize/reference/automate-field-assignments-state-transition-reason?view=vsts

VSTS 推特支持向我指出了这篇文章:https ://docs.microsoft.com/en-us/vsts/work/work-items/guidance/scrum-process-workflow?toc=%2Fvsts%2Fwork%2Fwork-items% 2Ftoc.json&bc=%2Fvsts%2Fwork%2Fbreadcrumb%2Ftoc.json&view=vsts#track-progress

但两者似乎都没有解释如何解决问题。有谁知道如何解决这个问题?

更新: 忘记这个问题后,它被推回了我的议程。我查看了现在标记为已接受的答案,并且该过程通常有效。我对默认项目进行了以下编辑:

项目积压项目 XML:

        <TRANSITION from="New" to="Done">
          <REASONS>
            <DEFAULTREASON value="Work finished" />
          </REASONS>
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
              <SERVERDEFAULT from="clock" />
            </FIELD>
          </FIELDS>
          <ACTIONS>  
            <ACTION value="microsoft.vsts.actions.checkin"/>  
          </ACTIONS> 
        </TRANSITION>
        <TRANSITION from="Approved" to="Done">
          <REASONS>
            <DEFAULTREASON value="Work finished" />
          </REASONS>
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
              <SERVERDEFAULT from="clock" />
            </FIELD>
          </FIELDS>
          <ACTIONS>  
            <ACTION value="microsoft.vsts.actions.checkin"/>  
          </ACTIONS> 
        </TRANSITION>
        <TRANSITION from="Committed" to="Done">
          <REASONS>
            <DEFAULTREASON value="Work finished" />
          </REASONS>
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
              <SERVERDEFAULT from="clock" />
            </FIELD>
          </FIELDS>
          <ACTIONS>  
            <ACTION value="microsoft.vsts.actions.checkin"/>  
          </ACTIONS> 
        </TRANSITION>
Run Code Online (Sandbox Code Playgroud)

错误 XML:

        <TRANSITION from="New" to="Done">
          <REASONS>
            <DEFAULTREASON value="Work finished" />
          </REASONS>
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
              <SERVERDEFAULT from="clock" />
            </FIELD>
          </FIELDS>
          <ACTIONS>  
            <ACTION value="microsoft.vsts.actions.checkin"/>  
          </ACTIONS> 
        </TRANSITION>
        <TRANSITION from="Approved" to="Done">
          <REASONS>
            <DEFAULTREASON value="Work finished" />
          </REASONS>
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
              <SERVERDEFAULT from="clock" />
            </FIELD>
          </FIELDS>
          <ACTIONS>  
            <ACTION value="microsoft.vsts.actions.checkin"/>  
          </ACTIONS> 
        </TRANSITION>
        <TRANSITION from="Committed" to="Done">
          <REASONS>
            <DEFAULTREASON value="Work finished" />
          </REASONS>
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
              <SERVERDEFAULT from="clock" />
            </FIELD>
          </FIELDS>
          <ACTIONS>  
            <ACTION value="microsoft.vsts.actions.checkin"/>  
          </ACTIONS> 
        </TRANSITION>
Run Code Online (Sandbox Code Playgroud)

Sha*_*zyk 5

根据提供的链接,您需要导出 PBI 的 XML,并且在“从已提交”到另一个状态的转换中,您需要添加以下几行:

 <ACTIONS>  
  <ACTION value="microsoft.vsts.actions.checkin"/>  
 </ACTIONS> 
Run Code Online (Sandbox Code Playgroud)

例如:

 <TRANSITION from="Committed" to="Ready To Build">  
   <REASONS>
     ....
   </REASONS>
      <ACTIONS>  
      <ACTION value="microsoft.vsts.actions.checkin"/>  
      </ACTIONS>  
</TRANSITION>
Run Code Online (Sandbox Code Playgroud)

然后您需要将 XML 文件导入回 TFS。

有关导出/导入的更多信息:单击此处

  • `witadmin exportwitd /collection:https://your-tfs-server.com/tfs/yourcollectionName /p:YourProject /n:"Product Backlog Item" /f:"C:/temp/pbi.xml"` 编辑文件,然后`witadmin importwitd /collection:https://your-tfs-server.com/tfs/yourcollectionName /p:YourProject /f:"C:/temp/pbi.xml"` (2认同)