Enhancements to Azure Boards - Sprint 156 Update

In the Sprint 156 Update of Azure DevOps, we continue to improve Azure Boards to include items that can help enhance the user's experience. For instance, you can now customize system picklist values such as Severity, Activity and Priority. In addition, we added rule support for setting fields to read-only or required based on group membership. Finally, we created a new extension to allow you to create cascading picklists on your work item form.

Check out the Features list below for more.

What’s new in Azure DevOps

Features

General:

Azure Boards:

Azure Repos:

Azure Artifacts:

Azure Pipelines:

General

Docker

Test

Hosted VMs

Azure experiences

Azure command-line interface

Azure Test Plans:

Reporting:

Wiki:

General

New UI to request access to an organization

You can now request access to an organization with the new request access UI. If you belong to the same tenant as the Azure DevOps organization that you need access to, the new request access UI will let you notify the administrators of the organization with a justification for why you need access. The administrator(s) will receive an email notification from Azure DevOps with the details of the request. Details will include: email ID of the requestor, target organization name and justification.

Request access to an organization.

Azure Boards

Read-only and required rules for group membership

Work item rules let you set specific actions on work item fields to automate their behavior. You can create a rule to set a field to read-only or required based on group membership. For example, you may want to grant product owners the ability to set the priority of your features while making it read-only for everyone else.

Rules for group membership.

Customize system picklist values

You can now customize the values for any system picklist (except the reason field) such as Severity, Activity, Priority, etc. The picklist customizations are scoped so that you can manage different values for the same field for each work item type.

Customize system picklist values.

New work item URL parameter

Share links to work items with the context of your board or backlog with our new work item URL parameter. You can now open a work item dialog on your board, backlog, or sprint experience by appending the parameter ?workitem=[ID] to the URL.

Anyone you share the link with will then land with the same context you had when you shared the link!

Mention people, work items and PRs in text fields

As we listened to your feedback, we heard that you wanted the ability to mention people, work items, and PRs in the work item description area (and other HTML fields) on the work item and not just in comments. Sometimes you are collaborating with someone on a work item, or want to highlight a PR in your work item description, but didn't have a way to add that information. Now you can mention people, work items, and PRs in all long text fields on the work item.

You can see an example here.

Example of long text fields.

  • To use people mentions, type the @ sign and the person's name you want to mention. @mentions in work item fields will generate email notifications like what it does for comments.
  • To use work item mentions, type the # sign followed by the work item ID or title. #mentions will create a link between the two work items.
  • To use PR mentions, add a ! followed by your PR ID or name.

Reactions on discussion comments

One of our main goals is to make the work items more collaborative for teams. Recently we conducted a poll on Twitter to find out what collaboration features you want in discussions on the work item. Bringing reactions to comments won the poll, so we add them! Here are the results of the Twitter poll.

Results of the Twitter poll.

You can add reactions to any comment, and there are two ways to add your reactions – the smiley icon at the top right corner of any comment, as well as at the bottom of a comment next to any existing reactions. You can add all six reactions if you like, or just one or two. To remove your reaction, click on the reaction on the bottom of your comment and it will be removed. Below you can see the experience of adding a reaction, as well as what the reactions look like on a comment.

Add reactions to comments.

Pin Azure Boards reports to the dashboard

In the Sprint 155 Update, we included updated versions of the CFD and Velocity reports. These reports are available under the Analytics tab of Boards and Backlogs. Now you can pin the reports directly to your Dashboard. To pin the reports, hover over the report, select the ellipsis "..." menu, and Copy to Dashboard.

Pin Azure Boards reports to the dashboard.

Azure Repos

Azure Repos app for Slack

We are excited to announce the new Azure Repos app for Slack. With this app, you can monitor your repositories and get notified whenever code is pushed/checked in, pull requests (PR) are created, PRs are updated and much more in your Slack channel. In addition, previews for pull request URLs will help you to initiate discussions around PRs and have contextual and meaningful conversations. The app supports both Git and TFVC repositories.

Azure Repos app for Slack.

Azure Artifacts

Configure upstreams in different organizations within an AAD tenant

You can now add a feed in another organization associated with your Azure Active Directory (AAD) tenant as an upstream source to your Artifacts feed. Your feed can find and use packages from the feeds that are configured as upstream sources, allowing packages to be shared easily across organizations associated with your AAD tenant. See how to set this up in the docs.

Use the Python Credential Provider (preview) to authenticate pip and twine with Azure Artifacts feeds

You can now install and use the Python Credential Provider (artifacts-keyring) (currently in preview) to automatically set up authentication to publish or consume Python packages to or from an Azure Artifacts feed. With the credential provider, you don't have to set up any configuration files (pip.ini/pip.conf/.pypirc), you will simply be taken through an authentication flow in your web browser when calling pip or twine for the first time. See more information in the documentation.

Azure Pipelines

Pipelines caching improvements

In the Sprint 155 Update, we announced the public preview of pipeline caching, a feature designed to reduce build time by allowing files, like downloaded dependencies and compilation outputs, to be reused by later run. In this update we added support for including multiple files in the cache key using glob patterns. For example:

steps:
- task: CacheBeta@0
  inputs:
    key:
    packages/**/package-lock.json, !node_modules/** | $(Agent.OS)
    path:
$(npm_config_cache)

Note

Parts of the key need to be separated with a "|" character (as shown above). This change is being made in anticipation of the upcoming ability to specify alternate restore keys.

To get started, see the pipeline caching documentation.

Increase in gates timeout limit and frequency

Previously, the gate timeout limit in release pipelines was three days. With this update, the timeout limit has been increased to 15 days to allow gates with longer durations. We also increased the frequency of the gate to 30 minutes.

New build image template for Dockerfile

Previously, when creating a new pipeline for a Dockerfile in new pipeline creation, the template recommended pushing the image to an Azure Container Registry and deploying to an Azure Kubernetes Service. We added a new template to let you build an image using the agent without the need to push to a container registry.

New build image template for Dockerfile.

Arguments input in Docker Compose task

A new field has been introduced in the Docker Compose task to let you add arguments such as --no-cache. The argument will be passed down by the task when running commands such as build.

Arguments input in Docker Compose task.

Fix warning in large test attachments

Last month, we added support for test attachments bigger than 100MB. Currently, you might see VSTest task or Publish test results task returning a 403 or 407 error in the logs. If you are using self-hosted builds or release agents behind a firewall which filters outbound requests, you will need to make some configuration changes to be able to use this functionality. ​

Fix warning in large test attachments.

In order to fix this issue, we recommend that you update the firewall for outbound requests to https://*.vstmrblob.vsassets.io. You can find troubleshooting information in the documentation here. ​

Note

This is only required if you're using self-hosted Azure Pipelines agents and you're behind a firewall that is filtering outbound traffic. If you are using Microsoft-hosted agents in the cloud or that aren't filtering outbound network traffic, you don't need to take any action.​

Updates to hosted pipelines images

We've made updates to several of the Azure Pipelines hosted VM images. Highlights include:

  • Added ATL for ARM and ARM64 with and without Spectre mitigations to VS 2017 (already present in VS 2019).
  • Updated patch versions of Java and Go for Ubuntu 16.04, VS 2017, and VS 2019.
  • Increased the limit for open files to 50,000 on Ubuntu 16.04.
  • Various bug fixes.

You can find more details about the latest releases here.

For a full list of tools available for a particular image, go to Settings > Agent pools > Details.

Support for Bitbucket repositories in Deployment Center for AKS and Web App for containers

With this update, we added native support for Bitbucket repositories to our Deployment Center workflows for AKS and Web App for containers. Now you can get OAuth experience and a populated list of repositories and branches of your Bitbucket account. This will help you deploy to your respective resources. In addition, we added an assisted experience by analyzing the Bitbucket repository selected and detecting the DockerFile.

Support for Bitbucket repositories in Deployment Center for AKS and Web App for containers.

Linux Web App support for Java workflows in Azure DevOps Projects

Now you can create a Linux Web App and deploy a sample Java application with a few clicks in Azure DevOps Projects. We will host the sample Java application in Azure Repos and will setup a CI/CD pipeline for it.

Linux Web App support for Java workflows in Azure DevOps Projects.

Pipeline variable group and variable management commands

It can be challenging to port YAML based pipelines from one project to another as you need to manually set up the pipeline variables and variable groups. However, with the pipeline variable group and variable management commands, you can now script the set up and management of pipeline variables and variable groups which can in turn be version controlled, allowing you to easily share the instructions to move and set up pipelines from one project to another.

Run pipeline for a PR branch

When creating a PR, it can be challenging to validate if the changes might break the pipeline run on the target branch. However, with the capability to trigger a pipeline run or queue a build for a PR branch, you can now validate and visualize the changes going in by running it against the target pipeline. Refer az pipelines run and az pipelines build queue command documentation for more information.

Skip the first pipeline run

When creating pipelines, sometimes you want to create and commit a YAML file and not trigger the pipeline run as it may result in a faulty run due to a variety of reasons - such as the infrastructure is being not ready or needing to create variables for example. With Azure DevOps CLI, you can now to skip the first automated pipeline run on creating a pipeline by including the --skip-first-run parameter. Refer az pipeline create command documentation for more information.

Service endpoint command enhancement

Service endpoint CLI commands supported only azure rm and github service endpoint set up and management. However, with this release, service endpoint commands allow you to create any service endpoint by providing the configuration via file and provides optimized commands - az devops service-endpoint github and az devops service-endpoint azurerm, which provide first class support to create service endpoints of these types. Refer the command documentation for more information.

Azure Test Plans

Test Plans Progress report (public preview)

Progress report for Test Plans is now available in public preview. This out-of-the-box report helps you track the execution and status of one or more Test Plans in a project. Visit Test Plans > Progress report* to start using the report.

Progress report for Test Plans.

The three sections of the report include the following:

  1. Summary: shows a consolidated view for the selected test plans.
  2. Outcome trend: renders a daily snapshot to give you an execution and status trendline. It can show data for 14 days (default), 30 days, or a custom range.
  3. Details: this section lets you drill down by each test plan and gives you important analytics for each test suite.

Test Plans progress report.

Enhancements to Test Plans page

You can now add test cases in bulk using the new Test Plans* page grid. The grid has six columns for bulk authoring in contrast to the three columns in the previous view. You can start using grid by navigating to Test Plans* > Add Test Cases > Add Test Cases Using Grid.

Add test cases in bulk using the Test Plans page grid.

Add Test Cases Using Grid.

In addition, we added Chart to the Test Plans* page. You can find the Chart tab by navigating to Test Plans > Chart*.

Chart on the Test Plans page.

Finally, you can now sort the columns in the Define and Execute tabs. You can also adjust the width of the columns to see large titles and run test cases with options from the Execute tab.

Run test cases with options from the Execute tab.

Reporting

Improvement to the Query Results widget

The query results widget is one of our most popular widgets, and for good reason. The widget displays the results of a query directly on your dashboard and is useful in many situations.

With this update we included many long-awaited improvements:

  • You can now select as many columns as you want to display in the widget. No more 5-column limit!
  • The widget supports all sizes, from 1x1 to 10x10.
  • When you resize a column, the column width will be saved.
  • You can expand the widget to full screen view. When expanded, it will display all the columns returned by the query.

Wiki

Comments in wiki pages

Previously, you didn't have a way to interact with other wiki users inside the wiki. This made collaborating on content and getting questions answered a challenge since conversations had to happen over mail or chat channels. With comments, you can now collaborate with others directly within the wiki. You can leverage the @mention users functionality inside comments to draw the attention of other team members. This feature was prioritized based on this suggestion ticket. For more on comments, please see our documentation here.

Comments in wiki pages.

Hide folders and files starting with “.” in wiki tree

Until now, the wiki tree showed all the folders and files starting with a dot (.) in the wiki tree. In code wiki scenarios, this caused folders like .vscode, which are meant to be hidden, to show up in the wiki tree. Now, all the files and folders starting with a dot will remain hidden in the wiki tree hence reducing unnecessary clutter.

This feature was prioritized based on this suggestion ticket.

Next steps

Note

These features will roll out over the next two to three weeks.

Head over to Azure DevOps and take a look.

How to provide feedback

We would love to hear what you think about these features. Use the feedback menu to report a problem or provide a suggestion.

Make a suggestion

You can also get advice and your questions answered by the community on Stack Overflow.

Thanks,

Vijay Machiraju