Bitbucket
Seul Bitbucket Cloud est pris en charge - AppArch communique avec api.bitbucket.org. Bitbucket Data Center / Server ne l’est pas.
Bitbucket accepte deux types d’identifiants. Les mots de passe d’application ne sont pas proposés : Atlassian les a retirés.
Option 1 : client OAuth
Section intitulée « Option 1 : client OAuth »- Credentials → Add credential → Bitbucket → Register an application.
- Dans Bitbucket, ouvrez Workspace settings → OAuth clients → Create OAuth client de votre espace de travail.
- Dans l’onglet Authorization, collez la Callback URL affichée par l’assistant, exactement telle quelle.
- Dans l’onglet Scopes, accordez : Account, Repositories, Pull requests, Webhooks. L’assistant demande aussi Pipelines: Read and write, qu’AppArch utilise pour vérifier et écrire les variables Pipelines du runner.
- Reportez le Client ID et le Secret dans l’assistant et enregistrez. Le slug de l’espace de travail est facultatif.
- Terminez l’autorisation avec Connect with Bitbucket sur l’identifiant.
Les jetons d’accès Bitbucket issus de ce flux vivent environ deux heures. AppArch les renouvelle automatiquement avec le jeton de rafraîchissement enregistré.
Option 2 : jeton d’accès
Section intitulée « Option 2 : jeton d’accès »- Credentials → Add credential → Bitbucket → Access token.
- Dans Bitbucket, créez un jeton d’accès d’espace de travail ou de dépôt avec les permissions
repositoryetpullrequest. - Collez-le dans l’assistant. Le slug de l’espace de travail est facultatif.
Avant d’enregistrer le jeton, AppArch lit ce qu’il est autorisé à faire. Un jeton sans lecture des dépôts est refusé ; un jeton sans écriture sur les pull requests est accepté avec un avertissement de lecture seule (pas de commentaires ArchPilot). AppArch ne renouvelle jamais un jeton d’accès.
Ce que cela permet
Section intitulée « Ce que cela permet »- ArchPilot commente les pull requests.
- Les résultats ArchScan / ArchSecurity des exécutions CI apparaissent dans le panneau.
CI (Bitbucket Pipelines)
Section intitulée « CI (Bitbucket Pipelines) »pipelines: pull-requests: '**': - step: image: name: hub.apparch.io/collectors/dotnet:latest username: $APPARCH_INSTALLATION_ID password: $APPARCH_INSTALLATION_KEY run-as-user: 0 # the clone belongs to root; a PR run fetches the target branch into it script: - export APPARCH_Collector__Token="$APPARCH_TOKEN" - export APPARCH_Collector__ApiUrl="https://api.yourdomain.com" - apparch "$BITBUCKET_CLONE_DIR"Le runner reconnaît une exécution de pull request grâce à la variable Bitbucket BITBUCKET_PR_ID.