Resumen: Novedades de esta versiónDetails: What's New in this Release

Seguimiento de elementos de trabajo Work Item Tracking

Se ha mejorado la experiencia de creación de proyectos de equipo desde la Web.We have improved the experience for creating a Team Project from web access.Ahora, al crear un proyecto de equipo en el cliente de Visual Studio, se incluyen la mayoría de las características disponibles.It now includes most of the features available when you create a Team Project in the Visual Studio client.La ventaja de utilizar la interfaz web es que no necesita una versión coincidente de Visual Studio.The benefit of using the web interface is that you don't need a matching Visual Studio version.La diferencia entre utilizar Visual Studio o la versión web es que la versión web no ofrece informes SSRS.The difference of using Visual Studio or the web version is that the web version doesn’t provision your reports in SSRS.Si ha utilizado la versión web para la creación de proyectos de equipo, puede ejecutar el comando tfsconfig en la capa de aplicación para que se proporcionen o actualicen los informes SSRS.If you used the web version of the Team Project creation, you can run the tfsconfig command on the Application Tier to provision or update the SSRS reports.Puede consultar los detalles en agregar informes del proyecto.See details in add project reports.

Administrador de plantillas de proceso en la WebProcess Template Manager on the web

Con la nueva navegación para móviles (Figura 3), los usuarios pueden ir a otras partes de TFS optimizadas para móviles y regresar al sitio de escritorio completo si necesitan interactuar con otros concentradores.With the new mobile navigation (Figure 3), users can reach any other mobile-ready parts of TFS and get back to the full desktop site in case they need to interact with other hubs.

Ahora puede agregar campos adicionales a una tarjeta y ocultar campos vacíos(Figura 5) desde la configuración del panel para quitar elementos innecesarios.Today, you have the option to add additional fields to a card and then hide empty fields(Figure 5) in board settings to remove unnecessary clutter from the board.El inconveniente de esta característica es que, una vez que se ha ocultado un campo vacío, la única forma de actualizarlo es abriendo el formulario de elemento de trabajo.The drawback to this feature was that once an empty field was hidden, the only way to update the field was to open the work item form.La nueva opción de expansión de las tarjetas kanban le permite beneficiarse de la ocultación de campos vacíos en el tablero, pero sin perder el acceso con un solo clic a la actualización de un campo concreto de la tarjeta.With the newly available expand option on Kanban cards, you can now benefit from hiding empty fields across the board, but still have single click access to update a particular field on a card.Para actualizar el campo oculto, basta con mover el puntero por encima de la tarjeta y buscar el botón de contenido adicional que apunta hacia abajo y que está situado en la parte inferior de la tarjeta.Simply hover over the card and look for the down chevron at the bottom of the card to update the hidden field.

Buscar una rama eliminada y volver a crearlaSearch for a deleted branch and re-create it

Cuando una rama se elimina por error del servidor, puede ser difícil saber dónde ha ido a parar.When a branch is accidentally deleted from the server, it can be difficult to figure out what happened to it.Ahora puede buscar las ramas eliminadas, ver quién las ha eliminado y cuándo, y volver a crearlas, si lo desea.Now you can search for a deleted branch, see who deleted it and when, and re-create it if you wish.

Al restaurar una rama, se volverá a crear en la confirmación a la que se dirigió por última vez.Restoring the branch will re-create it at the commit to which is last pointed.Sin embargo, las directivas y los permisos no se restaurarán.However, it will not restore policies and permissions.

Filtrar etiquetas de GitFiltering Git tags

En los repositorios antiguos, el número de etiquetas puede aumentar significativamente con el tiempo. También puede haber repositorios cuyas etiquetas se hayan creado en jerarquías, lo que puede dificultar la búsqueda de etiquetas.For old repositories, the number of tags can grow significantly with time; there can also be repositories that have tags created in hierarchies, which can make finding tags difficult.

Si no encuentra la etiqueta que busca en la página Etiquetas, puede simplemente buscar el nombre de la etiqueta con el filtro de la parte superior de la página Etiquetas(figura 27).If you are unable to find the tag that you were looking for on the Tags page, then you can simply search for the tag name using the filter on top of the Tags page (Figure 27).

Los equipos que opten por un flujo de trabajo de aprobación más estricto en las solicitudes de incorporación de cambios, pueden restablecer los votos al insertar nuevos cambios (Figura 30).Teams opting for a more strict approval workflow in PRs can now opt-in to reset votes when new changes are pushed (Figure 30).La nueva opción de configuración se encuentra en la directiva para requerir un número mínimo de revisores.The new setting is an option under the policy to Require a minimum number of reviewers.

(Figura 30) Restablecer la configuración de votos

(Figure 30) Reset votes setting

Si se define esta opción, se restablecerán todos los votos de todos los revisores siempre que la rama de origen de la solicitud de incorporación de cambios se actualice.When set, this option will cause all votes from all reviewers to be reset any time the source branch of the PR is updated.La escala de tiempo de esta solicitud registrará una entrada cada vez que se restablezcan los votos como resultado de esta opción (Figura 31).The PR timeline will record an entry any time the votes are reset as a result of this option (Figure 31).

(Figura 31) Restablecer votos en la escala de tiempo

(Figure 31) Reset votes in timeline

Filtrar el árbol de solicitudes de incorporación de cambios por nombre de archivoFilter pull request tree by file name

Ahora, los comentarios de la vista general de la solicitud de incorporación de cambios y de la vista de archivos tienen las mismas opciones (Figura 34).Comments in both the pull request overview and the files view now have the same options (Figure 34).También puede filtrar para ver solo las conversaciones en las que ha participado.You can also filter to see only the discussions you participated in.

Si esto sucede, verá una notificación con un número de actualización en el que puede hacer clic para ver el aspecto del código en el momento en que se creó el comentario (Figura 36).When this happens, you’ll now see a badge with an update number that you can click to see what the code looked like at the time the comment was originally created (Figure 36).

La revisión del código es una parte fundamental de la experiencia de solicitud de incorporación de cambios. Por ello, hemos agregado nuevas características que permiten a los revisores centrarse en el código.Reviewing code is a critical part of the pull request experience, so we’ve added new features to make it easier for reviewers to focus on the code.Los revisores de código pueden ocultar fácilmente los comentarios para que no les estorben mientras revisan un código nuevo por primera vez (Figura 37).Code reviewers can easily hide comments to get them out of the way when reviewing new code for the first time (Figure 37).

Si está de acuerdo con un comentario en una solicitud de incorporación de cambios, puede hacer clic en el botón de Me gusta(Figura 42).Show your support for a PR comment with a single click on the like button (Figure 42).Para ver una lista de todas las personas a las que les ha gustado el comentario, pase el botón por encima del botón.You can see the list of all people that liked the comment by hovering over the button.

Wiki ahora admite las secciones de vinculación en profundidad dentro de una página y en varias páginas, algo que resulta muy útil a la hora de crear una tabla de contenido.Wiki now supports deep linking sections within a page and across pages, which is really useful for creating a table of contents.Puede hacer referencia a un encabezado de la misma página o de otra usando la siguiente sintaxis:You can reference a heading in the same page or another page by using the following syntax:

Cualquier acción que pueda realizar desde la página de detalles del paquete ahora la puede llevar a cabo desde el menú contextual en la lista de paquetes.Any action that you could perform on the package details page can now be performed from the context menu in the list of packages.

Como parte de este trabajo, también hemos lanzado la nueva tarea Instalador de la herramienta NuGet, que controla la versión de NuGet disponible en la ruta de acceso y que utiliza la nueva tarea de NuGet.As part of this work, we’ve also released a new NuGet Tool Installer task that controls the version of NuGet available on the PATH and used by the new NuGet task.Por tanto, para usar una versión más reciente de NuGet, agregue la tarea Instalador de la herramienta NuGet al inicio de la compilación (Figura 59).So, to use a newer version of NuGet, just add a NuGet Tool Installer task at the beginning of your build (Figure 59).

Muchos clientes de NuGet nos han dicho que generan un conjunto de paquetes de los que solo actualizan unos cuantos (y que, por lo tanto, tienen números de versión actualizados).We heard from many NuGet customers that they generate a set of packages, only some of which may have updates (and therefore updated version numbers).La tarea de compilación de NuGet tiene una nueva opción Permitir la omisión de duplicados que permitirá que la tarea continúe si intenta insertar paquetes en una fuente de TFS/VSTS cuya versión ya se esté utilizando.The NuGet build task has a new Allow duplicates to be skipped option that will enable the task to continue if it tries to push packages to a VSTS/TFS feed where the version is already in use.

El comportamiento del campo Ruta de acceso a proyectos ha cambiado en la versión 2.0 de la tarea.The behavior of Path to project(s) field has changed in the 2.0 version of the task.En versiones anteriores de la tarea, si no se encontraban los archivos de proyecto que coincidieran con el patrón especificado, la tarea acostumbraba a registrar una advertencia y, a continuación, se realizaba correctamente.In previous versions of the task, if the project file(s) matching the specified pattern were not found, the task used to log a warning and then succeed.En tales situaciones, a veces puede ser difícil de entender por qué la compilación se ha realizado correctamente pero las dependencias no se han restaurado.In such scenarios it can sometimes be challenging to understand why the build succeeded but dependencies were not restored.Ahora, si no se encuentran los archivos de proyecto que coincidan con el patrón especificado, la tarea no se realizará correctamente.Now the task will fail if the project file(s) matching the specified pattern are not found.Esto está en consonancia con el comportamiento de otras tareas y es fácil de entender y usar.This is in line with the behavior of other tasks and is easy to understand and use.

En versiones anteriores del comando de publicación de la tarea, la tarea modificaba la ruta de acceso de salida colocando todos los archivos en una carpeta que llevaba el mismo nombre del archivo de proyecto, incluso si se pasaba una ruta de acceso de salida explícita.In previous versions of the task’s publish command, the task modified the output path by putting all the files in a folder that was named after the project file name, even when you passed an explicit output path.Esto dificultaba la concatenación de comandos.This makes it hard to chain commands together.Ahora es posible controlar el archivo de la ruta de acceso de salida.Now you have control over the output path file.

También hemos lanzado la nueva tarea Instalador de la herramienta dotnet, que controla la versión de dotnet disponible en la ruta de acceso y que utiliza la nueva tarea de dotnet.We’ve also released a new dotnet Tool Installer task that controls the version of dotnet available on the PATH and used by the new dotnet task.Por lo tanto, para usar una versión más reciente de dotnet, agregue la tarea Instalador de la herramienta dotnet al inicio de la compilación.So, to use a newer version of dotnet, just add a dotnet Tool Installer task at the beginning of your build.

Las plantillas de compilación permiten crear una base de referencia para que los usuarios empiecen a definir su proceso de compilación.Build templates let you create a baseline for users to get started with defining their build process.Hoy hemos enviado unas cuantas. Aunque se podían cargar plantillas nuevas a la cuenta, los autores de las extensiones no podían incluir plantillas nuevas como parte de una extensión.We ship a number of them in the box today and while you could upload new ones to your account, it was never possible for extension authors to include new templates as part of an extension.Ahora puede incluir plantillas de compilación en las extensiones.You can now include build templates in your extensions.Por ejemplo:For example:

Puede utilizar esta capacidad para ofrecer y compartir la misma plantilla personalizada en todos los proyectos de equipo.You can use this capability to offer and share the same custom template across all your team projects.

Dejar de utilizar una tarea en una extensiónDeprecate a task in an extension

Ahora puede dejar de utilizar una tarea en una extensión.You can now deprecate a task in your extension.Para que funcione, debe agregar la siguiente variable a la versión más reciente de la tarea:To make it work, you must add the following variable to the latest version of your task:

Anteriormente, si se usaba una extensión que tenía tareas de compilación y secciones de resumen de compilación, se mostraba una sección de resumen de compilación, incluso si no se usaba la tarea de compilación en esa compilación.Previously, if you were using an extension that had build tasks and build summary sections, you’d see the build summary section even if you weren’t using the build task in that build.Ahora puede optar por ocultar o mostrar esta sección en la página de resumen de la compilación. Para ello, agregue la siguiente línea en el código de extensión y establezca el valor en true o false:Now, you can choose to hide or show that section in the build summary page by adding the following line in your extension code and setting the value to true or false:

Mejoras en el editor de tareas y fasesImproved task and phase editor

Todas las mejoras del nuevo editor de definición de compilación ya están disponibles también en el editor de definición de versiones (figura 72).All the enhancements in the new build definition editor are now available in the release definition editor, as well (Figure 72).Puede buscar tareas y agregarlas con el botón Agregar, o bien puede usar la función de arrastrar y colocar.You can search for tasks and add them by either using the Add button or by using drag/drop.Puede cambiar el orden de las tareas o clonarlas con arrastrar/colocar.You can reorder or clone tasks using drag/drop.

Cuando tenga un grupo de implementaciones, solo tendrá que configurar las opciones que quiera que ejecutemos en dicho grupo (Figura 76).Once you have a deployment group, you simply configure what you want us to execute on that deployment group (Figure 76).Las etiquetas le permiten controlar qué se ejecuta en cada equipo, pero también puede supervisar la velocidad de ejecución del lanzamiento.You can control what gets run on which machines using tags and control how fast or slow the rollout happens.

(Figura 76) Configurar grupos de implementación

(Figure 76) Configure deployment groups

Al ejecutar la implementación, en los registros se muestra la progresión de todo el grupo de equipos de destino (Figura 77).When the deployment is run, the logs show the progression across the entire group of machines you are targeting (Figure 77).

Referencias del grupo de tareasTask group references

Los grupos de tareas le permiten definir un conjunto de tareas que puede agregar a las definiciones de la implementación o versión (Figura 80).Task groups let you define a set of tasks that you can add to your build or release definitions (Figure 80).Esto resulta útil si tiene que usar la misma agrupación de tareas en diferentes compilaciones o versiones.This is handy if you need to use the same grouping of tasks in multiple builds or releases.Para ayudarle a hacer el seguimiento de los consumidores de un grupo de tareas, ahora puede ver las definiciones de la compilación, las definiciones de la versión y los grupos de tareas que hacen referencia a su grupo de tareas (Figura 79).To help you track the consumers of a task group, you now have a view into the build definitions, release definitions, and task groups that reference your task group (Figure 79).

(Figura 80) Referencias del grupo de tareas

(Figure 80) Task group references

Si intenta eliminar un grupo de tareas al que todavía se hace referencia, le avisaremos y le ofreceremos un vínculo a dicha página.When you try to delete a task group that’s still referenced, we warn you and give you a link to this page.

Versiones del grupo de tareasTask group versioning

Realizar cambios en grupos de tareas puede parecer arriesgado porque el cambio se hace efectivo en todas las definiciones que utilizan el grupo de tareas.When making changes to task groups, it can feel risky because the change is effective to all definitions that use the task group.Con las versiones de los grupos de tareas, ahora puede crear un borrador, previsualizar las versiones de grupos de tareas y seguir ofreciendo versiones estables para las definiciones más importantes hasta que esté todo listo para hacer el cambio.With task group versioning, now you can draft and preview task group versions while still offering stable versions to your most important definitions until you are ready to switch.Después de hacer algunos borradores y algunas iteraciones, puede publicar una versión estable. Si los cambios son importantes por naturaleza, puede optar por publicar el grupo de tareas como versión preliminar (una nueva versión principal).After some drafting and iteration, you can publish a stable version and, while publishing, if the changes are breaking in nature, you can choose to publish the task group as preview (a new major version).También puede publicarla directamente como una versión estable actualizada (Figura 81).Alternatively, you can publish it directly as an updated stable version (Figure 81).

Cuando haya disponible una nueva versión principal (o vista preliminar) del grupo de tareas, el editor de la definición le avisará de ello.When a new major (or preview) version of the task group is available, the definition editor will advise you that there is a new version.Si esa versión principal es una versión preliminar, incluso verá un mensaje en que se le indica “Pruébela”.If that major version is preview, you even see a “try it out” message.Cuando el grupo de tareas sale de la versión preliminar, las definiciones que lo usen se actualizarán automáticamente, deslizándose por ese canal principal (Figura 82).When the task group comes out of preview, definitions using it will be auto-updated, sliding along that major channel (Figure 82).

En el nuevo editor de definiciones de versión ahora puede especificar condiciones de artefactos para un entorno en concreto.In the new release definition editor you can now specify artifact conditions for a particular environment.Gracias a estas condiciones de artefactos, tendrá un control más detallado de los artefactos que se deben implementar en un entorno específico.Using these artifact conditions, you will have more granular control on which artifacts should be deployed to a specific environment.Por ejemplo, en un entorno de producción le podría interesar asegurarse de que se implementan las compilaciones generadas únicamente a partir de la rama maestra.For example, for a production environment you may want to make sure that builds generated only from the master branch are deployed.Este filtro se debe establecer para todos los artefactos que cree que deben cumplir estos criterios.This filter needs to be set for all artifacts that you think should meet this criterion.

También puede agregar varios filtros para cada artefacto vinculado a la definición de versión (Figura 90).You can also add multiple filters for each artifact that is linked to the release definition (Figure 90).La implementación se activará en este entorno solo si se cumplen todas las condiciones de los artefactos.Deployment will be triggered to this environment only if all the artifact conditions are successfully met.

(Figura 90) Filtros de rama

(Figure 90) Branch filters

Mejoras en las tareas del servidorEnhancements to server-side tasks

Hemos realizado dos mejoras en las tareas del servidor (tareas que se ejecutan dentro de una fase de servidor).We have made two enhancements to server-side tasks (tasks that run within a server phase).

Hemos agregado una nueva tarea que puede usarse para invocar las API de REST HTTP genéricas (Figura 91) como parte de la canalización automatizada.We have added a new task that can be used to invoke any generic HTTP REST API (Figure 91) as part of the automated pipeline.Por ejemplo, se puede utilizar para invocar el procesamiento específico con una función de Azure y esperar a que finalice.For example, it can be used to invoke specific processing with an Azure function, and wait for it to be completed.

Hasta el momento, al actualizar la definición de una versión, no se podía revertir directamente a una versión anterior.Today, if a release definition is updated, you can’t directly revert to a previous version.La única forma consistía en buscar los cambios en el historial de definiciones de la versión y, a continuación, editar manualmente la definición de la versión.The only way is to look into the release definition history to find the diff of the changes, and then manually edit the release definition.Ahora, con la característica Revertir definición(Figura 96), puede elegir una versión anterior de la definición de una versión (o revertir a una anterior) desde la pestaña Historial de la definición de versión.Now, using the Revert Definition feature (Figure 96), you can choose, and revert back to any older version of a release definition from the release definition History tab.

En función del número de pruebas y de agentes que participen en la ejecución, que simplemente agrupa las pruebas en una serie de lotes de un tamaño especificado.Based on the number of tests and agents participating in the run, which simply groups tests into a number of batches of a specified size.

En función del tiempo de ejecución transcurrido de las pruebas, que tiene en cuenta el tiempo de ejecución transcurrido para crear lotes de pruebas de modo que cada lote tenga aproximadamente el mismo tiempo de ejecución (Figura 100).Based on past running time of tests, which considers past running time to create batches of tests such that each batch has approximately equal running time (Figure 100).Las pruebas de ejecución rápida se agrupan en lotes de forma conjunta, mientras que las pruebas de ejecución prolongada pueden ser de un lote independiente.Quick running tests get batched together while longer running tests may belong to a separate batch.Esta opción se puede combinar con la opción de fase de multiagente para reducir al mínimo el tiempo total de la prueba.This option can be combined with the multi-agent phase setting to reduce the total test time to a minimum.

TFS 2018 y las versiones posteriores ya no admiten la extensión de TFS para SharePoint.TFS 2018 and later versions will no longer support the TFS Extension for SharePoint.Además, las pantallas que se utilizan para configurar la integración entre un servidor de TFS y un servidor de SharePoint se han quitado de la Consola de administración de Team Foundation.Additionally, the screens used to configure integration between a TFS Server and a SharePoint server have been removed from the Team Foundation Administration Console.

Nota

Si actualiza a TFS 2018 desde una versión anterior configurada para integrarse con SharePoint, tendrá que deshabilitar la integración con SharePoint después de la actualización (si no lo hace, los sitios de SharePoint de TFS no se cargarán).If you are upgrading to TFS 2018 from a previous version configured to integrate with SharePoint, you will need to disable the SharePoint integration after upgrade, or your TFS SharePoint sites will fail to load.

Con tantas soluciones disponibles que se integran bien con TFS y Visual Studio Team Services, en enero anunciamos nuestra intención de retirar la característica Centro de reunión de TFS 2018 y de Visual Studio Team Services.With so many good solutions available that integrate well with TFS and Visual Studio Team Services, we announced in January the plans to remove our Team Room feature from both TFS 2018 and Visual Studio Team Services.