Greetings,
I am working through trying to synch Team Pulse against my customized TFS template and I am receiving the following validation message.
Synchronization settings are not valid. Please review the following error:The allowed transitions for the Status/State field for the TeamPulse 'Story' entity adn the TFS 'User Story' work item do not match.
I have modified the XML in the database for the Scrum ProjectTemplate to line up with the work item definition deployed to the server.
Here is the portion of the XML related to Story from the database XML
<
EntityDefinitions
>
<
EntityDefinition
EntityTypeName
=
"Story"
>
<
Workflow
>
<
Statuses
>
<
string
>New</
string
>
<
string
>Active</
string
>
<
string
>Resolved</
string
>
<
string
>Closed</
string
>
<
string
>Approved</
string
>
<
string
>Committed</
string
>
<
string
>Done</
string
>
<
string
>Removed</
string
>
</
Statuses
>
<
Transitions
>
<
Transition
From
=
"Active"
To
=
"Resolved"
/>
<
Transition
From
=
"Resolved"
To
=
"Closed"
/>
<
Transition
From
=
"Resolved"
To
=
"Active"
/>
<
Transition
From
=
"Active"
To
=
"Closed"
/>
<
Transition
From
=
"Closed"
To
=
"Active"
/>
<
Transition
From
=
"Closed"
To
=
"Resolved"
/>
<
Transition
From
=
""
To
=
"New"
/>
<
Transition
From
=
"New"
To
=
"Approved"
/>
<
Transition
From
=
"Active"
To
=
"New"
/>
<
Transition
From
=
"Closed"
To
=
"Done"
/>
<
Transition
From
=
"Resolved"
To
=
"Done"
/>
<
Transition
From
=
"Approved"
To
=
"Committed"
/>
<
Transition
From
=
"Committed"
To
=
"Done"
/>
<
Transition
From
=
"Committed"
To
=
"Approved"
/>
<
Transition
From
=
"New"
To
=
"Removed"
/>
<
Transition
From
=
"Approved"
To
=
"Removed"
/>
<
Transition
From
=
"Done"
To
=
"Committed"
/>
<
Transition
From
=
"Removed"
To
=
"New"
/>
<
Transition
From
=
"Removed"
To
=
"Active"
/>
<
Transition
From
=
"Approved"
To
=
"New"
/>
</
Transitions
>
<
UnexecutedStatuses
>New,Approved,Active</
UnexecutedStatuses
>
<
InProgressStatuses
>Committed</
InProgressStatuses
>
<
DoneStatuses
>Done,Resolved,Closed</
DoneStatuses
>
<
ExcludedStatuses
>Removed</
ExcludedStatuses
>
</
Workflow
>
My work item definition for User Story is as follows:
<
WORKFLOW
>
- <
STATES
>
+ <
STATE
value
=
"Active"
>
- <
FIELDS
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ResolvedDate"
>
<
EMPTY
/>
</
FIELD
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ResolvedBy"
>
<
ALLOWEXISTINGVALUE
/>
<
EMPTY
/>
</
FIELD
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ClosedDate"
>
<
EMPTY
/>
</
FIELD
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ClosedBy"
>
<
ALLOWEXISTINGVALUE
/>
<
EMPTY
/>
</
FIELD
>
</
FIELDS
>
</
STATE
>
+ <
STATE
value
=
"Resolved"
>
- <
FIELDS
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ClosedDate"
>
<
EMPTY
/>
</
FIELD
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ClosedBy"
>
<
ALLOWEXISTINGVALUE
/>
<
EMPTY
/>
</
FIELD
>
</
FIELDS
>
</
STATE
>
<
STATE
value
=
"Closed"
/>
<
STATE
value
=
"New"
/>
+ <
STATE
value
=
"Done"
>
- <
FIELDS
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.BusinessValue"
>
<
READONLY
/>
</
FIELD
>
- <
FIELD
refname
=
"Microsoft.VSTS.Scheduling.StoryPoints"
>
<
READONLY
/>
</
FIELD
>
</
FIELDS
>
</
STATE
>
<
STATE
value
=
"Removed"
/>
<
STATE
value
=
"Approved"
/>
<
STATE
value
=
"Committed"
/>
</
STATES
>
- <
TRANSITIONS
>
- <
TRANSITION
from
=
"Active"
to
=
"Resolved"
>
- <
REASONS
>
<
DEFAULTREASON
value
=
"Code complete and unit tests pass"
/>
</
REASONS
>
- <
FIELDS
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ActivatedDate"
>
<
READONLY
/>
</
FIELD
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ActivatedBy"
>
<
ALLOWEXISTINGVALUE
/>
<
READONLY
/>
</
FIELD
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ResolvedDate"
>
<
SERVERDEFAULT
from
=
"clock"
/>
</
FIELD
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ResolvedBy"
>
<
ALLOWEXISTINGVALUE
/>
<
COPY
from
=
"currentuser"
/>
<
VALIDUSER
/>
<
REQUIRED
/>
</
FIELD
>
</
FIELDS
>
- <
ACTIONS
>
<
ACTION
value
=
"Microsoft.VSTS.Actions.Checkin"
/>
</
ACTIONS
>
</
TRANSITION
>
- <
TRANSITION
from
=
"Resolved"
to
=
"Closed"
>
- <
REASONS
>
<
DEFAULTREASON
value
=
"Acceptance tests pass"
/>
</
REASONS
>
- <
FIELDS
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ActivatedDate"
>
<
READONLY
/>
</
FIELD
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ActivatedBy"
>
<
ALLOWEXISTINGVALUE
/>
<
READONLY
/>
</
FIELD
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ResolvedDate"
>
<
READONLY
/>
</
FIELD
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ResolvedBy"
>
<
ALLOWEXISTINGVALUE
/>
<
READONLY
/>
</
FIELD
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ClosedDate"
>
<
SERVERDEFAULT
from
=
"clock"
/>
</
FIELD
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ClosedBy"
>
<
ALLOWEXISTINGVALUE
/>
<
COPY
from
=
"currentuser"
/>
<
VALIDUSER
/>
<
REQUIRED
/>
</
FIELD
>
</
FIELDS
>
</
TRANSITION
>
- <
TRANSITION
from
=
"Resolved"
to
=
"Active"
>
- <
REASONS
>
<
DEFAULTREASON
value
=
"Acceptance tests fail"
/>
</
REASONS
>
- <
FIELDS
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ActivatedBy"
>
<
ALLOWEXISTINGVALUE
/>
<
COPY
from
=
"currentuser"
/>
<
VALIDUSER
/>
<
REQUIRED
/>
</
FIELD
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ActivatedDate"
>
<
SERVERDEFAULT
from
=
"clock"
/>
</
FIELD
>
</
FIELDS
>
</
TRANSITION
>
+ <
TRANSITION
from
=
"Active"
to
=
"Closed"
>
- <
REASONS
>
<
DEFAULTREASON
value
=
"Rejected"
/>
<
REASON
value
=
"Abandoned"
/>
<
REASON
value
=
"Out of scope"
/>
</
REASONS
>
- <
FIELDS
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ActivatedDate"
>
<
READONLY
/>
</
FIELD
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ActivatedBy"
>
<
ALLOWEXISTINGVALUE
/>
<
READONLY
/>
</
FIELD
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ResolvedDate"
>
<
READONLY
/>
</
FIELD
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ResolvedBy"
>
<
ALLOWEXISTINGVALUE
/>
<
READONLY
/>
</
FIELD
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ClosedDate"
>
<
SERVERDEFAULT
from
=
"clock"
/>
</
FIELD
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ClosedBy"
>
<
ALLOWEXISTINGVALUE
/>
<
COPY
from
=
"currentuser"
/>
<
VALIDUSER
/>
<
REQUIRED
/>
</
FIELD
>
</
FIELDS
>
</
TRANSITION
>
- <
TRANSITION
from
=
"Closed"
to
=
"Active"
>
- <
REASONS
>
<
DEFAULTREASON
value
=
"Reintroduced in Scope"
/>
<
REASON
value
=
"Closed in error"
/>
</
REASONS
>
- <
FIELDS
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ActivatedBy"
>
<
ALLOWEXISTINGVALUE
/>
<
COPY
from
=
"currentuser"
/>
<
VALIDUSER
/>
<
REQUIRED
/>
</
FIELD
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ActivatedDate"
>
<
SERVERDEFAULT
from
=
"clock"
/>
</
FIELD
>
</
FIELDS
>
</
TRANSITION
>
- <
TRANSITION
from
=
"Closed"
to
=
"Resolved"
>
- <
REASONS
>
<
DEFAULTREASON
value
=
"Closed in error"
/>
</
REASONS
>
- <
FIELDS
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ActivatedBy"
>
<
ALLOWEXISTINGVALUE
/>
<
COPY
from
=
"currentuser"
/>
<
VALIDUSER
/>
<
REQUIRED
/>
</
FIELD
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ActivatedDate"
>
<
SERVERDEFAULT
from
=
"clock"
/>
</
FIELD
>
</
FIELDS
>
</
TRANSITION
>
- <
TRANSITION
from
=
""
to
=
"New"
>
- <
REASONS
>
<
DEFAULTREASON
value
=
"New backlog item"
/>
</
REASONS
>
- <
FIELDS
>
- <
FIELD
refname
=
"System.Description"
>
<
DEFAULT
from
=
"value"
value="As a <type of user> I want <
some
goal> so that <
some
reason>" />
</
FIELD
>
- <
FIELD
refname
=
"XS.Work.Path"
>
<
DEFAULT
from
=
"value"
value
=
"Maintenance"
/>
</
FIELD
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.StackRank"
>
<
DEFAULT
from
=
"value"
value
=
"0"
/>
</
FIELD
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.BacklogPriority"
>
<
DEFAULT
from
=
"value"
value
=
"0"
/>
</
FIELD
>
- <
FIELD
refname
=
"System.AssignedTo"
>
<
DEFAULT
from
=
"value"
value
=
"Joe Gonwa"
/>
</
FIELD
>
</
FIELDS
>
</
TRANSITION
>
- <
TRANSITION
from
=
"New"
to
=
"Approved"
>
- <
REASONS
>
<
DEFAULTREASON
value
=
"Approved by the Product Owner"
/>
</
REASONS
>
</
TRANSITION
>
- <
TRANSITION
from
=
"Active"
to
=
"New"
>
- <
REASONS
>
<
DEFAULTREASON
value
=
"Converting to scrum"
/>
</
REASONS
>
</
TRANSITION
>
- <
TRANSITION
from
=
"Closed"
to
=
"Done"
>
- <
REASONS
>
<
DEFAULTREASON
value
=
"Converting to scrum"
/>
</
REASONS
>
</
TRANSITION
>
- <
TRANSITION
from
=
"Resolved"
to
=
"Done"
>
- <
REASONS
>
<
DEFAULTREASON
value
=
"Converting to scrum"
/>
</
REASONS
>
</
TRANSITION
>
- <
TRANSITION
from
=
"Approved"
to
=
"Committed"
>
- <
REASONS
>
<
DEFAULTREASON
value
=
"Commitment made by the team"
/>
</
REASONS
>
</
TRANSITION
>
- <
TRANSITION
from
=
"Committed"
to
=
"Done"
>
- <
REASONS
>
<
DEFAULTREASON
value
=
"Work finished"
/>
</
REASONS
>
</
TRANSITION
>
- <
TRANSITION
from
=
"Committed"
to
=
"Approved"
>
- <
REASONS
>
<
DEFAULTREASON
value
=
"Work stopped"
/>
</
REASONS
>
</
TRANSITION
>
- <
TRANSITION
from
=
"New"
to
=
"Removed"
>
- <
REASONS
>
<
DEFAULTREASON
value
=
"Removed from the backlog"
/>
</
REASONS
>
</
TRANSITION
>
- <
TRANSITION
from
=
"Approved"
to
=
"Removed"
>
- <
REASONS
>
<
DEFAULTREASON
value
=
"Removed from the backlog"
/>
</
REASONS
>
</
TRANSITION
>
- <
TRANSITION
from
=
"Done"
to
=
"Committed"
>
- <
REASONS
>
<
DEFAULTREASON
value
=
"Additional work found"
/>
</
REASONS
>
</
TRANSITION
>
- <
TRANSITION
from
=
"Removed"
to
=
"New"
>
- <
REASONS
>
<
DEFAULTREASON
value
=
"Reconsidering backlog item"
/>
</
REASONS
>
</
TRANSITION
>
- <
TRANSITION
from
=
"Removed"
to
=
"Active"
>
- <
REASONS
>
<
DEFAULTREASON
value
=
"New"
/>
</
REASONS
>
- <
FIELDS
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ActivatedBy"
>
<
ALLOWEXISTINGVALUE
/>
<
COPY
from
=
"currentuser"
/>
<
VALIDUSER
/>
<
REQUIRED
/>
</
FIELD
>
- <
FIELD
refname
=
"Microsoft.VSTS.Common.ActivatedDate"
>
<
SERVERDEFAULT
from
=
"clock"
/>
</
FIELD
>
- <
FIELD
refname
=
"System.AssignedTo"
>
<
DEFAULT
from
=
"currentuser"
/>
</
FIELD
>
- <
FIELD
refname
=
"System.Description"
>
<
DEFAULT
from
=
"value"
value="As a <type of user> I want <
some
goal> so that <
some
reason>" />
</
FIELD
>
</
FIELDS
>
</
TRANSITION
>
- <
TRANSITION
from
=
"Approved"
to
=
"New"
>
- <
REASONS
>
<
DEFAULTREASON
value
=
"Need more information for Acceptance Criteria"
/>
</
REASONS
>
</
TRANSITION
>
</
TRANSITIONS
>
</
WORKFLOW
>
I was able to clear up some mismatched status values, but the transitions I can't seem to get resolved.
Thanks,
Paul McClintock
IT Team Lead
XS Inc.