问题描述
亲爱的TFS用户,我需要将TFS(新的,活动的,已解决的,已关闭的)状态字段映射到PS。
因此,按照网络上的说明,我下载了字段映射,编辑了XML文件,创建了一个查找表,一个新的自定义字段。
但是,我看不出它们是同步。
有谁能告诉我我的XML是否结构正确?
这是XML i通过命令下载TfsAdmin ProjectServer / DownloadField映射
< mappingFile>
< persistables>
&NBSP; < Microsoft.TeamFoundation.Sync.Mapping.Impls.FieldMapping>
&NBSP; &NBSP; < field tfsName =" System.Title" tfsMirrorName = QUOT; Mirror.System.Title" displayTfsField = QUOT假QUOT; displayTfsMirror = QUOT假QUOT; onConflict =" PSWin">
&NBSP; &NBSP; &NBSP; < tfsToTarget>
&NBSP; &NBSP; &NBSP; &NBSP; < target provider =" ProjectServerStatusQueue"名称= QUOT; pjTaskName" />
&NBSP; &NBSP; &NBSP; < / tfsToTarget>
&NBSP; &NBSP; &NBSP; < targetToTfs>
&NBSP; &NBSP; &NBSP; &NBSP; < target provider =" ProjectServerPublished"名称= QUOT; pjTaskName" />
&NBSP; &NBSP; &NBSP; < / targetToTfs>
&NBSP; &NBSP; < / field>
&NBSP; &NBSP; < field tfsName =" System.State" tfsMirrorName = QUOT; Mirror.System.State" displayTfsField = QUOT假QUOT; displayTfsMirror = QUOT假QUOT; onConflict =" PSWin">
&NBSP; &NBSP; &NBSP; < tfsToTarget>
&NBSP; &NBSP; &NBSP; &NBSP; < target provider =" ProjectServerStatusQueue"名称= QUOT;状态" />
&NBSP; &NBSP; &NBSP; < / tfsToTarget>
&NBSP; &NBSP; &NBSP; < targetToTfs>
&NBSP; &NBSP; &NBSP; &NBSP; < target provider =" ProjectServerPublished"名称= QUOT;状态" />
&NBSP; &NBSP; &NBSP; < / targetToTfs>
&NBSP; &NBSP; < / field>
&NBSP; &NBSP; < field tfsName =" System.AssignedTo" tfsMirrorName = QUOT; Mirror.System.AssignedTo" displayTfsField = QUOT假QUOT; displayTfsMirror = QUOT假QUOT; onConflict =" PSWin">
&NBSP; &NBSP; &NBSP; < tfsToTarget>
&NBSP; &NBSP; &NBSP; &NBSP; < target provider =" ProjectServerStatusQueue"名称= QUOT; pjTaskResourceNames" />
&NBSP; &NBSP; &NBSP; < / tfsToTarget>
&NBSP; &NBSP; &NBSP; < targetToTfs>
&NBSP; &NBSP; &NBSP; &NBSP; < target provider =" ProjectServerPublished"名称= QUOT; pjTaskResourceNames" />
&NBSP; &NBSP; &NBSP; < / targetToTfs>
&NBSP; &NBSP; < / field>
&NBSP; &NBSP; < field tfsName =" Microsoft.VSTS.Scheduling.CompletedWork" tfsMirrorName = QUOT; Mirror.Microsoft.VSTS.Scheduling.CompletedWork" displayTfsField = QUOT;真" displayTfsMirror =" true">
&NBSP; &NBSP; &NBSP; < tfsToTarget>
&NBSP; &NBSP; &NBSP; &NBSP; < target provider =" ProjectServerStatusQueue"名称= QUOT; pjResourceActualWork" />
&NBSP; &NBSP; &NBSP; < / tfsToTarget>
&NBSP; &NBSP; &NBSP; < targetToTfs>
&NBSP; &NBSP; &NBSP; &NBSP; < target provider =" ProjectServerPublished"名称= QUOT; pjTaskActualWork" />
&NBSP; &NBSP; &NBSP; &NBSP; <转换>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < transform transformType =" ClearValueIfParent" />
&NBSP; &NBSP; &NBSP; &NBSP; < / transforms>
&NBSP; &NBSP; &NBSP; < / targetToTfs>
&NBSP; &NBSP; < / field>
&NBSP; &NBSP; < field tfsName =" Microsoft.VSTS.Scheduling.RemainingWork" tfsMirrorName = QUOT; Mirror.Microsoft.VSTS.Scheduling.RemainingWork" displayTfsField = QUOT;真" displayTfsMirror =" true">
&NBSP; &NBSP; &NBSP; < tfsToTarget>
&NBSP; &NBSP; &NBSP; &NBSP; < target provider =" ProjectServerStatusQueue"名称= QUOT; pjResourceRemainingWork" />
&NBSP; &NBSP; &NBSP; < / tfsToTarget>
&NBSP; &NBSP; &NBSP; < targetToTfs>
&NBSP; &NBSP; &NBSP; &NBSP; < target provider =" ProjectServerPublished"名称= QUOT; pjTaskRemainingWork" />
&NBSP; &NBSP; &NBSP; &NBSP; <转换>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < transform transformType =" ClearValueIfParent" />
&NBSP; &NBSP; &NBSP; &NBSP; < / transforms>
&NBSP; &NBSP; &NBSP; < / targetToTfs>
&NBSP; &NBSP; < / field>
&NBSP; &NBSP; < field tfsName =" Microsoft.VSTS.Scheduling.OriginalEstimate" tfsMirrorName = QUOT; Mirror.Microsoft.VSTS.Scheduling.OriginalEstimate" displayTfsField = QUOT假QUOT; displayTfsMirror = QUOT;真" onConflict =" PSWin">
&NBSP; &NBSP; &NBSP; < targetToTfs>
&NBSP; &NBSP; &NBSP; &NBSP; < target provider =" ProjectServerPublished"名称= QUOT; pjTaskBaselineWork" />
&NBSP; &NBSP; &NBSP; < / targetToTfs>
&NBSP; &NBSP; < / field>
&NBSP; &NBSP; < field tfsName =" Microsoft.VSTS.Scheduling.StartDate" tfsMirrorName = QUOT; Mirror.Microsoft.VSTS.Scheduling.StartDate" displayTfsField = QUOT假QUOT; displayTfsMirror = QUOT假QUOT; onConflict =" PSWin">
&NBSP; &NBSP; &NBSP; < tfsToTarget>
&NBSP; &NBSP; &NBSP; &NBSP; < target provider =" ProjectServerStatusQueue"名称= QUOT; pjResourceStart" />
&NBSP; &NBSP; &NBSP; < / tfsToTarget>
&NBSP; &NBSP; &NBSP; < targetToTfs>
&NBSP; &NBSP; &NBSP; &NBSP; < target provider =" ProjectServerPublished"名称= QUOT; pjTaskStart" />
&NBSP; &NBSP; &NBSP; < / targetToTfs>
&NBSP; &NBSP; < / field>
&NBSP; &NBSP; < field tfsName =" Microsoft.VSTS.Scheduling.FinishDate" tfsMirrorName = QUOT; Mirror.Microsoft.VSTS.Scheduling.FinishDate" displayTfsField = QUOT假QUOT; displayTfsMirror = QUOT假QUOT; onConflict =" PSWin">
&NBSP; &NBSP; &NBSP; < tfsToTarget>
&NBSP; &NBSP; &NBSP; &NBSP; < target provider =" ProjectServerStatusQueue"名称= QUOT; pjResourceFinish" />
&NBSP; &NBSP; &NBSP; < / tfsToTarget>
&NBSP; &NBSP; &NBSP; < targetToTfs>
&NBSP; &NBSP; &NBSP; &NBSP; < target provider =" ProjectServerPublished"名称= QUOT; pjTaskFinish" />
&NBSP; &NBSP; &NBSP; < / targetToTfs>
&NBSP; &NBSP; < / field>
&NBSP; < /Microsoft.TeamFoundation.Sync.Mapping.Impls.FieldMapping>
< / persistables>
< / mappingFile>
我正在测试的相关任务是"Instalacija potrebnih alata" ;
$
Dear TFS users,
I want to have the state field from TFS (New, Active, Resolved, Closed) mapped to PS.
So, following the instructions on the web I downloaded the field mappings, edited the XML file, created a lookup table, a new custom field.
However, I cannot see that they are synced.
Can anyone tell me if my XML is structured correctly?
This is the XML i downloaded via command TfsAdmin ProjectServer /DownloadField mappings
<mappingFile>
<persistables>
<Microsoft.TeamFoundation.Sync.Mapping.Impls.FieldMapping>
<field tfsName="System.Title" tfsMirrorName="Mirror.System.Title" displayTfsField="false" displayTfsMirror="false" onConflict="PSWin">
<tfsToTarget>
<target provider="ProjectServerStatusQueue" name="pjTaskName" />
</tfsToTarget>
<targetToTfs>
<target provider="ProjectServerPublished" name="pjTaskName" />
</targetToTfs>
</field>
<field tfsName="System.State" tfsMirrorName="Mirror.System.State" displayTfsField="false" displayTfsMirror="false" onConflict="PSWin">
<tfsToTarget>
<target provider="ProjectServerStatusQueue" name="State" />
</tfsToTarget>
<targetToTfs>
<target provider="ProjectServerPublished" name="State" />
</targetToTfs>
</field>
<field tfsName="System.AssignedTo" tfsMirrorName="Mirror.System.AssignedTo" displayTfsField="false" displayTfsMirror="false" onConflict="PSWin">
<tfsToTarget>
<target provider="ProjectServerStatusQueue" name="pjTaskResourceNames" />
</tfsToTarget>
<targetToTfs>
<target provider="ProjectServerPublished" name="pjTaskResourceNames" />
</targetToTfs>
</field>
<field tfsName="Microsoft.VSTS.Scheduling.CompletedWork" tfsMirrorName="Mirror.Microsoft.VSTS.Scheduling.CompletedWork" displayTfsField="true" displayTfsMirror="true">
<tfsToTarget>
<target provider="ProjectServerStatusQueue" name="pjResourceActualWork" />
</tfsToTarget>
<targetToTfs>
<target provider="ProjectServerPublished" name="pjTaskActualWork" />
<transforms>
<transform transformType="ClearValueIfParent" />
</transforms>
</targetToTfs>
</field>
<field tfsName="Microsoft.VSTS.Scheduling.RemainingWork" tfsMirrorName="Mirror.Microsoft.VSTS.Scheduling.RemainingWork" displayTfsField="true" displayTfsMirror="true">
<tfsToTarget>
<target provider="ProjectServerStatusQueue" name="pjResourceRemainingWork" />
</tfsToTarget>
<targetToTfs>
<target provider="ProjectServerPublished" name="pjTaskRemainingWork" />
<transforms>
<transform transformType="ClearValueIfParent" />
</transforms>
</targetToTfs>
</field>
<field tfsName="Microsoft.VSTS.Scheduling.OriginalEstimate" tfsMirrorName="Mirror.Microsoft.VSTS.Scheduling.OriginalEstimate" displayTfsField="false" displayTfsMirror="true" onConflict="PSWin">
<targetToTfs>
<target provider="ProjectServerPublished" name="pjTaskBaselineWork" />
</targetToTfs>
</field>
<field tfsName="Microsoft.VSTS.Scheduling.StartDate" tfsMirrorName="Mirror.Microsoft.VSTS.Scheduling.StartDate" displayTfsField="false" displayTfsMirror="false" onConflict="PSWin">
<tfsToTarget>
<target provider="ProjectServerStatusQueue" name="pjResourceStart" />
</tfsToTarget>
<targetToTfs>
<target provider="ProjectServerPublished" name="pjTaskStart" />
</targetToTfs>
</field>
<field tfsName="Microsoft.VSTS.Scheduling.FinishDate" tfsMirrorName="Mirror.Microsoft.VSTS.Scheduling.FinishDate" displayTfsField="false" displayTfsMirror="false" onConflict="PSWin">
<tfsToTarget>
<target provider="ProjectServerStatusQueue" name="pjResourceFinish" />
</tfsToTarget>
<targetToTfs>
<target provider="ProjectServerPublished" name="pjTaskFinish" />
</targetToTfs>
</field>
</Microsoft.TeamFoundation.Sync.Mapping.Impls.FieldMapping>
</persistables>
</mappingFile>
The task in question, on which i was testing was "Instalacija potrebnih alata"
推荐答案
感谢您在此发帖。
其他工作项字段(如默认映射工作项字段或其他自定义映射字段)是否与项目服务器同步?请确保您将企业项目与团队项目相关联,并添加任务工作项,如
以下链接:
Did other work item fields(like default mapped work item fields or other custom mapped fields) sync with project server? Please make sure you associate the enterprise project with the team project and add the task work item filed like the following link:
另外请确保添加"州"项目提交到项目服务器,名称在xml文件中是相同的,如下面的链接:
Also please make sure the add the "State" filed to the project server, and the name is the same in the xml file like the following link:
#Example:显示项目中的区域和迭代路径
最好的问候
Limitxiao Gao
Limitxiao Gao
这篇关于TFS 2015和Project Server 2013 - 将状态字段从TFS映射到PRoject Server的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!