Rollup on backlogs and Azure App Service deployment improvements - Sprint 157 Update
In the Sprint 157 Update of Azure DevOps, we added rollup columns to backlogs that let you track progress across work item hierarchies (e.g. Epics/Features/User Stories). We also added multiple improvements for deploying Azure App Service apps.
Check out the Features list below for more.
What’s new in Azure DevOps
Features
General:
- Get personalized notifications with @mention support in Slack apps
- Download a list of organizations to a directory
Azure Boards:
Azure Repos:
- Policy to block files with specified patterns
- Resolve work items via commits using key words
- Granularity for automatic reviewers
Azure Artifacts:
- Get latest Universal Package with Semantic Versioning (SemVer) wildcard
- Azure Artifacts feeds in the Visual Studio Package Manager
Azure Pipelines:
- Create Azure Pipelines from VSCode
- New task for configuring Azure App Service app settings
- Azure App Service now supports Swap with preview
- YAML templates for Python and .NET Functions apps
- Service hooks for YAML pipelines
- Enhancement to Azure Pipelines app for Jira
- GitHub release task enhancements
- Stage level filter for Azure Container Registry and Docker Hub artifacts
- Sovereign cloud support in Kubernetes service connection
- Updates to hosted pipelines images
Reporting:
General
Get personalized notifications with @mention support in Slack apps
Up to now, while using the Azure DevOps apps with Slack, customers have had to spend a considerable amount of time polling Slack channels looking for notifications requiring action. Now, the Azure Boards app for Slack, Azure Repos app for Slack and Azure Pipelines app for Slack will use @mentions in notifications to alert users.
Here are some example scenarios where users are @mentioned:
- Failed builds will @mention the creator of the build
- Release deployments waiting for approval will @mention approver
- Work items assignments will @mention the new owner
- Work item state changes will @mention the owner
- Pull requests waiting for approval will @mention the approver
- Pull requests being approved or rejected will @mention the pull request creator
Kyle gets @mentioned when a release deployment is waiting for her approval
Brian gets @mentioned when a work item is assigned to him
Alice gets @mentioned when her pull request gets approved
Download a list of organizations to a directory
You can now download the complete list of organizations backed by your Azure Active Directory tenant. This list can be retrieved from the Azure Active Directory tab in the Organization Settings of any organization associated with the directory. The download details will include the organization ID, Organization Name, Organization URL, and the Organization Owner.
Azure Boards
Track the progress of parent items using Rollup on Boards backlog
Rollup columns show progress bars and/or totals of numeric fields or descendant items within a hierarchy. Descendant items correspond to all child items within the hierarchy. One or more rollup columns can be added to a product or portfolio backlog.
For example, here we show Progress by Work Items which displays progress bars for ascendant work items based on the percentage of descendant items that have been closed. Descendant items for Epics includes all child Features and their child or grand child work items. Descendant items for Features includes all child User Stories and their child work items.
Taskboard live updates
Your taskboard now automatically refreshes when changes occur! As other team members move or reorder cards on the taskboard, your board will automatically update with these changes. You no longer have to press F5 to see the latest changes.
Azure Repos
Policy to block files with specified patterns
Administrators can now set a policy to prevent commits from being pushed to a repository based on file types and paths. The file name validation policy will block pushes that match the provided pattern.
Resolve work items via commits using key words
You can now resolve work items via commits made to the default branch by using key words like fix, fixes, or fixed. For example, you can write - "this change fixed #476" in your commit message and work item #476 will be completed when the commit is pushed or merged into the default branch. For more details see the documentation here.
Granularity for automatic reviewers
Previously, when adding group level reviewers to a pull request, only one approval was required from the group that was added. Now you can set policies that require more than one reviewer from a team to approve a pull request when adding automatic reviewers. In addition, you can add a policy to prevent requestors approving their own changes.
Azure Artifacts
Get latest Universal Package with Semantic Versioning (SemVer) wildcard
It has been a long pending request on Developer Community to get the latest Universal Package version using SemVer wildcard syntax. You can now get latest using both the Azure CLI and the Universal Package Azure Pipelines task. Check out the documentation to learn more.
Azure Artifacts feeds in the Visual Studio Package Manager
We now show package icons, descriptions, and authors in the Visual Studio NuGet Package Manager for packages served from Azure Artifacts feeds. Previously, most of this metadata was not provided to VS.
Azure Pipelines
Create Azure Pipelines from VSCode
We've added a new functionality to the Azure Pipelines extension for VSCode. Now, you will be able to create Azure Pipelines directly from VSCode without leaving the IDE.
New task for configuring Azure App Service app settings
Azure App Service allows configuration through various settings like app settings, connection strings and other general configuration settings. We now have a new Azure Pipelines task Azure App Service Settings which supports configuring these settings in bulk using JSON syntax on your web app or any of its deployment slots. This task can be used along with other App service tasks to deploy , manage and configure your Web apps, Function apps or any other containerized App Services.
Azure App Service now supports Swap with preview
Azure App Service now supports Swap with preview on its deployment slots. This is a good way to validate the app with production configuration before the app is actually swapped from a staging slot into production slot. This would also ensure that the target/production slot doesn't experience downtime.
Azure App Service task now supports this multi-phase swap through the following new actions:
- Start Swap with Preview - Initiates a swap with a preview (multi-phase swap) and applies target slot (for example, the production slot) configuration to the source slot.
- Complete Swap with Preview - When you're ready to complete the pending swap, select the Complete Swap with Preview action.
- Cancel Swap with Preview - To cancel a pending swap, select Cancel Swap with Preview.
YAML templates for Python and .NET Functions apps
With this update, we are adding support for YAML templates for Functions app based on .NET and Python. In line with YAML based pipelines value proposition, you can now manage the build and deployment of these functions' application in your code.
Service hooks for YAML pipelines
Integrating services with YAML pipelines just got easier. Using service hooks events for YAML pipelines, you can now drive activities in custom apps or services based on progress of the pipeline runs. For example, you can create a helpdesk ticket when an approval is required, initiate a monitoring workflow after a stage is complete or send a push notification to your team's mobile devices when a stage fails.
Filtering on pipeline name and stage name is supported for all events. Approval events can be filtered for specific environments as well. Similarly, state change events can be filtered by new state of the pipeline run or the stage.
Enhancement to Azure Pipelines app for Jira
The Azure Pipelines app for Jira enables bi-directional linking between releases in Azure Pipelines and issues in Jira software cloud. So far the app supported linking only when a GitHub repository was the source for the release. With this update, we have extended the support for linking when Azure Repos are used.
You can use a third party app to integrate Azure Repos with Jira software cloud, and add Jira issue keys to the commit or pull request message. When a release will deploy these commits, you will be able to associate the Jira issues deployed with the release and also track deployment status in each of the Jira issues.
GitHub release task enhancements
We've made several enhancements to the GitHub Release task. You can now have better control over release creation using the tag pattern field by specifying a tag regular expression and the release will be created only when the triggering commit is tagged with a matching string.
We've also added capabilities to customize creation and formatting of changelog. In the new section for changelog configuration, you can now specify the release against which the current release should be compared. The Compare to release can be the last full release (excludes pre-releases), last non-draft release or any previous release matching your provided release tag. Additionally, the task provides changelog type field to format the changelog. Based on the selection the changelog will display either a list of commits or a list of issues/PRs categorized based on labels.
Stage level filter for Azure Container Registry and Docker Hub artifacts
Previously, regular expression filters for Azure Container Registry and Docker Hub artifacts were only available at the release pipeline level. They have now been added at the stage level as well.
Sovereign cloud support in Kubernetes service connection
Previously, it was possible to use the service account option to setup Kubernetes service connection for Kubernetes clusters in Azure China Cloud and Azure Government Cloud. Now, you can use the Azure option for setting up Kubernetes service connections associated with managed Azure Kubernetes Service clusters that are a part of Azure China Cloud and Azure Government Cloud.
Updates to hosted pipelines images
We've made updates to several of the Azure Pipelines hosted VM images. The following are some the highlights in this update:
- Added AWS, Google Cloud, and Zeit CLIs to Ubuntu 16.04
- Updated Rust 1.36 to 1.37 on Ubuntu 16.04, VS2017, and VS2019
- Updated Ruby 2.6.2 to 2.6.3 on Ubuntu 16.04
- Updated Ruby 2.4.5 to 2.4.6, 2.5.3 to 2.5.5, and 2.6.1 to 2.6.3 on VS2017 and VS2019
- Updated Google Chrome and web driver from 75 to 76
- Added WIX Toolset Visual Studio Extension to VS 2019
- Various bug fixes
You can find more details about the latest releases here.
Note
We will remove Ruby 2.3 from all images in a coming update as it reached end-of-life on March 31, 2019.
Reporting
Lead and Cycle Time widgets advanced filtering
Lead and cycle time are used by teams to see how long it takes for work to flow through their development pipelines, and ultimately deliver value to their customers.
Until now, the lead and cycle time widgets did not support advanced filter criteria to ask questions such as: "how long is it taking my team to close out the higher priority items?"
With this update questions like this can be answered by filtering on the Board swimlane.
We've also included work item filters in order to limit the work items that appear in the chart.
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.
You can also get advice and your questions answered by the community on Stack Overflow.
Thanks,
Aaron Hallberg