Allmän tillgänglighet för teamautomatiseringsregler och förbättrad AB#-validering
Vi är glada över att kunna meddela att förbättrad AB#-validering av Azure Boards-appen i GitHub och Team Automation-reglerna är allmänt tillgängliga! Vi har förbättrat AB#-valideringen så att du kan få ett meddelande när en länk till ett arbetsobjekt inte är giltig. I Team Automation-regler kan du nu konfigurera varje kvarvarande nivå för att automatisera öppning och stängning/matchning av arbetsobjekt baserat på tillståndet för det underordnade objektet.
Med den här uppdateringen introducerar vi även stöd för anpassade CodeQL-frågor i kodgenomsökning! På så sätt kan du skapa egna frågor som är skräddarsydda för att identifiera problem som är specifika för din kodbas.
Mer information finns i viktig information.
GitHub Advanced Security för Azure DevOps
Azure-tavlor
- GitHub-integrering – Förbättrad AB#-validering är allmänt tillgänglig
- Team Automation-regler är allmänt tillgängliga
Azure-pipelines
- Uppdatera inaktuella aktiviteter före den 31 januari
- Microsofts värdbaserade agenter använder PowerShell 7.4
- Nya Azure-tjänstanslutningshemligheter upphör att gälla om tre månader
GitHub Advanced Security för Azure DevOps
Anpassade CodeQL-frågor stöds nu i GitHub Advanced Security för Azure DevOps
Vi är glada över att kunna presentera införandet av stöd för anpassade CodeQL-frågor i kodgenomsökning! På så sätt kan du skapa egna frågor som är skräddarsydda för att identifiera problem som är specifika för din kodbas. Nu kan du skapa och publicera paket som innehåller anpassade frågor, köra dessa frågor i dina pipelines och anpassa identifieringen av säkerhetsrisker som är relevanta för din organisation.
Mer information om hur du använder anpassade frågor för kodgenomsökning i GitHub Advanced Security för Azure DevOps finns i Kodgenomsökningsaviseringar för GitHub Advanced Security för Azure DevOps.
Vi värdesätter dina indata. Om du har frågor eller feedback rekommenderar vi att du engagerar dig i vår community på Utvecklarcommunityn.
Azure-tavlor
GitHub-integrering – Förbättrad AB#-validering är allmänt tillgänglig
För några sprintar sedan tillkännagav vi förhandsversionen för förbättrad AB#-validering av Azure Boards-appen i GitHub. Vi har förbättrat appen för att bättre meddela användarna om giltigheten för arbetsobjektlänkar, vilket hjälper dem att upptäcka och åtgärda eventuella problem innan de sammanfogar en pull-begäran.
Efter flera veckors testning och feedback är den här funktionen nu tillgänglig för alla användare som använder GitHub + Azure Boards-integreringen.
Detta är den första av flera funktioner som vi gör för att förbättra den aktuella integreringen. Se till att kolla in de andra Azure Boards + GitHub-integreringsfunktionerna som vi har planerat i den offentliga översikten.
Viktigt!
Från och med 2024-08-06 validerar Inte längre Azure Boards-appen i GitHub AB#-länkarna. Du kan fortfarande använda syntaxen AB#
för att länka arbetsobjekt i dina GitHub-pull-begäranden, incheckningar och problem som du kunde före den här ändringen.
Team Automation-regler är allmänt tillgängliga
Vi är glada att kunna meddela lanseringen av den här funktionen till alla kunder i Azure DevOps Service.
Kommentar
Den här funktionen kommer att lanseras under de kommande två till tre veckorna. Den kanske inte är tillgänglig för din organisation förrän i början av februari 2024.
Du kan nu konfigurera varje kvarvarande nivå för att automatisera öppning och stängning (eller matchning) av arbetsobjekt baserat på status för underordnade objekt. Det finns två huvudsakliga scenarier som vi försöker lösa.
- När ett enskilt underordnat objekt aktiveras aktiverar du sedan det överordnade objektet.
- När alla underordnade objekt stängs stänger du sedan det överordnade objektet (eller löser det).
Om du vill aktivera de här inställningarna klickar du på konfigurationen för kvarvarande uppgifter för ditt team. Gå sedan till fliken Automation-regler > för att se de två olika regler som du kan tillämpa på dina kvarvarande uppgifter. Varje kvarvarande nivå (krav, funktioner, epos) kan konfigureras på olika sätt beroende på hur ditt team vill arbeta.
När en underordnad aktivitet till exempel har angetts till Aktiv gör du den överordnade användarberättelsen aktiv. När alla uppgifter har slutförts ställer du sedan in användarberättelsen på Stängd.
Du kan läsa mer om den här funktionen genom att läsa dokumentationen och det här blogginlägget.
Den här funktionen har prioriterats baserat på det här förslagsärendet för utvecklarcommunityn.
Azure-pipelines
Uppdatera inaktuella aktiviteter före den 31 januari
Vi drar tillbaka inaktuella uppgifter den 31 januari 2024. För att hjälpa dig att identifiera de pipelines som använder dessa uppgifter har vi inkluderat ett varningsmeddelande med ett föreslaget alternativ. Vi rekommenderar att du uppdaterar dina pipelines för att använda en nyare uppgiftsversion eller ett alternativ före den 31 januari 2024.
Se tidigare meddelanden som rör inaktuella uppgifter:
- Meddelande om att inaktuella uppgifter har upphört
- Meddelande för pipelineuppgifter för NuGet Restore v1 och NuGet Installer v0
Microsofts värdbaserade agenter använder PowerShell 7.4
Alla Microsoft-värdbaserade agenter börjar använda PowerShell 7.2 LTS till PowerShell 7.4 LTS från och med den 28 januari. Se Nyheter i PowerShell 7.4 och PowerShell 7.4 Allmän tillgänglighet.
Notera icke-bakåtkompatibla ändringar och uppdatera skripten i enlighet med detta:
- Icke-bakåtkompatibla ändringar mellan PowerShell 7.3 och 7.4 LTS
- Icke-bakåtkompatibla ändringar mellan PowerShell 7.2 LTS och 7.3
- Uppdaterat argumentparsingbeteende som styrs via
$PSNativeCommandArgumentPassing
. Exempelskriptet nedan tillämpar samma beteende i Linux, macOS och Windows genom att ange$PSNativeCommandArgumentPassing
explicit.
Nya Azure-tjänstanslutningshemligheter upphör att gälla om tre månader
Azure Service-anslutningar där Azure DevOps skapar hemligheten kommer att ha en hemlig utgång på tre månader i stället för två år.
Om du vill eliminera behovet av att rotera hemligheter konverterar du tjänstanslutningen till att använda arbetsbelastningsidentitetsfederation i stället. Du kan använda exempelskriptet nedan för att snabbt konvertera flera Azure-tjänstanslutningar till arbetsbelastningsidentitetsfederation:
#!/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)'"
}
Nästa steg
Kommentar
Dessa funktioner kommer att distribueras under de kommande två till tre veckorna.
Gå över till Azure DevOps och ta en titt.
Så här ger du feedback
Vi vill gärna höra vad du tycker om de här funktionerna. Använd hjälpmenyn för att rapportera ett problem eller ge ett förslag.
Du kan också få råd och dina frågor som besvaras av communityn på Stack Overflow.
Tack,
Dan Hellem