Cambiar el flujo de trabajo de un tipo de elemento de trabajo
Puede cambiar el flujo de trabajo de un tipo de elemento de trabajo exportando el archivo XML y modificando su contenido. Tan pronto como haya modificado el flujo de trabajo, puede importar el archivo XML para empezar a utilizar el tipo de elemento de trabajo actualizado.
Permisos necesarios
Para poder llevar a cabo este procedimiento, debe ser miembro del grupo Team Foundation Administrators o Project Administrators para el proyecto. Para obtener más información, vea Permisos de Team Foundation Server.
Para cambiar el flujo de trabajo
Si va a modificar un tipo de elemento de trabajo en un proyecto único, ejecute witadmin exportwitd para exportar el archivo XML correspondiente al tipo de elemento de trabajo que desea modificar. Para obtener más información, consulte Personalizar y administrar tipos de elemento de trabajo [witadmin].
En Visual Studio, haga clic sucesivamente en Archivo, Abrir y Archivo.
Aparecerá el cuadro de diálogo Abrir archivo.
En Buscar en, cambie a la ubicación a la que ha exportado el archivo.
Si va a modificar un tipo de elemento de trabajo para personalizar una plantilla de proceso, desplácese a la ubicación en la que descargó la plantilla de proceso.
Nota
Si ejecuta Windows Vista, es posible que no tenga permisos de acceso a determinadas carpetas. Si intenta exportar el tipo de elemento de trabajo a una ubicación para la que no tiene derechos de acceso, la tecnología de virtualización del Registro redirige automáticamente el archivo exportado y lo guarda en el almacén virtual. Para evitar esta redirección, puede exportar el archivo a una ubicación en la que tenga permisos de acceso. Para obtener más información sobre la virtualización del Registro, vea las páginas siguientes en el sitio web de Microsoft: Registry Virtualization y Common file and registry virtualization issues in Windows Vista.
Seleccione el archivo XML del tipo de elemento de trabajo que desea actualizar y, a continuación, haga clic en Abrir. Cuando se le pregunte sobre los finales de línea, haga clic en No.
Busque la definición del flujo de trabajo del tipo de elemento de trabajo, en la sección <WORKFLOW> del archivo XML, como se muestra en el siguiente código XML:
<WORKFLOW> <STATES> <STATE value="Active"> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ClosedDate"> <EMPTY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ClosedBy"> ...
Agregue un estado Unapproved a la definición de tipo insertando otro elemento <STATE>. El nuevo estado se muestra tal como resalta el ejemplo siguiente:
<WORKFLOW> <STATES> <STATE value="Unapproved"> </STATE> <STATE value="Active"> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ClosedDate"> <EMPTY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ClosedBy"> ...
Cree una transición entre el estado NULL y el estado Unapproved. Para ello, localice primero la sección de la definición del flujo de trabajo para las transiciones. A continuación, inserte el XML siguiente, que se muestra resaltado en el ejemplo siguiente.
Nota
Debido a este cambio, todos los elementos de trabajo nuevos de este tipo comenzarán en el estado Unapproved con el motivo predeterminado New.
<TRANSITIONS> <TRANSITION from="" to="Unapproved"> <REASONS> <DEFAULTREASON value="New" /> </REASONS> </TRANSITION> <TRANSITION from="" to="Active"> <REASONS> <DEFAULTREASON value="New" /> </REASONS> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ActivatedBy"> <COPY from="currentuser" /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ActivatedDate"> <COPY from="clock" /> </FIELD> <FIELD refname="System.AssignedTo"> <COPY from="currentuser" /> </FIELD> </FIELDS> </TRANSITION>
Elimine la transición a Active que se muestra resaltada en el XML siguiente.
Debe hacerlo porque únicamente puede haber una transición de apertura.
<TRANSITIONS> <TRANSITION from="" to="Unapproved"> <REASONS> <DEFAULTREASON value="New" /> </REASONS> </TRANSITION> <TRANSITION from="" to="Active"> <REASONS> <DEFAULTREASON value="New" /> </REASONS> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ActivatedBy"> <COPY from="currentuser" /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ActivatedDate"> <COPY from="clock" /> </FIELD> <FIELD refname="System.AssignedTo"> <COPY from="currentuser" /> </FIELD> </FIELDS> </TRANSITION>
Agregue un motivo "Ported" para la transición de apertura; para ello, inserte el siguiente XML que se muestra resaltado en el ejemplo siguiente. De esta forma, los usuarios pueden saber si el elemento de trabajo es nuevo o se ha trasladado desde otro sistema de seguimiento.
<TRANSITIONS> <TRANSITION from="" to="Unapproved"> <REASONS> <DEFAULTREASON value="New" /> <REASON value="Ported" /> </REASONS> </TRANSITION> ...
Inserte la siguiente regla COPY, que se muestra resaltado en el ejemplo siguiente. Esta regla asigna como valor predeterminado al campo Assigned To el usuario que ha creado el elemento de trabajo. Además, sólo se va a evaluar durante la transición de apertura.
<TRANSITIONS> <TRANSITION from="" to="Unapproved"> <REASONS> <DEFAULTREASON value="New" /> <REASON value="Ported" /> </REASONS> <FIELDS> <FIELD refname="System.AssignedTo"> <COPY from="currentuser" /> </FIELD> </FIELDS> </TRANSITION> ...
Nota
Al insertar esta regla debajo de otros elementos <TRANSITION> o <STATE>, su ámbito se aplicará a otras transiciones o estados. Para obtener más información, vea Cómo se evalúan las reglas.
Cree una transición desde el estado Unapproved al estado Active; para ello, inserte el siguiente código XML, que se muestra resaltado en el ejemplo que figura a continuación. Debido a este cambio, cuando se aprueba el elemento de trabajo, éste puede pasar por esta transición.
<TRANSITIONS> <TRANSITION from="" to="Unapproved"> <REASONS> <DEFAULTREASON value="New" /> <REASON value="Ported" /> </REASONS> <FIELDS> <FIELD refname="System.AssignedTo"> <COPY from="currentuser" /> </FIELD> </FIELDS> </TRANSITION> <TRANSITION from="Unapproved" to="Active"> <REASONS> <DEFAULTREASON value="Approved" /> </REASONS> </TRANSITION> <TRANSITION from="Active" to="Closed"> <REASONS> <DEFAULTREASON value="Completed" /> <REASON value="Deferred" /> <REASON value="Obsolete" /> <REASON value="Cut" /> </REASONS> ...
En la barra de herramientas, haga clic en Guardar para guardar los cambios realizados en el archivo XML.
Para importar el nuevo tipo de elemento de trabajo a un proyecto único, vea Personalizar y administrar tipos de elemento de trabajo [witadmin]. Para agregar el tipo de elemento de trabajo a la plantilla de proceso, vea Agregar definiciones de tipo de elementos de trabajo a una plantilla de procesos.
Para comprobar los cambios importados a un proyecto único
En Team Explorer, haga clic en Actualizar para descargar las últimas actualizaciones desde el servidor.
Estas actualizaciones incluyen los cambios que acaba de importar. Espere varios segundos hasta que se cargue el nodo de elementos de trabajo. Los nodos que se están cargando muestran la palabra trabajando.
Cree un nuevo elemento de trabajo utilizando el tipo de elemento de trabajo que ha modificado. Para ello, haga clic con el botón secundario del mouse en el nodo Elementos de trabajo, elija Agregar elemento de trabajo y, a continuación, haga clic en el tipo de elemento de trabajo.
Este elemento de trabajo se crea a partir del tipo de elemento de trabajo que ha cambiado e importado.
Observe que el Estado inicial es ahora Unapproved y que Reason tiene el valor New. Además, el valor de Assigned To es su nombre de cuenta. Haga clic en el campo Reason para ver un cuadro de lista que incluye los motivos New y Ported.
En el campo Título, escriba un título y, a continuación, haga clic en Guardar para guardar el elemento de trabajo. Espere hasta que finalice la operación, de acuerdo con lo que se indica en Elementos guardados en la barra de estado.
En el campo Estado, seleccione el valor Active para aprobar el elemento de trabajo y volver a efectuar su transición. Observe que el campo Reason es Approved.
En la barra de herramientas, haga clic en Guardar para guardar esta transición.
Haga clic en Cerrar para cerrar el nuevo elemento de trabajo.
Vea también
Conceptos
Restringir las transiciones de estado
Cuándo y dónde aplicar una regla de campo
Otros recursos
Automatizar las asignaciones de campo en función del estado, la transición o la razón