Compartir a través de


Personalizar la asignación de campos entre TFS y Project Server

Para sincronizar los datos entre un plan de proyecto empresarial y un proyecto de equipo, debe asociar los campos de elemento de trabajo de Visual Studio Team Foundation Server (TFS) a los campos de Microsoft Project Server. Puede agregar campos y especificar cómo se sincronizan si personaliza las asignaciones de campos. Puede asignar campos de Project integrados y personalizados. Por ejemplo, puede compartir los datos no relacionados con las programaciones (como centros de costos, nombres de equipo o estado de mantenimiento) si agrega los campos que almacenan estos tipos de datos a las asignaciones.

Se mantiene un conjunto de asignaciones de campos para cada colección de proyectos de equipo que hospeda los proyectos de equipo que desea sincronizar con Project Server. Debe definir las asignaciones de campos para cada colección de proyectos de equipo que ha asignado a una instancia de Project Web Access o Project Web App (PWA). Puede cargar las asignaciones predeterminadas o puede personalizar un archivo de asignación y cargarlo. Para cargar las asignaciones predeterminadas, vea Cargar asignaciones, más adelante en este tema.

Nota

Las asignaciones para la integración de TFS y Project Server son distintas a las del archivo de asignación de Microsoft Project.Para obtener más información, consulta Personalizar el archivo de asignación de campos de Microsoft Project.

Tal como muestra la siguiente ilustración, las asignaciones se personalizan en cinco pasos:

Personalizar las asignaciones de campos entre Team Foundation Server y Project Server

Flujo de trabajo para personalizar las asignaciones de campos entre PS y TFS

Nota

Puede actualizar el archivo de asignación tan a menudo como desee.Los campos que aparecen en la pestaña Project Server se actualizan para cada tipo de elemento de trabajo que participa en la sincronización de datos.No debe cambiar manualmente las definiciones de la pestaña Project Server.Para obtener más información, vea Personalizar la pestaña Project Server, más adelante en este tema.

En este tema

  • Asignaciones predeterminadas

  • Determinar los campos adicionales que se van a asignar

  • Descargar las asignaciones en un archivo

  • Actualizar las asignaciones

  • Cargar las asignaciones

  • (Opcional) Personalizar la pestaña Project Server

Nota

Para ver un vídeo de demostración, vea la página del sitio web de Microsoft sobre la administración de asignaciones de campos para la integración de Team Foundation Server y Project Server.

Requisitos

Para completar los procedimientos de este tema, debe tener el permiso Administrar la integración de Project Server establecido en Permitir. Además, se debe conceder el permiso Administrar la integración de Project Server a la cuenta de servicio de Team Foundation Server. Para obtener más información, consulta Asignar permisos para la integración de TFS y Project Server.

Asignaciones predeterminadas

Las asignaciones determinan qué campos se sincronizan cuando un usuario actualiza información en Team Foundation o Project Server. Cada uno de los siguientes tipos de sincronización tiene su propio conjunto de asignaciones:

  • En la sincronización de la publicación, los datos de Project Server actualizan los datos de Team Foundation. Use el elemento de targetToTfs para especificar el campo de Project Server que actualice el campo de Team Foundation.

  • En la sincronización de estado, los datos de Team Foundation se envían a la cola de estado de Project Server. Puede usar el elemento tfsToTarget para especificar el campo que actualiza el campo de cola de estado en Project Server.

Para obtener más información acerca de estos dos tipos de sincronización, vea Información general del proceso de sincronización para la integración de TFS y Project Server.

En la siguiente tabla se hace una lista del conjunto predeterminado de campos asignados entre Team Foundation y Project Server. La tabla también indica qué tipos de elementos de trabajo utilizan los campos basados en las plantillas de proceso predeterminadas que TFS proporciona. No debe modificar estas asignaciones si va a asignar a un proyecto de equipo que se creó a partir de una plantilla de proceso basada en Agile Software Development o Capability Maturity Model Integration (CMMI) Process Improvement. Si va a asignar a un proyecto de equipo que se creó a partir de la plantilla de proceso Scrum, tendrá que hacer algunas modificaciones, tal como se describe en Cambios necesarios que se deben realizar al asignar a un proyecto de equipo creado a partir de la plantilla de proceso Scrum más adelante en este tema.

Para obtener más información sobre las asignaciones y el proceso de sincronización, vea Referencia de elementos XML de asignación de campos para la integración de TFS y Project Server.

Campo de Team Foundation

Campo de Project Server

Campo Cola de estado

Tipos de elemento de trabajo de Agile

Tipos de elemento de trabajo de CMMI

Tipos de elemento de trabajo de Scrum

Título

Nombre de tarea

Título

Todos

Todos

Todos

Asignado a

Recursos

Recursos

Todos

Todos

Todos

Trabajo completado

Trabajo real de la tarea

Trabajo real del recurso

Tarea

Tarea

Ninguna

Trabajo restante

Trabajo restante de la tarea

Trabajo restante del recurso

Tarea

Tarea

Tarea

Estimación original

Trabajo de línea base

  

Tarea

Error, solicitud de cambio, problema, requisito, riesgo y tarea

Ninguna

Fecha de inicio

Inicio de la tarea

Inicio del recurso

Tarea y caso de usuario

Tarea y requisito

Ninguna

Fecha de fin

Fin de la tarea

Fin del recurso

Tarea y caso de usuario

Tarea y requisito

Ninguna

Cambios necesarios que se deben realizar al asignar a un proyecto de equipo creado a partir de la plantilla de proceso Scrum

Hay dos cambios que debe realizar para habilitar el flujo de datos de un proyecto de equipo creado a partir de una plantilla de proceso Microsoft Visual Studio Scrum. Debe agregar los campos Trabajo completado y Estimación original al tipo de elemento de trabajo Tarea, y debe quitar los elementos que requieren que el campo Trabajo restante esté vacío cuando un miembro del equipo cambia el estado a Listo o Quitado.

Para actualizar la definición de tipo de tarea de Scrum

  1. Abra una ventana de símbolo del sistema donde esté instalado Visual Studio o Team Explorer y escriba:

    cd %programfiles(x86)%\Microsoft Visual Studio 12.0\Common7\IDE
    

    En una edición de 32 bits de Windows, reemplace %programfiles(x86)% por %programfiles%.

  2. Para exportar la definición de tipos de Tarea, escriba el siguiente comando, sustituyendo los datos de los argumentos que se muestran aquí, donde CollectionURL especifica la dirección URL de una colección de proyectos de equipo, ProjectName especifica el nombre de un proyecto de equipo definido en la colección y "DirectoryPath\FileName.xml" especifica el nombre y la ubicación del archivo que se va a exportar. A continuación, elija Entrar.

    witadmin exportwitd /collection: /p:"ProjectName" /n:"Task" /f:"DirectoryPath\FileName.xml"
    
  3. En un editor de texto o en Visual Studio, abra el archivo exportado.

  4. Dentro de la sección de definición FIELDS, agregue este fragmento de código antes del elemento correspondiente a Trabajo restante:

    <FIELD name="Completed Work" refname="Microsoft.VSTS.Scheduling.CompletedWork" type="Double" reportable="measure" formula="sum">
       <HELPTEXT>The number of units of work that have been spent on this task</HELPTEXT>
    </FIELD>
    <FIELD name="Original Estimate" refname="Microsoft.VSTS.Scheduling.OriginalEstimate" type="Double" reportable="measure" formula="sum">
       <HELPTEXT>Initial value for Remaining Work - set once, when work begins. </HELPTEXT>
    </FIELD>
    
  5. En la sección <WORKFLOW>, quite el siguiente fragmento de código de las definiciones de <STATE value="Done"> y <STATE value="Removed">:

    <FIELD refname="Microsoft.VSTS.Scheduling.RemainingWork">
       <EMPTY />
    </FIELD>
    
  6. En la sección <FORM>, agregue los siguientes elementos Control:

    <Control FieldName="Microsoft.VSTS.Scheduling.OriginalEstimate" Type="FieldControl" Label="Original Estimate:" LabelPosition="Left" />
    <Control FieldName="Microsoft.VSTS.Scheduling.CompletedWork" Type="FieldControl" Label="Completed:" LabelPosition="Left" />
    
  7. Guarde y cierre el archivo.

  8. Importe el archivo, sustituyendo sus datos por los argumentos que se muestran.

    witadmin importwitd /collection: /p:"ProjectName" /f:"DirectoryPath\FileName.xml"
    
  9. Actualice el proyecto de equipo o la página de elementos de trabajo para comprobar los cambios.

Para obtener más información, vea Exportar e importar tipos de elemento de trabajo [redirigido], Definir campos de elementos de trabajo y Diseñar y personalizar un formulario de elemento de trabajo [redirigido].

Determinar los campos adicionales que se van a asignar

Determine la siguiente información para cada campo que desea sincronizar además de los campos predeterminados:

  • Nombre de referencia del campo en Team Foundation. Si desea sincronizar un campo en Project Server con un campo que debe crear en Team Foundation, primero cree el campo en cada tipo de elemento de trabajo que vaya a sincronizar. Para obtener más información, vea Referencia de campos de elementos de trabajo para Visual Studio ALM y Definir campos de elementos de trabajo.

  • Nombre del campo de Project Server que actualizará el campo de Team Foundation. Para obtener una lista de campos disponibles, vea Restricciones en la asignación de campos de Project Server para la integración de TFS y Project Server.

  • Se actualizará el nombre del campo que va a actualizarse en Project Server y el nombre del campo en Project Server que actualizará el campo reflejo en Team Foundation Server.

  • Si desea mostrar los campos del formulario de elemento de trabajo. Establezca el valor del atributo displayTfsField en true para los campos que desea que aparezcan en el formulario del elemento de trabajo. Tiene que establece el valor del atributo displayTfsMirror en true para el formulario.

  • Si desea resolver los conflictos de datos permitiendo que el valor del campo de Team Foundation sobrescriba el valor del campo de Project Server, o mantener ambos valores. Esta decisión determina el valor del atributo onConflict. Cuando se establece onConflict=”PsWins”, el valor de campo en Project Server sobrescribe el valor de campo en Team Foundation. Para obtener más información, vea Elementos y atributos de campos.

  • Valores adicionales que debe definir para admitir listas de selección o tablas de búsqueda personalizadas en Project Server.

Restricciones en los datos que se pueden asignar

Después de determinar qué desea asignar, tenga en cuenta las siguientes restricciones:

  • Solo puede enviar la información de la capa de tarea, campos pjTask *, de Project Server a Team Foundation Server.

  • Solo puede enviar la información de la capa de recurso, campos pjResource *, de Team Foundation Server a la cola de estado de Project Server.

  • El campo Título es el único campo que puede enviar tanto a Team Foundation Server como a la cola de estado.

  • El consolidado se calcula automáticamente para los campos Asignado a, Trabajo completado y Trabajo restante. No puede asignar campos adicionales y calcular su consolidado. Para obtener más información, consulta Trabajar con consolidación de recursos en proyectos empresariales asignados a proyectos de equipo.

  • Debe asegurarse de que los tipos de datos o las unidades de cada campo que asigna cumplen los criterios de la asignación de campos para los campos de empresa estándar y personalizados. Para obtener más información, vea "Tipos de datos y criterios de asignación de campos" en Restricciones en la asignación de campos de Project Server para la integración de TFS y Project Server.

  • Puede asignar los campos que están asociados a listas de selección en Team Foundation. Sin embargo, debe crear tablas en Project Server que coincidan con las listas de selección. No puede sincronizar automáticamente listas de selección y tablas de búsqueda.

Para obtener más información, consulta Restricciones en la asignación de campos de Project Server para la integración de TFS y Project Server.

Ejemplo: Asignar el nombre del equipo para mostrarlo en Project

En el siguiente ejemplo, el campo de cadena personalizado de Team Foundation, MyCompany.MyOrg.DevTeamName, se asigna a un campo de texto personalizado de empresa en Project Server, Nombre del equipo de la compañía. Puede utilizar este ejemplo para mostrar en Project Professional el nombre del equipo que está asociado a una tarea.

<field tfsName="MyCompany.MyOrg.DevTeamName" tfsMirrorName="Mirror.MyCompany.MyOrg.DevTeamName" displayTfsField="false" displayTfsMirror="false" onConflict="DoNothing">
   <tfsToTarget>
   <target provider="ProjectServerStatusQueue" name=" My Company Team Name" />
   </tfsToTarget>
   <targetToTfs>
      <target provider="ProjectServerPublished" name=" My Company Team Name" />
   </targetToTfs>
</field>

Ninguno de estos campos aparece en el formulario de elemento de trabajo. Además, si los valores no coinciden, cada campo retiene su propio valor.

Volver al principio

Ejemplo: Mostrar las rutas de acceso de iteración y área en Project

Puede asignar los campos de Área (System.AreaPath) e Iteración (System.IterationPath) de Team Foundation para que estén visibles en los planes del proyecto. Dado que estos campos de ruta de acceso de árbol sufren cambios frecuentes, debe asignarlos como campos de texto de Project. Los administradores de proyecto que utilizan estos campos deben escribir la ruta de acceso del área o la ruta de acceso de iteración manualmente.

Importante

La implementación actual de la integración de Team Foundation Server y Project Server no admite la sincronización automática de listas de valores permitidas, listas de selección, listas globales o listas de rutas de acceso de árbol que se definen para los campos asignados entre los dos productos de servidor.Para que la experiencia sea óptima, debe realizar entradas manuales en el plan del proyecto que coincidan con las de Team Foundation.Si especifica una entrada que es no válida, aparecerá un cuadro de diálogo de validación al publicar el plan.

Para agregar los campos Área e Iteración a un plan de proyecto, realice las siguientes acciones:

  1. Agregue dos campos de empresa de cliente a Project Server y etiquételos como Área (TFS) e Iteración (TFS).

    Para más información, vea la página del sitio web de Microsoft sobre cómo crear tablas de búsqueda y campos personalizados de empresa.

  2. Exporte las asignaciones de campos de la colección de proyectos de equipo donde se definen los proyectos de equipo.

    Para obtener más información, vea Descargar las asignaciones en un archivo más adelante en este tema.

  3. Agregue el código siguiente al archivo:

    <field tfsName="System.AreaPath" tfsMirrorName="Mirror.System.AreaPath" displayTfsField="true" displayTfsMirror="true">
            <tfsToTarget>
              <target provider="ProjectServerStatusQueue" name="Area (TFS)" />
            </tfsToTarget>
            <targetToTfs>
              <target provider="ProjectServerPublished" name="Area (TFS)" />
            </targetToTfs>
          </field>
          <field tfsName="System.IterationPath" tfsMirrorName="Mirror.System.IterationPath" displayTfsField="true" displayTfsMirror="true">
            <tfsToTarget>
              <target provider="ProjectServerStatusQueue" name="Iteration (TFS)" />
            </tfsToTarget>
            <targetToTfs>
              <target provider="ProjectServerPublished" name="Iteration (TFS)" />
            </targetToTfs>
          </field>
    
  4. Importe el archivo de asignaciones de campos actualizado como se describe en Actualizar asignaciones más adelante en este tema.

  5. Sincronice el plan del proyecto con Project Server.

  6. Agregue las dos nuevas columnas para los nuevos campos, Área (TFS) e Iteración (TFS), al plan del proyecto

Los cambios realizados en los campos Área e Iteración en Team Foundation se sincronizarán con estos campos en el plan del proyecto. También puede actualizar estos campos en Project y publicar los cambios en Team Foundation si especifica valores que se han definido en Team Foundation.

Volver al principio

Descargar las asignaciones en un archivo

Nota

Solo puede descargar las asignaciones de una colección de proyectos de equipo en la que se han cargado.Si desea descargar las asignaciones predeterminadas en un archivo, debe cargar primero las asignaciones predeterminadas, tal como se describe en Para cargar las asignaciones predeterminadas, más adelante en este tema.Como alternativa, puede copiar el contenido de las asignaciones predeterminadas.Para obtener más información, consulta Referencia de elementos XML de asignación de campos para la integración de TFS y Project Server.

Para descargar las asignaciones en un archivo

  1. Para ejecutar la herramienta de línea de comandos TfsAdmin, abra una ventana de símbolo del sistema donde se haya instalado Visual Studio o Team Explorer y escriba:

    cd %programfiles%\Microsoft Visual Studio 11.0\Common7\IDE
    

    En una edición de 64 bits de Windows, reemplace %programfiles% por %programfiles(x86)%..

  2. Escriba el siguiente comando y, a continuación, elija Entrar.

    TfsAdmin ProjectServer /DownloadFieldMappings /collection:tpcUrl /filePath:MappingFile
    

    Reemplace tpcUrl por el localizador uniforme de recursos (URL) de la colección de proyectos de equipo y MappingFile, por la ruta de acceso y el nombre del archivo que va a personalizar.

  3. Espere hasta que aparezcan los mensajes siguientes:

    Descargando MappingFile en la colección de proyectos de equipo tpcUrl.

    Se ha descargado correctamente el archivo de asignación de campos MappingFile en la colección de proyectos de equipo tpcUrl.

Actualizar las asignaciones

Para cada campo que desea agregar al archivo de asignación, especifique el elemento field y sus subelementos y atributos. Para obtener más información, consulta Referencia de elementos XML de asignación de campos para la integración de TFS y Project Server.

Cargar las asignaciones

Las asignaciones se cargan mediante el comando UploadFieldMappings. Puede cargar las asignaciones predeterminadas mediante la opción /usedefaultfieldmapping. De lo contrario, debe especificar un archivo que contenga los elementos de asignación.

Para cargar las asignaciones predeterminadas

  1. En el símbolo del sistema, escriba el siguiente comando y, a continuación, elija ENTRAR.

    TfsAdmin ProjectServer /UploadFieldMappings /collection:tpcUrl /usedefaultfieldmappings
    

    Reemplace tpcUrl por la dirección URL de la colección de proyectos de equipo.

  2. Espere hasta que aparezcan los mensajes siguientes:

    Cargando las asignaciones de campos predeterminadas en CollectionUri.

    Se han cargado correctamente las asignaciones de campos en la colección CollectionUri.

Para cargar las asignaciones de un archivo

  1. En el símbolo del sistema, escriba el siguiente comando y, a continuación, elija ENTRAR.

    TfsAdmin ProjectServer /UploadFieldMappings /collection:tpcUrl /filePath:MappingFile /force
    

    Reemplace tpcUrl por la dirección URL de la colección de proyectos de equipo y MappingFile, por la ruta de acceso y el nombre del archivo de asignación personalizado. Especifique /force si va a actualizar las asignaciones existentes.

  2. Espere hasta que aparezcan los mensajes siguientes:

    Cargando MappingFile en la colección de proyectos de equipo tpcUrl.

    Se ha cargado correctamente el archivo de asignación de campos MappingFile en la colección de proyectos de equipo tpcUrl.

Personalizar la pestaña Project Server

Al asociar un plan de proyecto empresarial a un proyecto de equipo, la pestaña Project Server se agrega al formulario de elemento de trabajo, tal como muestra la siguiente ilustración. La pestaña solo se agrega a aquellos tipos de elemento de trabajo que se hayan especificado para participar en la sincronización de datos. Para personalizar esta pestaña establezca los atributos displayTfsField o displayTfsMirror en true para esos campos que desea que aparezcan en el formulario.

Pestaña Project Server

Campos predeterminados de la pestaña Project Server

Importante

Las asignaciones de campos que se definen para la colección de proyectos de equipo determinan los campos que aparecen en la pestaña Project Server.Una vez agregada esta pestaña a un tipo de elemento de trabajo para un proyecto de equipo, se puede actualizar si se modifican las asignaciones de campos de la colección.Si personaliza el formulario de elemento de trabajo manualmente agregando los campos a la pestaña Project Server o cambiando su ubicación en el formulario, la pestaña no puede ser automáticamente actualizada con cambios futuros que haga en las asignaciones de campos.Si esta condición se produce, puede modificar la pestaña manualmente.Para obtener más información, consulta Elementos XML agregados a la definición del tipo de elemento de trabajo.

Para obtener más información sobre cada campo predeterminado que aparece en la pestaña Project Server, vea Campos de Project Server agregados a TFS para admitir la sincronización de datos.

Vea también

Tareas

Configurar la integración de TFS y Project Server

Conceptos

Especificar los tipos de elementos de trabajo que se van a sincronizar

Administrar la integración de Team Foundation Server y Project Server