Inserting back Microsoft.VSTS.Actions.Checkin action doesn't show the Resolve option in Check-in

时间:2016-04-28 23:07:32

标签: tfs

When I try to do a check-in in Visual Studio 2013 (TFS 2013 connected) and relate to a Bug type Work Item, the Resolve action doesn't appear as a option (only Associate option appears). I already checked the bug Work item workflow from Tools/Process Editor/Work Item Types/Open WIT from Server (in Visual Studio) and the states match with the selected bug workitem that i try to relate. The action Microsoft.VSTS.Actions.Checkin is in the transition between this states. Still, the Resolve action doesn't appear. When I try to relate to a Task type Work Item both options in check-in appear: Resolve and Associate. To do a test, I edit the Task Work Item type workflow and remove the Microsoft.VSTS.Actions.Checkin action in the transition related to the states that I try to test. The result was expected: the Resolve option in the check-in is not showing anymore, only associate. The problem is when I inserted back the Microsoft.VSTS.Actions.Checkin action the Resolve option does not appear back as well.

<?xml version="1.0" encoding="utf-8"?>
<witd:WITD application="Work item type editor" version="1.0"       xmlns:witd="http://schemas.microsoft.com/VisualStudio/2008/workitemtracking/type  def">
   <WORKITEMTYPE name="Task">
        <DESCRIPTION>Tracks work that needs to be done.</DESCRIPTION>
    <FIELDS>
      <FIELD name="Iteration Path" refname="System.IterationPath" type="TreePath" reportable="dimension" />
      <FIELD name="Iteration ID" refname="System.IterationId" type="Integer" />
      <FIELD name="External Link Count" refname="System.ExternalLinkCount" type="Integer" />
      <FIELD name="Team Project" refname="System.TeamProject" type="String" reportable="dimension" />
      <FIELD name="Hyperlink Count" refname="System.HyperLinkCount" type="Integer" />
      <FIELD name="Attached File Count" refname="System.AttachedFileCount" type="Integer" />
      <FIELD name="Node Name" refname="System.NodeName" type="String" />
      <FIELD name="Area Path" refname="System.AreaPath" type="TreePath" reportable="dimension" />
      <FIELD name="Revised Date" refname="System.RevisedDate" type="DateTime" reportable="detail" />
      <FIELD name="Changed Date" refname="System.ChangedDate" type="DateTime" reportable="dimension" />
      <FIELD name="ID" refname="System.Id" type="Integer" reportable="dimension" />
      <FIELD name="Area ID" refname="System.AreaId" type="Integer" />
      <FIELD name="Authorized As" refname="System.AuthorizedAs" type="String" syncnamechanges="true" />
      <FIELD name="Title" refname="System.Title" type="String" reportable="dimension">
        <REQUIRED />
      </FIELD>
      <FIELD name="State" refname="System.State" type="String" reportable="dimension" />
      <FIELD name="Authorized Date" refname="System.AuthorizedDate" type="DateTime" />
      <FIELD name="Watermark" refname="System.Watermark" type="Integer" />
      <FIELD name="Rev" refname="System.Rev" type="Integer" reportable="dimension" />
      <FIELD name="Changed By" refname="System.ChangedBy" type="String" syncnamechanges="true" reportable="dimension" />
      <FIELD name="Reason" refname="System.Reason" type="String" reportable="dimension" />
      <FIELD name="Assigned To" refname="System.AssignedTo" type="String" syncnamechanges="true" reportable="dimension">
        <ALLOWEXISTINGVALUE />
        <VALIDUSER />
      </FIELD>
      <FIELD name="Work Item Type" refname="System.WorkItemType" type="String" reportable="dimension" />
      <FIELD name="Created Date" refname="System.CreatedDate" type="DateTime" reportable="dimension" />
      <FIELD name="Created By" refname="System.CreatedBy" type="String" syncnamechanges="true" reportable="dimension" />
      <FIELD name="Description" refname="System.Description" type="HTML" />
      <FIELD name="History" refname="System.History" type="History" />
      <FIELD name="Related Link Count" refname="System.RelatedLinkCount" type="Integer" />
      <FIELD name="Tags" refname="System.Tags" type="PlainText" />
      <FIELD name="Remaining Work" refname="Microsoft.VSTS.Scheduling.RemainingWork" type="Double" reportable="measure" formula="sum">
        <HELPTEXT>Remaining hours to complete task</HELPTEXT>
      </FIELD>
      <FIELD name="Backlog Priority" refname="Microsoft.VSTS.Common.BacklogPriority" type="Double" reportable="detail" />
      <FIELD name="Activity" refname="Microsoft.VSTS.Common.Activity" type="String" reportable="dimension">
        <SUGGESTEDVALUES expanditems="true">
          <LISTITEM value="Development" />
          <LISTITEM value="Testing" />
          <LISTITEM value="Requirements" />
          <LISTITEM value="Design" />
          <LISTITEM value="Deployment" />
          <LISTITEM value="Documentation" />
        </SUGGESTEDVALUES>
        <DEFAULT from="value" value="Deployment" />
      </FIELD>
      <FIELD name="Integration Build" refname="Microsoft.VSTS.Build.IntegrationBuild" type="String" reportable="dimension">
        <SUGGESTEDVALUES expanditems="true">
          <LISTITEM value="&lt;None&gt;" />
        </SUGGESTEDVALUES>
        <SUGGESTEDVALUES expanditems="true" filteritems="excludegroups">
          <GLOBALLIST name="Builds - iLang" />
        </SUGGESTEDVALUES>
      </FIELD>
      <FIELD name="Blocked" refname="Microsoft.VSTS.CMMI.Blocked" type="String" reportable="dimension">
        <ALLOWEDVALUES expanditems="true">
          <LISTITEM value="Yes" />
        </ALLOWEDVALUES>
      </FIELD>
      <FIELD name="Description HTML" refname="Microsoft.VSTS.Common.DescriptionHtml" type="HTML" />
      <FIELD name="Estimated" refname="iLang.Task.Estimated" type="Integer">
        <HELPTEXT>Estimated hours to complete task</HELPTEXT>
      </FIELD>
      <FIELD name="Estimate" refname="iLang.Task.Estimate" type="Double">
        <REQUIRED />
      </FIELD>
    </FIELDS>
    <WORKFLOW>
      <STATES>
        <STATE value="Done">
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.CMMI.Blocked">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Scheduling.RemainingWork">
              <EMPTY />
            </FIELD>
          </FIELDS>
        </STATE>
        <STATE value="Removed">
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.CMMI.Blocked">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Scheduling.RemainingWork">
              <EMPTY />
            </FIELD>
          </FIELDS>
        </STATE>
        <STATE value="To Do" />
        <STATE value="In Progress" />
      </STATES>
      <TRANSITIONS>
        <TRANSITION from="To Do" to="In Progress">
          <REASONS>
            <DEFAULTREASON value="Work started" />
          </REASONS>
          <ACTIONS>
            <ACTION value="Microsoft.VSTS.Actions.CheckIn" />
            <ACTION value="Microsoft.VSTS.Actions.StartWork" />
          </ACTIONS>
        </TRANSITION>
        <TRANSITION from="In Progress" to="Done">
          <REASONS>
            <DEFAULTREASON value="Work finished" />
          </REASONS>
          <ACTIONS>
            <ACTION value="Microsoft.VSTS.Actions.Checkin" />
          </ACTIONS>
        </TRANSITION>
        <TRANSITION from="" to="To Do">
          <REASONS>
            <DEFAULTREASON value="New task" />
          </REASONS>
        </TRANSITION>
        <TRANSITION from="To Do" to="Removed">
          <REASONS>
            <DEFAULTREASON value="Removed from the backlog" />
          </REASONS>
        </TRANSITION>
        <TRANSITION from="In Progress" to="Removed">
          <REASONS>
            <DEFAULTREASON value="Removed from the backlog" />
          </REASONS>
        </TRANSITION>
        <TRANSITION from="Done" to="In Progress">
          <REASONS>
            <DEFAULTREASON value="Additional work found" />
          </REASONS>
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.Scheduling.RemainingWork">
              <REQUIRED />
            </FIELD>
          </FIELDS>
        </TRANSITION>
        <TRANSITION from="In Progress" to="To Do">
          <REASONS>
            <DEFAULTREASON value="Work stopped" />
          </REASONS>
          <ACTIONS>
            <ACTION value="Microsoft.VSTS.Actions.StopWork" />
          </ACTIONS>
        </TRANSITION>
      </TRANSITIONS>
    </WORKFLOW>
    <FORM>
      <Layout>
        <Group>
          <Column PercentWidth="100">
            <Control FieldName="System.Title" Type="FieldControl" Label="&amp;Title:" LabelPosition="Left" />
            <Control FieldName="System.IterationPath" Type="WorkItemClassificationControl" Label="Ite&amp;ration:" LabelPosition="Left" />
          </Column>
        </Group>
        <Group Label="">
          <Column PercentWidth="50">
            <Group Label="Status">
              <Column PercentWidth="100">
                <Control FieldName="System.AssignedTo" Type="FieldControl" Label="Assi&amp;gned To:" LabelPosition="Left" />
                <Control FieldName="System.State" Type="FieldControl" Label="&amp;State:" LabelPosition="Left" />
                <Control FieldName="System.Reason" Type="FieldControl" Label="Reason:" LabelPosition="Left" ReadOnly="True" />
                <Control FieldName="Microsoft.VSTS.CMMI.Blocked" Type="FieldControl" Label="Blocked:" LabelPosition="Left" />
              </Column>
            </Group>
          </Column>
          <Column PercentWidth="50">
            <Group Label="Details">
              <Column PercentWidth="100">
                <Control FieldName="iLang.Task.Estimate" Type="FieldControl" Label="Estimate:" LabelPosition="Left" />
                <Control FieldName="Microsoft.VSTS.Scheduling.RemainingWork" Type="FieldControl" Label="Remaining Work:" LabelPosition="Left" />
                <Control FieldName="Microsoft.VSTS.Common.Activity" Type="FieldControl" Label="Activity:" LabelPosition="Left" />
                <Control FieldName="System.AreaPath" Type="WorkItemClassificationControl" Label="Area:" LabelPosition="Left" />
              </Column>
            </Group>
          </Column>
        </Group>
        <Group>
          <Column PercentWidth="50">
            <TabGroup>
              <Tab Label="Description">
                <Control FieldName="Microsoft.VSTS.Common.DescriptionHtml" Type="HtmlFieldControl" Label="" LabelPosition="Top" Dock="Fill" />
              </Tab>
            </TabGroup>
          </Column>
          <Column PercentWidth="50">
            <TabGroup>
              <Tab Label="History">
                <Control FieldName="System.History" Type="WorkItemLogControl" Label="" LabelPosition="Top" Dock="Fill" />
              </Tab>
              <Tab Label="Links">
                <Control Type="LinksControl" Label="" LabelPosition="Top" Name="GeneralLinks">
                  <LinksControlOptions>
                    <LinkColumns>
                      <LinkColumn RefName="System.Id" />
                      <LinkColumn RefName="System.WorkItemType" />
                      <LinkColumn RefName="System.Title" />
                      <LinkColumn RefName="System.AssignedTo" />
                      <LinkColumn RefName="System.State" />
                      <LinkColumn LinkAttribute="System.Links.Comment" />
                    </LinkColumns>
                    <WorkItemLinkFilters FilterType="includeAll" />
                    <ExternalLinkFilters FilterType="includeAll" />
                    <WorkItemTypeFilters FilterType="includeAll" />
                  </LinksControlOptions>
                </Control>
              </Tab>
              <Tab Label="Attachments">
                <Control Type="AttachmentsControl" Label="" LabelPosition="Top" />
              </Tab>
            </TabGroup>
          </Column>
        </Group>
      </Layout>
    </FORM>
  </WORKITEMTYPE>
</witd:WITD>

1 个答案:

答案 0 :(得分:0)

删除Microsoft.VSTS.Actions.Checkin操作后,

是。现在,当您添加相关工作项时,唯一可用的选项是Associate。

插回此操作后,您仍然无法看到解决方法。这可能是由于您没有添加所有操作引起的。无论是翻译还是Bug WIT。由于这些是您通常将签到与之关联的两种类型的工作项。您可以通过TFS Power Tools而不是代码直接执行此操作。更多详细信息和步骤,请参阅此链接:Changing the Default CheckIn Option to Associate in TFS 2012

enter image description here

要成为一种解决方法,您还可以使用新的工作项模板(WIT)来执行此操作。