Azure DevOps
Azure DevOps se connecte avec un jeton d’accès personnel (PAT). Seul Azure DevOps Services (dev.azure.com) est pris en charge ; Azure DevOps Server ne l’est pas.
Créer un PAT
Section intitulée « Créer un PAT »Dans Azure DevOps, ouvrez User settings → Personal access tokens → New Token, choisissez l’organisation et accordez :
- Code (Read & Write)
- Pull Request Threads (Read & Write) - pour les commentaires de PR d’ArchPilot.
Code (Read) seul suffit pour un usage en lecture ; ArchPilot ne peut alors pas commenter. Azure DevOps n’affiche le jeton qu’une seule fois.
Connexion
Section intitulée « Connexion »- Credentials → Add credential → Azure DevOps.
- Saisissez uniquement le slug de l’organisation - la partie après
dev.azure.com/(par ex.myorg). AppArch ajoutedev.azure.com/lui-même. - Collez le PAT. Un nom de projet est facultatif et restreint la liste des dépôts à un seul projet.
- Enregistrez - la connexion est testée auprès de
dev.azure.com.
Azure DevOps n’offre aucun point d’accès pour lire les scopes ou la date d’expiration d’un jeton ; le test de connexion est donc la seule vérification et aucune date d’expiration n’est affichée sur l’identifiant.
CI (Azure Pipelines)
Section intitulée « CI (Azure Pipelines) »trigger: nonepr: ['*']pool: { vmImage: ubuntu-latest }steps: - checkout: self fetchDepth: 0 # the target branch is then in the clone: the change's own files and its merge base - script: | echo "$(APPARCH_INSTALLATION_KEY)" | docker login hub.apparch.io -u "$(APPARCH_INSTALLATION_ID)" --password-stdin docker run --rm -v "$(Build.SourcesDirectory):/workspace:ro" \ -e APPARCH_Collector__Token="$(APPARCH_TOKEN)" \ -e APPARCH_Collector__ApiUrl="https://api.yourdomain.com" \ -e SYSTEM_PULLREQUEST_PULLREQUESTID="$(System.PullRequest.PullRequestId)" \ -e SYSTEM_PULLREQUEST_TARGETBRANCH="$(System.PullRequest.TargetBranch)" \ -e SYSTEM_TEAMPROJECT="$(System.TeamProject)" \ -e BUILD_REPOSITORY_NAME="$(Build.Repository.Name)" \ -e SYSTEM_COLLECTIONURI="$(System.CollectionUri)" \ -e BUILD_SOURCEVERSION="$(Build.SourceVersion)" \ hub.apparch.io/collectors/dotnet:latest /workspaceDéfinissez APPARCH_TOKEN, APPARCH_INSTALLATION_ID et APPARCH_INSTALLATION_KEY comme variables secrètes du pipeline. La première est le jeton runner du projet ; les deux autres forment l’identifiant d’installation avec lequel le pull de l’image s’authentifie. C’est la variable SYSTEM_PULLREQUEST_PULLREQUESTID qui indique au runner qu’il examine une pull request.