Skip to content

Commit c34f39b

Browse files
Steve DanielsonSteve Danielson
Steve Danielson
authored and
Steve Danielson
committed
Merge branch 'main'
2 parents 1fb0c49 + b369f94 commit c34f39b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+540
-288
lines changed

.openpublishing.redirection.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -7152,11 +7152,11 @@
71527152
},
71537153
{
71547154
"source_path": "docs/boards/backlogs/office/resolve-excel-data-validation-errors.md",
7155-
"redirect_url": "/azure/devops/boards/backlogs/office/tfs-office-integration-issues.md#resolve-data-validation-errors-that-occur-when-you-publish-from-Excel"
7155+
"redirect_url": "/azure/devops/boards/backlogs/office/tfs-office-integration-issues#resolve-data-validation-errors-that-occur-when-you-publish-from-Excel"
71567156
},
71577157
{
71587158
"source_path": "docs/boards/backlogs/office/resolve-excel-data-conflicts-publish-refresh.md",
7159-
"redirect_url": "/azure/devops/boards/backlogs/office/tfs-office-integration-issues#Resolve-data-conflicts-when-you-publish-or-refresh-Excel-data"
7159+
"redirect_url": "/azure/devops/boards/backlogs/office/tfs-office-integration-issues#resolve-data-conflicts-when-you-publish-or-refresh-Excel-data"
71607160
},
71617161
{
71627162
"source_path": "docs/extend/extension-report.md",

docs/boards/github/link-to-from-github.md

+9-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ms.author: chcomley
88
author: chcomley
99
ms.topic: quickstart
1010
monikerRange: "<=azure-devops"
11-
ms.date: 10/02/2024
11+
ms.date: 04/23/2025
1212
---
1313

1414
# Link GitHub commits, pull requests, branches, and issues to work items in Azure Boards
@@ -41,13 +41,20 @@ AB#{ID}
4141

4242
For example, `AB#125` links to work item ID 125.
4343

44-
You can also enter a commit or pull request message to transition the work item. The system recognizes `fix`, `fixes`, and `fixed`, and applies it to the #-mention item that follows. Mentioned work items transition to the first **State** associated with the *Resolved* workflow category state. If no **State** is associated with *Resolved*, the work item transitions to the **State** associated with the *Completed* workflow category state. For more information, see [How workflow category states are used in Azure Boards backlogs and boards](../work-items/workflow-and-state-categories.md).
44+
You can also enter a commit or pull request message to transition the work item. The system recognizes `{state}` or `{state category}`, along with `fix`, `fixes`, `fixed`, and applies it to the #-mention item that follows.
45+
46+
When a pull request description includes a valid state name, for example, ``Closed AB#1234``, the system updates the referenced work item to that specific state. If the state name isn’t recognized directly, Azure Boards tries to match it to a workflow category like ``Resolved`` or ``Completed``. If a match is found, the work item transitions to the first available state defined under that category.
47+
48+
By default, work items referenced with ``fix``, ``fixes``, or ``fixed`` transitions to the first state associated with the **Resolved** category. If no such state exists in the current process, the system instead transitions the work item to the first state in the **Completed** category.
49+
50+
For more information, see [How workflow category states are used in Azure Boards backlogs and boards](../work-items/workflow-and-state-categories.md).
4551

4652
Review the following table of examples:
4753

4854
| Commit or pull request message | Action |
4955
| :------------------------------------------ | :----------------------------------------------- |
5056
| `Fixed AB#123` | Links and transitions the work item to the *Resolved* workflow state category or, if none is defined, then the *Completed* workflow state category. |
57+
| `Closed AB#123` | Links and transitions the work item to the *Closed* workflow state. If none is defined, no transitions are made.
5158
| `Adds a new feature, fixes AB#123.` | Links and transitions the work item to the *Resolved* workflow state category or, if none is defined, then the *Completed* workflow state category. |
5259
| `Fixes AB#123, AB#124, and AB#126` | Links to Azure Boards work items 123, 124, and 126. Transitions only the first item, 123 to the *Resolved* workflow state category or, if none is defined, then the *Completed* workflow state category.|
5360
| `Fixes AB#123, Fixes AB#124, Fixes AB#125` | Links to Azure Boards work items 123, 124, and 126. Transitions all items to either the *Resolved* workflow state category or, if none is defined, then the *Completed* workflow state category. |

docs/cli/azure-devops-cli-in-yaml.md

+16-16
Original file line numberDiff line numberDiff line change
@@ -174,18 +174,18 @@ trigger:
174174
# Run on multiple Microsoft-hosted agent images
175175
strategy:
176176
matrix:
177+
linux24:
178+
imageName: "ubuntu-24.04"
177179
linux22:
178180
imageName: "ubuntu-22.04"
179-
linux20:
180-
imageName: "ubuntu-20.04"
181+
mac15:
182+
imageName: "macos-15"
183+
mac14:
184+
imageName: "macos-14"
181185
mac13:
182186
imageName: "macos-13"
183-
mac12:
184-
imageName: "macos-12"
185-
mac11:
186-
imageName: "macos-11"
187-
windows2019:
188-
imageName: "windows-2019"
187+
windows2025:
188+
imageName: "windows-2025"
189189
windows2022:
190190
imageName: "windows-2022"
191191
maxParallel: 3
@@ -226,18 +226,18 @@ trigger:
226226
# Run on multiple Microsoft-hosted agent images
227227
strategy:
228228
matrix:
229+
linux24:
230+
imageName: "ubuntu-24.04"
229231
linux22:
230232
imageName: "ubuntu-22.04"
231-
linux20:
232-
imageName: "ubuntu-20.04"
233+
mac15:
234+
imageName: "macos-15"
235+
mac14:
236+
imageName: "macos-14"
233237
mac13:
234238
imageName: "macos-13"
235-
mac12:
236-
imageName: "macos-12"
237-
mac11:
238-
imageName: "macos-11"
239-
windows2019:
240-
imageName: "windows-2019"
239+
windows2025:
240+
imageName: "windows-2025"
241241
windows2022:
242242
imageName: "windows-2022"
243243
maxParallel: 3

docs/managed-devops-pools/configure-security.md

+38-4
Original file line numberDiff line numberDiff line change
@@ -450,12 +450,42 @@ The `permissionProfile` property can be set during pool creation only. Allowed v
450450

451451
## Key Vault configuration
452452

453-
Managed DevOps Pools offers the ability to fetch certificates from an Azure Key Vault during provisioning, which means the certificates will already exist on the machine by the time it runs your Azure DevOps pipelines. To use this feature, you must configure an [identity on your pool](configure-identity.md), and this identity must have **Key Vault Secrets User** permissions to fetch the secret from your Key Vault. To assign your identity to the **Key Vault Secrets User** role, see [Provide access to Key Vault keys, certificates, and secrets with an Azure role-based access control](/azure/key-vault/general/rbac-guide).
453+
Managed DevOps Pools offers the ability to fetch certificates from an Azure Key Vault during provisioning, which means the certificates will already exist on the machine by the time it runs your pipelines.
454+
455+
To use this feature, you must:
456+
- Configure an [identity on your pool](configure-identity.md), and this identity must have **Key Vault Secrets User** permissions to fetch the secret from your Key Vault. To assign your identity to the **Key Vault Secrets User** role, see [Provide access to Key Vault keys, certificates, and secrets with an Azure role-based access control](/azure/key-vault/general/rbac-guide).
457+
458+
- The principal configuring the Key Vault integration settings (if you are configuring the Key Vault settings, then your account) must have the **Key Vault Certificate User** role assignment on the Key Vault where the certificates are stored.
454459

455460
> [!NOTE]
456461
> As of `api-version 2025-01-21`, if you use this feature you can only use a single identity on the pool. Support for multiple identities will be added soon.
457462
>
458463
> Only one identity can be used to fetch secrets from the Key Vault.
464+
>
465+
> Managed DevOps Pools certificate settings are set at the pool level, and some of the settings are specific for Windows or Linux. If your workflow requires both Linux and Windows images, you may have to divide them into multiple pools if you can't find a common set of certificate settings that work for both Windows and Linux.
466+
467+
The following settings configure the certificates fetched from your Key Vault.
468+
469+
- **Certificates** (`observedCertificates`)
470+
471+
Specify the certificates to be fetched from your Key Vault and installed on all machines in your pool.
472+
473+
- **Certificate store location** (`certificateStoreLocation`)
474+
475+
Specify the location to install the certificates on your agent.
476+
477+
- **Windows agents**: Specify `LocalMachine` or `CurrentUser`.
478+
- **Linux agents**: **Certificate store location** is only support on Ubuntu distributions. Specify the disk path to store the certificates, for example `/var/lib/waagent/Microsoft.Azure.KeyVault/app1`.
479+
For Ubuntu distributions, if you specify the trusted store location, for example `/usr/local/share/ca-certificates`, the certificate is added to that certificate store as root. For more information, see [Install a root CA certificate in the trust store](https://documentation.ubuntu.com/server/how-to/security/install-a-root-ca-certificate-in-the-trust-store/index.html).
480+
481+
- **Certificate store name** (`certificateStoreName`)
482+
483+
- **Windows agents**: Specify the name of the certificate store, either `My` (local certificate store - default if no name is specified) or `Root` (trusted root location).
484+
- **Linux agents**: This setting isn't used on Linux agents.
485+
486+
- **Exportable private keys** (`keyExportable`)
487+
488+
Whether the key of the certificates is exportable. The default is `false`.
459489

460490
#### [Azure portal](#tab/azure-portal/)
461491

@@ -470,6 +500,9 @@ Key Vault integration is configured in **Settings > Security**.
470500

471501
Azure Key Vault is configured in the `osProfile` section of the `fabricProfile` property. Set the `secretManagementSettings` to be able to access the desired certificate.
472502

503+
> [!NOTE]
504+
> The `osProfile.certificateStoreName` property is only available in `apiVersion 2025-01-21` and later.
505+
473506
```json
474507
{
475508
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
@@ -488,6 +521,7 @@ Azure Key Vault is configured in the `osProfile` section of the `fabricProfile`
488521
"osProfile": {
489522
"secretsManagementSettings": {
490523
"certificateStoreLocation": "LocalMachine",
524+
"certificateStoreName": "Root",
491525
"observedCertificates": [
492526
"https://<keyvault-uri>/secrets/<certificate-name>"
493527
],
@@ -538,18 +572,18 @@ The following example shows the `osProfile` section of the **fabric-profile.json
538572

539573
### Configuring SecretManagementSettings
540574

541-
Certificates retrieved using the `SecretManagementSettings` on your pool will automatically sync with the most recent versions published within the Key Vault. These secrets will be on the machine by the time it runs any Azure DevOps pipeline, meaning you can save time and remove tasks for fetching certificates.
575+
Certificates retrieved using the `SecretManagementSettings` on your pool will automatically sync with the most recent versions published within the Key Vault. These secrets will be on the machine by the time it runs its first pipeline, meaning you can save time and remove tasks for fetching certificates.
542576

543577
> [!IMPORTANT]
544578
> Provisioning of your agent virtual machines will fail if the secret cannot be fetched from the Key Vault due to a permissions or network issue.
545579

546580
#### [Windows](#tab/windows/)
547581

548-
For Windows, the Certificate Store Location is allowed to either be set to `LocalMachine` or `CurrentUser`. This setting will ensure that the secret is installed at that location on the machine. For specific behavior of how secret retrieval works, see [the documentation for the Azure VMSS Key Vault extension for Windows](/azure/virtual-machines/extensions/key-vault-windows).
582+
For Windows, the Certificate Store Location is allowed to either be set to `LocalMachine` or `CurrentUser`. This setting will ensure that the secret is installed at that location on the machine. For specific behavior of how secret retrieval works, see [Azure Key Vault extension for Windows](/azure/virtual-machines/extensions/key-vault-windows).
549583

550584
#### [Linux](#tab/linux/)
551585

552-
For Linux, the Certificate Store Location can be any directory on the machine, and the certificates will be downloaded and synced to that location. For specifics on default settings and secret behavior, see [the documentation for the Azure VMSS Key Vault extension for Linux](/azure/virtual-machines/extensions/key-vault-linux).
586+
For Linux, the Certificate Store Location can be any directory on the machine, and the certificates will be downloaded and synced to that location. For specifics on default settings and secret behavior, see [Key Vault virtual machine extension for Linux](/azure/virtual-machines/extensions/key-vault-linux).
553587

554588
* * *
555589

docs/managed-devops-pools/features-timeline.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Features timeline and roadmap
33
description: Learn about new features in Managed DevOps Pools.
4-
ms.date: 03/31/2025
4+
ms.date: 04/25/2025
55
ms.topic: overview
66
#Customer intent: As a platform engineer, I want to understand the new features in Managed DevOps Pools.
77
---
@@ -12,13 +12,11 @@ ms.topic: overview
1212

1313
The following section describes new features in development for Managed DevOps Pools.
1414

15-
* **Trusted root certificates**: Managed DevOps Pools is adding support so you can configure your pool to add certificates from your Key Vault as a trusted root certificate to your agents, so you don’t have to add a task for it to all the pipelines that use the pool. For more information, see [Key Vault configuration](./configure-security.md#key-vault-configuration). **Planned for April 2025.**
16-
1715
* **Shorter time for agent allocation**: The Managed DevOps Pools team is making updates to shorten the startup time for [standby agents](./configure-scaling.md#standby-agent-mode) (**Fresh agent every time** setting). **Planned for April 2025.**
1816

1917
* **Log analytics**: Managed DevOps Pools is adding support so you can configure your pools to emit logs into Log analytics. The Log Analytics tool in the Azure portal lets you run and edit log queries against data in the Azure Monitor Logs store. Use Log Analytics to analyze and visualize log data using [Kusto Query Language (KQL)](/azure/azure-monitor/logs/get-started-queries) or the point-and-click experience provided in [Log Analytics simple mode](/azure/azure-monitor/logs/log-analytics-simple-mode). **Planned for April 2025.**
2018

21-
* **Pool creation at the Azure DevOps project level using project level permissions**: To create a Managed DevOps Pool, you must currently be an [Organization-level Agent pools administrator or a Project Collection Administrator in Azure DevOps](./prerequisites.md#verify-azure-devops-permissions). We're enabling a new mode of Managed DevOps Pools creation, requiring only Project-level Agent pools administrator. Managed DevOps Pools created using Project-level Agent pools administrator will be created and enabled only for use in the designated Azure DevOps Project. **Planned for April 2025.**
19+
* **Pool creation at the Azure DevOps project level using project level permissions**: To create a Managed DevOps Pool, you must currently be an [Organization-level Agent pools administrator or a Project Collection Administrator in Azure DevOps](./prerequisites.md#verify-azure-devops-permissions). We're enabling a new mode of Managed DevOps Pools creation, requiring only Project-level Agent pools administrator. Managed DevOps Pools created using Project-level Agent pools administrator will be created and enabled only for use in the designated Azure DevOps project. **Planned for April 2025.**
2220

2321
* **Windows 2025 Azure Pipelines Image**: We're adding the [Windows Server 2025 image](https://github.com/actions/runner-images/blob/main/images/windows/Windows2025-Readme.md) to [Azure Pipelines images](./configure-images.md#azure-pipelines-images).
2422

@@ -34,6 +32,8 @@ The following section describes new features in development for Managed DevOps P
3432

3533
* **Open access for all pipelines to use a Managed DevOps Pool**: By default, each pipeline must be explicitly authorized to use a newly created Managed DevOps Pool. We're adding an option to enable [Open access for all pipelines](../pipelines/agents/pools-queues.md#pipeline-permissions) so that administrators don't need to explicitly authorize each pipeline. For more information, see [Configure open access for pipelines to your pool](./configure-security.md#configure-open-access-for-pipelines-to-your-pool).
3634

35+
* **Trusted root certificates**: Managed DevOps Pools added support so you can configure your pool to add certificates from your Key Vault as a trusted root certificate to your agents, so you don’t have to add a task for it to all the pipelines that use the pool. For more information, see [Key Vault configuration](./configure-security.md#key-vault-configuration).
36+
3737
## March 2025
3838

3939
The following features were released in Managed DevOps Pools in March 2025.
Loading

docs/managed-devops-pools/monitor-pool.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Monitor
33
description: Learn how to view the health of your Managed DevOps Pools.
4-
ms.date: 11/13/2024
4+
ms.date: 04/25/2025
55
---
66

77
# Monitor Managed DevOps Pools
@@ -129,6 +129,9 @@ For a list of error codes, see the following [Error codes](#error-codes) section
129129
| `SkuNotAvailable` | The requested VM size for resource 'Following SKUs failed for Capacity Restrictions:' is currently not available in location. Try another size or deploy to a different location or different zone. See `https://aka.ms/azureskunotavailable` for details. |
130130
| `TaskCanceled` | The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing. |
131131
| `VirtualNetworkIsNotFound` | The Virtual Network might be deleted. |
132+
| `WorkerSetupFailed`, `UnableToDownloadWorkerCheckNetwork`, `UnableToDownloadWorkerCheckNetwork[<endpoint>]` | [The Network infrastructure is blocking access to one of the prerequisite endpoints.](./configure-networking.md#restricting-outbound-connectivity) |
133+
| `UnableToDownloadWorkerCheckNetwork_TLSIssue` | [TLS Handshake failed when contacting prerequisite endpoints.](./configure-networking.md#restricting-outbound-connectivity) |
134+
132135

133136
## See also
134137

docs/marketplace-extensibility/toc.yml

+3
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
- name: Manage extension permissions
1414
displayName: grant, publish, update, settings, admin
1515
href: ../marketplace/grant-permissions.md?toc=/azure/devops/marketplace-extensibility/toc.json
16+
- name: Manage high privilege extensions
17+
displayName: permission, administrator, privilege, extension, scope, Marketplace
18+
href: ../marketplace/manage-high-privilege-extensions.md?toc=/azure/devops/marketplace-extensibility/toc.json
1619
- name: Authenticate
1720
items:
1821
- name: Guide to authentication

0 commit comments

Comments
 (0)