Skip to main content

Error: 403 "Recurso no accesible por la integración"

Este error se puede ver en las solicitudes de incorporación de cambios creadas por Dependabot y se puede resolver de dos maneras diferentes.

Note

Este artículo de solución de problemas solo es relevante si ve este error con Dependabot. Si ve este error con otros productos GitHub y tiene dificultades para solucionarlo, puede ponerse en contacto con Soporte de GitHub. Para más información, consulta Contactar al Soporte de GitHub.

Acerca de este error

403: Resource not accessible by integration

Dependabot se considera que no es de confianza cuando activa una ejecución de flujo de trabajo, en caso de que este se ejecute con ámbitos de solo lectura.

Confirmación de la causa del error

Si usas Dependabot en el flujo de trabajo de code scanning, investiga el ámbito que usa.

Para cargar resultados de code scanning en una rama normalmente se necesita el ámbito security-events: write. Pero code scanning siempre permite que se carguen los resultados cuando el evento pull_request desencadena la ejecución de la acción. Por este motivo, para las ramas de Dependabot, se recomienda usar el evento pull_request en lugar del evento push.

Solución del problema

Puedes llevar a cabo la ejecución en inserciones en la rama predeterminada y cualquier otra rama de ejecución prolongada importante, así como solicitudes de incorporación de cambios abiertas respecto a este conjunto de ramas:

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

De forma alternativa, puedes llevar a cabo la ejecución en todas las inserciones a excepción de las ramas de Dependabot:

on:
  push:
    branches-ignore:
      - 'dependabot/**'
  pull_request:

Para más información sobre la edición del archivo de flujo de trabajo CodeQL, consulta Personalización de la configuración avanzada para el examen de código.

Error persistente de análisis en la rama predeterminada

Si el Flujo de trabajo de análisis de CodeQL aún falla en una confirmación que se hizo en una rama predeterminada, debes verificar:

  • si el Dependabot fue el autor de la confirmación
  • si la solicitud de incorporación de cambios que incluye la confirmación se ha combinado mediante @dependabot squash and merge

Este tipo de confirmación por fusión tiene como autor al Dependabot y, por lo tanto, cualquier flujo de trabajo que se ejecute en la confirmación tendrá permisos de solo lectura. Si ha habilitado las actualizaciones de seguridad o de versión de code scanning y Dependabot en el repositorio, se recomienda evitar el uso del comando @dependabot squash and merge de Dependabot. En su lugar, puede habilitar la combinación automática para el repositorio. Esto significa que las solicitudes de incorporación de cambios se combinarán automáticamente cuando se cumplan todas las revisiones necesarias y se hayan superado las comprobaciones de estado. Para más información sobre cómo habilitar la combinación automática, consulta Fusionar una solicitud de cambios automáticamente.