git - TFS 无法完成产品待办事项列表项,因为没有从 "Committed"转换为操作 "Microsoft.VSTS.Action.CheckIn"

标签 git tfs azure-devops tfs-workitem

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

  • 创建产品待办事项
  • 编写代码
  • 创建 pull 请求并将产品待办事项项与其相关联
  • 完成代码审查并将 pull 请求标记为已批准
  • 单击“完成”, pull 请求将 merge 到主文件中。关联项应该标记为“完成”,但实际上并未标记为“完成”,而是它们的状态没有改变。

我刚刚注意到在单击“批准”后 pop 这个黄色错误消息:

VS1640134: Cannot complete Product Backlog Item 10275 because there is no transition from 'Committed' with the action "Microsoft.VSTS.Actions.Checkin". Learn more

(1 more work item will not be completed)

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

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

VSTS 推特支持将我指向这篇文章:https://learn.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>

错误 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>

最佳答案

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

 <ACTIONS>  
  <ACTION value="microsoft.vsts.actions.checkin"/>  
 </ACTIONS> 

例如:

 <TRANSITION from="Committed" to="Ready To Build">  
   <REASONS>
     ....
   </REASONS>
      <ACTIONS>  
      <ACTION value="microsoft.vsts.actions.checkin"/>  
      </ACTIONS>  
</TRANSITION>

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

有关导出/导入的更多信息:Click Here

关于git - TFS 无法完成产品待办事项列表项,因为没有从 "Committed"转换为操作 "Microsoft.VSTS.Action.CheckIn",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50935155/

相关文章:

tfs - VS2012返回正常的TFS checkin 窗口?

visual-studio-2010 - 如何查看文件被谁 checkout ?

git - 针对涉及 Azure 数据工厂和 Azure SQL 数据库的项目的 Azure DevOps 建议

git - 回滚到公共(public)仓库中的旧 Git 提交

Git应该显示没有 merge 冲突

git - 在 Windows 7 机器上设置 github ssh

Git 用 url 硬重置

azure - 使用 WebJob 部署时网站未更新

Azure 管道不会从具有单个 azure-pipelines.yml 文件的分支触发

azure-devops - 在 Azure DevOps 拉取请求验证管道中以编程方式访问拉取请求更改?