Ir al contenido

Bitbucket

Solo se admite Bitbucket Cloud: AppArch se comunica con api.bitbucket.org. Bitbucket Data Center / Server no se admite.

Bitbucket acepta dos tipos de credencial. No se ofrecen contraseñas de aplicación: Atlassian las retiró.

  1. Credentials → Add credential → Bitbucket → Register an application.
  2. En Bitbucket abre Workspace settings → OAuth clients → Create OAuth client de tu workspace.
  3. En la pestaña Authorization, pega la Callback URL que muestra el asistente, exactamente como aparece.
  4. En la pestaña Scopes, concede: Account, Repositories, Pull requests, Webhooks. El asistente también pide Pipelines: Read and write, que AppArch usa para comprobar y escribir las variables de Pipelines del runner.
  5. Copia el Client ID y el Secret en el asistente y guarda. El slug del workspace es opcional.
  6. Completa la autorización con Connect with Bitbucket en la credencial.

Los tokens de acceso de Bitbucket de este flujo duran unas dos horas. AppArch los renueva automáticamente con el refresh token guardado.

  1. Credentials → Add credential → Bitbucket → Access token.
  2. En Bitbucket crea un token de acceso de workspace o de repositorio con los permisos repository y pullrequest.
  3. Pégalo en el asistente. El slug del workspace es opcional.

Antes de guardar el token, AppArch lee qué puede hacer. Un token sin lectura de repositorios se rechaza; uno sin escritura en pull requests se acepta con un aviso de solo lectura (sin comentarios de ArchPilot). AppArch nunca renueva un token de acceso.

  • ArchPilot comenta en las pull requests.
  • Los resultados de ArchScan / ArchSecurity de las ejecuciones de CI aparecen en el panel.
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"

El runner reconoce una ejecución de pull request por la variable BITBUCKET_PR_ID de Bitbucket.