Algemene beschikbaarheid van teamautomatiseringsregels en verbeterde AB#-validatie
We zijn verheugd om aan te kondigen dat verbeterde AB#-validatie door de Azure Boards-app in GitHub en teamautomatiseringsregels algemeen beschikbaar zijn. We hebben ab#-validatie verbeterd, zodat u een melding krijgt wanneer een koppeling naar een werkitem ongeldig is. In Regels voor teamautomatisering kunt u nu elk achterstandsniveau configureren om het openen en sluiten/omzetten van werkitems te automatiseren op basis van de status(s) van het onderliggende item.
Met deze update introduceren we ook ondersteuning voor aangepaste CodeQL-query's in codescans. Hiermee kunt u uw eigen query's maken die zijn afgestemd op het identificeren van problemen die specifiek zijn voor uw codebasis.
Bekijk de releaseopmerkingen voor meer informatie.
GitHub Advanced Security voor Azure DevOps
Azure Boards
- GitHub-integratie: verbeterde AB#-validatie is algemeen beschikbaar
- Team Automation-regels zijn algemeen beschikbaar
Azure-pipelines
- Afgeschafte taken vóór 31 januari bijwerken
- Door Microsoft gehoste agents gebruiken PowerShell 7.4
- Nieuwe azure-serviceverbindingsgeheimen verlopen over drie maanden
GitHub Advanced Security voor Azure DevOps
Aangepaste CodeQL-query's worden nu ondersteund in GitHub Advanced Security for Azure DevOps
We zijn blij om de introductie van ondersteuning voor aangepaste CodeQL-query's in codescans aan te kondigen. Hiermee kunt u uw eigen query's maken die zijn afgestemd op het identificeren van problemen die specifiek zijn voor uw codebasis. U kunt nu pakketten met aangepaste query's maken en publiceren, deze query's uitvoeren in uw pijplijnen en de detectie van beveiligingsproblemen aanpassen die relevant zijn voor uw organisatie.
Zie codescanwaarschuwingen voor GitHub Advanced Security voor Azure DevOps voor meer informatie over het gebruik van aangepaste query's voor codescans in GitHub Advanced Security voor Azure DevOps.
We waarderen uw invoer. Als u vragen of feedback hebt, raden we u aan om contact op te nemen met onze community bij Developer Community.
Azure Boards
GitHub-integratie: verbeterde AB#-validatie is algemeen beschikbaar
Enkele sprints geleden hebben we de preview aangekondigd voor verbeterde AB#-validatie door de Azure Boards-app in GitHub. We hebben de app verbeterd om gebruikers beter op de hoogte te stellen van de geldigheid van werkitemkoppelingen, zodat ze eventuele problemen kunnen opsporen en oplossen voordat een pull-aanvraag wordt samengevoegd.
Na enkele weken testen en feedback is deze functie nu beschikbaar voor alle gebruikers met behulp van de integratie van GitHub + Azure Boards.
Dit is de eerste van verschillende functies die we maken om de huidige integratie te verbeteren. Bekijk de andere Azure Boards + GitHub-integratiefuncties die we hebben gepland op de openbare roadmap.
Belangrijk
Vanaf 8-6-2024 valideert de Azure Boards-app in GitHub geen AB#-koppelingen meer. U kunt de AB#
syntaxis nog steeds gebruiken om werkitems in uw GitHub-pull-aanvragen, doorvoeringen en problemen te koppelen, zoals u kunt doen vóór deze wijziging.
Team Automation-regels zijn algemeen beschikbaar
We kondigen graag de release van deze functie aan voor alle klanten van Azure DevOps Service.
Notitie
Deze functie wordt de komende twee tot drie weken uitgerold. Het is mogelijk pas begin februari 2024 beschikbaar voor uw organisatie.
U kunt nu elk achterstandsniveau configureren om het openen en sluiten van werkitems te automatiseren op basis van de status van de onderliggende items. Er zijn twee hoofdscenario's die we proberen op te lossen.
- Wanneer één onderliggend item is geactiveerd, activeert u het bovenliggende item.
- Wanneer alle onderliggende items zijn gesloten, sluit u het bovenliggende item (of lost u dit op).
Als u deze instellingen wilt inschakelen, klikt u op de configuratie op achterstandsniveau voor uw team. Ga vervolgens naar het tabblad Automation-regels > om de twee verschillende regels te zien die u op uw achterstand kunt toepassen. Elk achterstandsniveau (vereisten, functies, epics) kan anders worden geconfigureerd, afhankelijk van hoe uw team wil werken.
Als een onderliggende taak bijvoorbeeld is ingesteld op Actief, moet u het bovenliggende gebruikersverhaal actief maken. Wanneer alle taken zijn voltooid, stelt u vervolgens het gebruikersverhaal in op Gesloten.
Lees de documentatie en dit blogbericht voor meer informatie over deze functie.
Deze functie heeft prioriteit gekregen op basis van dit ticket voor ontwikkelaarscommunitysuggesties.
Azure-pipelines
Afgeschafte taken vóór 31 januari bijwerken
Op 31 januari 2024 worden afgeschafte taken buiten gebruik gesteld. Om u te helpen de pijplijnen te identificeren die deze taken gebruiken, hebben we een waarschuwingsbericht opgenomen met een voorgesteld alternatief. We raden u aan uw pijplijnen bij te werken voor het gebruik van een nieuwere taakversie of een alternatief vóór 31 januari 2024.
Bekijk eerdere aankondigingen met betrekking tot afgeschafte taken:
- Aankondiging van buitengebruikstelling van afgeschafte taken
- Aankondiging voor NuGet Restore v1- en NuGet Installer v0-pijplijntaken
Door Microsoft gehoste agents gebruiken PowerShell 7.4
Alle door Microsoft gehoste agents gaan vanaf 28 januari powerShell 7.2 LTS gebruiken voor PowerShell 7.4 LTS. Bekijk wat er nieuw is in PowerShell 7.4 en Algemene beschikbaarheid van PowerShell 7.4.
Noteer belangrijke wijzigingen en werk uw scripts dienovereenkomstig bij:
- Belangrijke wijzigingen tussen PowerShell 7.3 en 7.4 LTS
- Belangrijke wijzigingen tussen PowerShell 7.2 LTS & 7.3
- Bijgewerkt gedrag voor parseren van argumenten beheerd via
$PSNativeCommandArgumentPassing
. Het onderstaande voorbeeldscript dwingt hetzelfde gedrag af voor Linux, macOS en Windows door expliciet in te stellen$PSNativeCommandArgumentPassing
.
Nieuwe azure-serviceverbindingsgeheimen verlopen over drie maanden
Azure Service Connections waarbij Azure DevOps het geheim maakt, heeft een geheime vervaldatum van drie maanden in plaats van twee jaar.
Als u wilt voorkomen dat geheimen moeten worden gedraaid, converteert u uw serviceverbinding om in plaats daarvan workloadidentiteitsfederatie te gebruiken. U kunt het onderstaande voorbeeldscript gebruiken om snel meerdere Azure-serviceverbindingen te converteren naar workloadidentiteitsfederatie:
#!/usr/bin/env pwsh
<#
.SYNOPSIS
Convert multiple Azure Resource Manager service connection(s) to use Workload identity federation
.LINK
https://aka.ms/azdo-rm-workload-identity-conversion
.EXAMPLE
./convert_azurerm_service_connection_to_oidc_simple.ps1 -Project <project> -OrganizationUrl https://dev.azure.com/<organization>
#>
#Requires -Version 7.3
param (
[parameter(Mandatory=$true,HelpMessage="Name of the Azure DevOps Project")]
[string]
[ValidateNotNullOrEmpty()]
$Project,
[parameter(Mandatory=$true,HelpMessage="Url of the Azure DevOps Organization")]
[uri]
[ValidateNotNullOrEmpty()]
$OrganizationUrl
)
$apiVersion = "7.1"
$PSNativeCommandArgumentPassing = "Standard"
#-----------------------------------------------------------
# Log in to Azure
$azdoResource = "499b84ac-1321-427f-aa17-267ca6975798"
az login --allow-no-subscriptions --scope ${azdoResource}/.default
$OrganizationUrl = $OrganizationUrl.ToString().Trim('/')
#-----------------------------------------------------------
# Retrieve the service connection
$getApiUrl = "${OrganizationUrl}/${Project}/_apis/serviceendpoint/endpoints?authSchemes=ServicePrincipal&type=azurerm&includeFailed=false&includeDetails=true&api-version=${apiVersion}"
az rest --resource $azdoResource -u "${getApiUrl} " -m GET --query "sort_by(value[?authorization.scheme=='ServicePrincipal' && data.creationMode=='Automatic' && !(isShared && serviceEndpointProjectReferences[0].projectReference.name!='${Project}')],&name)" -o json `
| Tee-Object -Variable rawResponse | ConvertFrom-Json | Tee-Object -Variable serviceEndpoints | Format-List | Out-String | Write-Debug
if (!$serviceEndpoints -or ($serviceEndpoints.count-eq 0)) {
Write-Warning "No convertible service connections found"
exit 1
}
foreach ($serviceEndpoint in $serviceEndpoints) {
# Prompt user to confirm conversion
$choices = @(
[System.Management.Automation.Host.ChoiceDescription]::new("&Convert", "Converting service connection '$($serviceEndpoint.name)'...")
[System.Management.Automation.Host.ChoiceDescription]::new("&Skip", "Skipping service connection '$($serviceEndpoint.name)'...")
[System.Management.Automation.Host.ChoiceDescription]::new("&Exit", "Exit script")
)
$prompt = $serviceEndpoint.isShared ? "Convert shared service connection '$($serviceEndpoint.name)'?" : "Convert service connection '$($serviceEndpoint.name)'?"
$decision = $Host.UI.PromptForChoice([string]::Empty, $prompt, $choices, $serviceEndpoint.isShared ? 1 : 0)
if ($decision -eq 0) {
Write-Host "$($choices[$decision].HelpMessage)"
} elseif ($decision -eq 1) {
Write-Host "$($PSStyle.Formatting.Warning)$($choices[$decision].HelpMessage)$($PSStyle.Reset)"
continue
} elseif ($decision -ge 2) {
Write-Host "$($PSStyle.Formatting.Warning)$($choices[$decision].HelpMessage)$($PSStyle.Reset)"
exit
}
# Prepare request body
$serviceEndpoint.authorization.scheme = "WorkloadIdentityFederation"
$serviceEndpoint.data.PSObject.Properties.Remove('revertSchemeDeadline')
$serviceEndpoint | ConvertTo-Json -Depth 4 | Write-Debug
$serviceEndpoint | ConvertTo-Json -Depth 4 -Compress | Set-Variable serviceEndpointRequest
$putApiUrl = "${OrganizationUrl}/${Project}/_apis/serviceendpoint/endpoints/$($serviceEndpoint.id)?operation=ConvertAuthenticationScheme&api-version=${apiVersion}"
# Convert service connection
az rest -u "${putApiUrl} " -m PUT -b $serviceEndpointRequest --headers content-type=application/json --resource $azdoResource -o json `
| ConvertFrom-Json | Set-Variable updatedServiceEndpoint
$updatedServiceEndpoint | ConvertTo-Json -Depth 4 | Write-Debug
if (!$updatedServiceEndpoint) {
Write-Debug "Empty response"
Write-Error "Failed to convert service connection '$($serviceEndpoint.name)'"
exit 1
}
Write-Host "Successfully converted service connection '$($serviceEndpoint.name)'"
}
Volgende stappen
Notitie
Deze functies worden de komende twee tot drie weken uitgerold.
Ga naar Azure DevOps en kijk eens.
Feedback geven
We horen graag wat u van deze functies vindt. Gebruik het Help-menu om een probleem te melden of een suggestie op te geven.
U kunt ook advies krijgen en uw vragen beantwoorden door de community op Stack Overflow.
Met vriendelijke groet,
Dan Hellem