Disponibilidade geral de regras de automação de equipe e validação AB# aprimorada
Temos o prazer de anunciar que a validação AB# aprimorada pelo Aplicativo Azure Boards no GitHub e pelas regras de Automação de Equipe está disponível para o público em geral! Melhoramos a validação AB# para que você possa ser notificado quando um link para um item de trabalho não for válido. Nas Regras de Automação de Equipe, agora você pode configurar cada nível de lista de pendências para automatizar a abertura e o fechamento/resolução de itens de trabalho com base no(s) estado(s) do item filho.
Com esta atualização, também introduzimos suporte para consultas CodeQL personalizadas na varredura de código! Isso permitirá que você crie suas próprias consultas personalizadas para identificar problemas específicos de sua base de código.
Confira as notas sobre a versão para obter detalhes.
GitHub Advanced Security para Azure DevOps
Azure Boards
- Integração com o GitHub - A validação AB# aprimorada está disponível para o público em geral
- As regras de Automação de Equipe estão disponíveis para o público em geral
Azure Pipelines
- Atualizar tarefas preteridas antes de 31 de janeiro
- Os agentes hospedados da Microsoft usam o PowerShell 7.4
- Novos segredos de conexão de serviço do Azure expiram em três meses
GitHub Advanced Security para Azure DevOps
Consultas CodeQL personalizadas agora com suporte no GitHub Advanced Security for Azure DevOps
Estamos entusiasmados em anunciar a introdução do suporte para consultas CodeQL personalizadas na varredura de código! Isso permite que você crie suas próprias consultas personalizadas para identificar problemas específicos de sua base de código. Agora, você pode criar e publicar pacotes contendo consultas personalizadas, executar essas consultas em seus pipelines e personalizar a detecção de vulnerabilidades pertinentes à sua organização.
Para obter mais informações sobre como utilizar consultas personalizadas para verificação de código no GitHub Advanced Security for Azure DevOps, consulte Alertas de verificação de código para o GitHub Advanced Security for Azure DevOps.
Valorizamos a sua contribuição. Se você tiver alguma dúvida ou feedback, recomendamos que você se envolva com nossa comunidade na Comunidade de desenvolvedores.
Azure Boards
Integração com o GitHub - A validação AB# aprimorada está disponível para o público em geral
Alguns sprints atrás, anunciamos a visualização para validação AB# aprimorada pelo aplicativo Azure Boards no GitHub. Aprimoramos o aplicativo para notificar melhor os usuários sobre a validade dos links de item de trabalho, ajudando-os a identificar e corrigir quaisquer problemas antes de mesclar uma solicitação de recebimento.
Após várias semanas de testes e comentários, esse recurso agora está disponível para todos os usuários que usam a integração GitHub + Azure Boards.
Este é o primeiro de vários recursos que estamos fazendo para melhorar a integração atual. Certifique-se de verificar os outros recursos de integração do Azure Boards + GitHub que planejamos no roteiro público.
As Regras de Automação de Equipe estão disponíveis para o público em geral
Temos o prazer de anunciar o lançamento desse recurso para todos os clientes do Serviço de DevOps do Azure.
Observação
Esse recurso será lançado nas próximas duas a três semanas. Ele pode não estar disponível para sua organização até o início de fevereiro de 2024.
Agora você pode configurar cada nível de lista de pendências para automatizar a abertura e o fechamento (ou a resolução) de itens de trabalho com base no estado dos itens filho. Há dois cenários principais que estamos tentando resolver.
- Quando um único item filho for ativado, ative o pai.
- Quando todos os itens filho estiverem fechados, feche o pai (ou resolva-o).
Para habilitar essas configurações, clique na configuração de nível de lista de pendências para sua equipe. Em seguida, vá para a guia Regras de automação para ver as duas regras diferentes que você pode aplicar à sua lista de > pendências. Cada nível de lista de pendências (requisitos, recursos, épicos) pode ser configurado de forma diferente, dependendo de como sua equipe deseja trabalhar.
Por exemplo, quando qualquer Tarefa filho estiver definida como Ativa, ative a História de Usuário pai. Em seguida, quando todas as Tarefas forem concluídas, defina a História do Usuário como Fechada.
Você pode saber mais sobre esse recurso revisando a documentação e esta postagem no blog.
Esse recurso foi priorizado com base neste tíquete de sugestão da Comunidade de desenvolvedores.
Azure Pipelines
Atualizar tarefas preteridas antes de 31 de janeiro
Estamos aposentando tarefas preteridas em 31 de janeiro de 2024. Para ajudá-lo a identificar os pipelines que estão usando essas tarefas, incluímos uma mensagem de aviso com uma alternativa sugerida. Recomendamos que você atualize seus pipelines para usar uma versão de tarefa mais recente ou uma alternativa antes de 31 de janeiro de 2024.
Veja anúncios anteriores relacionados a tarefas preteridas:
- Anunciando a aposentadoria de tarefas preteridas
- Anúncio das tarefas de pipeline do NuGet Restore v1 e do NuGet Installer v0
Os agentes hospedados da Microsoft usam o PowerShell 7.4
Todos os agentes hospedados pela Microsoft começarão a usar o PowerShell 7.2 LTS para o PowerShell 7.4 LTS a partir de 28 de janeiro. Consulte O que há de novo no PowerShell 7.4 e na disponibilidade geral do PowerShell 7.4.
Anote as alterações de quebra e atualize seus scripts de acordo:
- Quebrando alterações entre o PowerShell 7.3 & 7.4 LTS
- Alterações significativas entre o PowerShell 7.2 LTS & 7.3
- Comportamento de análise de argumento atualizado controlado via
$PSNativeCommandArgumentPassing
. O script de exemplo abaixo impõe o mesmo comportamento no Linux, macOS e Windows definindo$PSNativeCommandArgumentPassing
explicitamente.
Novos segredos de conexão de serviço do Azure expiram em três meses
As Conexões de Serviço do Azure, nas quais o Azure DevOps cria o segredo, terão uma expiração secreta de três meses em vez de dois anos.
Para eliminar a necessidade de girar segredos, converta sua conexão de serviço para usar a federação de identidades de carga de trabalho. Você pode usar o script de exemplo abaixo para converter rapidamente várias conexões de serviço do Azure em federação de identidade de carga de trabalho:
#!/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)'"
}
Próximas etapas
Observação
Esses recursos serão lançados nas próximas duas a três semanas.
Vá até o Azure DevOps e dê uma olhada.
Como fornecer comentários
Adoraríamos ouvir o que você pensa sobre esses recursos. Use o menu de ajuda para relatar um problema ou fornecer uma sugestão.
Você também pode obter conselhos e suas perguntas respondidas pela comunidade no Stack Overflow.
Obrigada,
Dan Hellem
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de