Обновления TFS 2018 Transition Field не работают должным образом - PullRequest
1 голос
/ 13 января 2020
  1. Я создал два пользовательских состояния в моем потоке TFS. (Для обратной связи и назначенного).
  2. Я создал два настраиваемых поля, которые будут содержать дату после перехода в состояние (Дата обратной связи и назначенная дата)
  3. Во время перехода к фазе я установили значение текущего serverclock в сопоставленное поле.

<FIELD name="Assigned Date" refname="CustomFields.Groundup.Workitem.AssignedDate" type="DateTime" reportable="dimension" />
<FIELD name="Feedback Date" refname="CustomFields.Groundup.Workitem.FeedbackDate" type="DateTime" reportable="dimension" />

<STATE value="Assigned">
</STATE>

<STATE value="For Feedback">
</STATE>

 <TRANSITION from="For Feedback" to="Assigned">
  <REASONS>
    <DEFAULTREASON value="Assigned" />
  </REASONS>
	<FIELDS>
    <FIELD refname="CustomFields.Groundup.Workitem.AssignedDate">
      <SERVERDEFAULT from="clock" />
     </FIELD>
  </FIELDS>	
 </TRANSITION>
 
  <TRANSITION from="Assigned" to="For Feedback">
  <REASONS>
    <DEFAULTREASON value="For Feedback" />
  </REASONS>
	<FIELDS>
    <FIELD refname="CustomFields.Groundup.Workitem.FeedbackDate">
      <SERVERDEFAULT from="clock" />
     </FIELD>
  </FIELDS>	
 </TRANSITION>

Обе даты (Дата назначения и Обратная связь обновляются для обоих переходов). Может кто-нибудь подсказать мне sh в правильном направлении, почему он так себя ведет и как обойти это.

В настоящее время используется TFS 2018 On Prem

Ответы [ 3 ]

1 голос
/ 13 января 2020

В обоих переходах используется одно и то же поле CustomFields.Groundup.Workitem.AssignedDate .

0 голосов
/ 14 января 2020

Это действительно интересная ситуация, но мы не можем увидеть полное содержание определения типа вашего рабочего элемента. Однако вы можете протестировать обходной путь:

  1. Добавить новое правило WHENNOT для своего поля (например, CustomFields.Groundup.Workitem.FeedbackDate).
  2. Правило что-то подобное :

    <WHENNOT field="System.State" value="For Feedback">
        <READONLY/> //or frozen
    </WHENNOT>
    
0 голосов
/ 14 января 2020

Я тестировал в Tfs2018.Update3.2 с приведенным ниже определением, и он работает как положено. При переходе от Assigned к For Feedback поле Feedback Date обновляется до текущего времени. При переходе от For Feedback к Assigned поле Assigned Date обновляется до текущего времени.

<FieldDefinition name="Assigned Date" refname="CustomFields.Groundup.Workitem.AssignedDate" type="DateTime" reportable="dimension" />
<FieldDefinition name="Feedback Date" refname="CustomFields.Groundup.Workitem.FeedbackDate" type="DateTime" reportable="dimension" />

<State value="Assigned" />
<State value="For Feedback" />

<Transition from="Assigned" to="For Feedback">
  <REASONS>
    <DEFAULTREASON value="For Feedback" />
  </REASONS>
  <FIELDS>
    <FIELD refname="CustomFields.Groundup.Workitem.FeedbackDate">
      <SERVERDEFAULT from="clock" />
    </FIELD>
  </FIELDS>
</Transition>
<Transition from="For Feedback" to="Assigned">
  <REASONS>
    <DEFAULTREASON value="Assigned" />
  </REASONS>
  <FIELDS>
    <FIELD refname="CustomFields.Groundup.Workitem.AssignedDate">
      <SERVERDEFAULT from="clock" />
    </FIELD>
  </FIELDS>
</Transition>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...