{"meta":{"title":"Solución de problemas de Dependabot en acciones de GitHub","intro":"En este artículo se proporciona información de solución de problemas que puede surgir al usar Dependabot con GitHub Actions.","product":"Seguridad y calidad del código","breadcrumbs":[{"href":"/es/code-security","title":"Seguridad y calidad del código"},{"href":"/es/code-security/reference","title":"Referencia"},{"href":"/es/code-security/reference/supply-chain-security","title":"Seguridad de la cadena de suministro"},{"href":"/es/code-security/reference/supply-chain-security/troubleshoot-dependabot","title":"Solución de problemas de Dependabot"},{"href":"/es/code-security/reference/supply-chain-security/troubleshoot-dependabot/dependabot-on-actions","title":"Dependabot en Acciones"}],"documentType":"article"},"body":"# Solución de problemas de Dependabot en acciones de GitHub\n\nEn este artículo se proporciona información de solución de problemas que puede surgir al usar Dependabot con GitHub Actions.\n\n## Solución de problemas cuando Dependabot activa flujos de trabajo existentes\n\nDespués de configurar las actualizaciones de Dependabot para GitHub.com, es posible que se produzcan errores cuando los flujos de trabajo existentes se activen por eventos de Dependabot.\n\nDe forma predeterminada, las ejecuciones de flujos de trabajo de GitHub Actions que se desencadenan mediante Dependabot a partir de eventos de `push`, `pull_request`, `pull_request_review` o `pull_request_review_comment` se tratan como si se hubieran abierto desde la bifurcación de un repositorio. A diferencia de los flujos de trabajo activados por otros actores, esto significa que reciben un `GITHUB_TOKEN` de solo lectura y no tienen acceso a ningún secreto que normalmente esté disponible. Esto hará que los flujos de trabajo que intenten escribir en el repositorio produzcan un error cuando se desencadenen mediante Dependabot.\n\nHay tres formas de resolver este problema:\n\n1. Puede actualizar los flujos de trabajo para que dejen de activarse por Dependabot usando una expresión como: `if: github.actor != 'dependabot[bot]'`. Para más información, consulta [Evaluación de expresiones en flujos de trabajo y acciones](/es/actions/reference/workflows-and-actions/expressions).\n2. Puede modificar los flujos de trabajo para usar un proceso en dos pasos que incluya `pull_request_target`, que no tiene estas limitaciones. Para más información, consulta [Solución de problemas de Dependabot en acciones de GitHub](/es/code-security/reference/supply-chain-security/troubleshoot-dependabot/dependabot-on-actions).\n3. Puede configurar flujos de trabajo que se activen mediante Dependabot acceso a secretos y permitir que el término `permissions` amplíe el alcance predeterminado de `GITHUB_TOKEN`.\n\nEn este artículo se proporcionan algunos consejos para solucionar problemas. También puedes consultar [Sintaxis del flujo de trabajo para Acciones de GitHub](/es/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_idpermissions).\n\n### Acceder a los secretos\n\nCuando un evento Dependabot activa un flujo de trabajo, los únicos secretos disponibles para el flujo de trabajo son los secretos Dependabot.\nGitHub Actions los secretos **no están disponibles**. Por lo tanto, debe almacenar secretos que se usan en un flujo de trabajo desencadenados por eventos de Dependabot como secretos de Dependabot. Para obtener más información, vea [Configuración del acceso a registros privados para Dependabot](/es/code-security/how-tos/secure-your-supply-chain/manage-your-dependency-security/configure-access-to-private-registries#storing-credentials-for-dependabot-to-use).\n\nLos secretos Dependabot se agregan al contexto `secrets` y se hace referencia a ellos usando exactamente la misma sintaxis que los secretos para GitHub Actions. Para obtener más información, vea [Uso de secretos en Acciones de GitHub](/es/actions/how-tos/write-workflows/choose-what-workflows-do/use-secrets#using-secrets-in-a-workflow).\n\nSi tiene un flujo de trabajo que se active mediante Dependabot y también por otros actores, la solución más sencilla es almacenar el token con los permisos necesarios en una acción y en un secreto de Dependabot con el mismo nombre. Entonces, el flujo de trabajo puede incluir una llamada simple a estos secretos. Si el secreto de Dependabot tiene un nombre diferente, use condiciones para especificar los secretos correctos para que usen distintos actores.\n\nPara obtener ejemplos en los que se usan condiciones, consulta [Automatizar al Dependabot con las Acciones de GitHub](/es/code-security/tutorials/secure-your-dependencies/automate-dependabot-with-actions).\n\nPara acceder a un registro de contenedor privado en AWS con un nombre de usuario y una contraseña, un flujo de trabajo debe incluir un secreto para `username` y `password`.\n\nEn este ejemplo, cuando Dependabot activa el flujo de trabajo, se usan los secretos de Dependabot con los nombres `READONLY_AWS_ACCESS_KEY_ID` y `READONLY_AWS_ACCESS_KEY`. Si otro actor activa el flujo de trabajo, se utilizarán los secretos de las acciones con estos nombres.\n\n```yaml copy\n# Este flujo de trabajo usa acciones que no GitHub no certifica.\n# Estas las proporcionan entidades terceras y las gobiernan\n# condiciones de servicio, políticas de privacidad y documentación de soporte\n# en línea.\nname: CI\non:\n  pull_request:\n    branches: [ main ]\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout repository\n        uses: actions/checkout@v6\n\n      - name: Login to private container registry for dependencies\n        uses: docker/login-action@3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c\n        with:\n          registry: https://1234567890.dkr.ecr.us-east-1.amazonaws.com\n          username: ${{ secrets.READONLY_AWS_ACCESS_KEY_ID }}\n          password: ${{ secrets.READONLY_AWS_ACCESS_KEY }}\n\n      - name: Build the Docker image\n        run: docker build . --file Dockerfile --tag my-image-name:$(date +%s)\n```\n\n### Cambio de permisos `GITHUB_TOKEN`\n\nDe forma predeterminada, GitHub Actions los flujos de trabajo activados por Dependabot obtienen un `GITHUB_TOKEN` con permisos de solo lectura. Puede usar la clave `permissions` del flujo de trabajo para aumentar el acceso del token:\n\n```yaml copy\nname: CI\non: pull_request\n\n# Set the access for individual scopes, or use permissions: write-all\npermissions:\n  pull-requests: write\n  issues: write\n  ...\n\njobs:\n  ...\n```\n\nPara obtener más información, vea [Uso de GITHUB\\_TOKEN para la autenticación en flujos de trabajo](/es/actions/tutorials/authenticate-with-github_token#modifying-the-permissions-for-the-github_token).\n\n## Volver a ejecutar un flujo de trabajo manualmente\n\nAl volver a ejecutar manualmente un Dependabot flujo de trabajo, se ejecutará con los mismos privilegios que antes incluso si el usuario que inició la nueva ejecución tiene privilegios diferentes. Para obtener más información, vea [Volver a ejecutar flujos de trabajo y tareas](/es/actions/how-tos/manage-workflow-runs/re-run-workflows-and-jobs)."}