Frecuentemente publicamos actualizaciones de nuestra documentación. Es posible que la traducción de esta página esté en curso. Para conocer la información más actual, visita la documentación en inglés. Si existe un problema con las traducciones en esta página, por favor infórmanos.

Autenticar con el ' GITHUB_TOKEN '

GitHub proporciona un token que puedes usar para autenticar en nombre de GitHub Actions.

GitHub Actions se encuentra disponible con GitHub Free, GitHub Pro, GitHub Free para organizaciones, GitHub Team, GitHub Enterprise Cloud, y GitHub One. GitHub Actions no está disponible para repositorios privados que pertenezcan a cuentas que utilicen planes tradicionales por repositorio. Para obtener más información, consulta la sección "Productos de GitHub".

En este artículo

Cualquier persona con acceso de escritura en un repositorio puede crear, leer y usar secretos.

Acerca del secreto del GITHUB_TOKEN

GitHub automáticamente crea un secreto de GITHUB_TOKEN para utilizar en tu flujo de trabajo. Puedes usar el GITHUB_TOKEN para autenticarte en una ejecución de flujo de trabajo.

Cuando habilitas GitHub Actions, GitHub instala una App GitHub en tu repositorio. El secreto del GITHUB_TOKEN es un token de acceso de instalación de App GitHub. Puedes usar el token de acceso de instalación para autenticarte en nombre de la App GitHub instalado en tu repositorio. Los permisos del token están limitados al repositorio que contiene tu flujo de trabajo. Para obtener más información, consulta "Permisos para el GITHUB_TOKEN."

Antes de que comience cada job, GitHub extrae un token de acceso de instalación para éste. El token expira cuando el trabajo termina.

El token también está disponible en el contexto github.token. Para obtener más información, consulta "Sintaxis de contexto y expresión para las GitHub Actions."

Usar el GITHUB_TOKEN en un flujo de trabajo

Para usar el secreto del GITHUB_TOKEN, debes hacer referencia a él en tu archivo de flujo de trabajo. Usar un token puede incluir pasar el token como entrada a una acción que lo requiere o hacer llamadas autenticadas de la API GitHub.

Cuando utilizas el GITHUB_TOKEN del repositorio para realizar tareas por parte de la app de GitHub Actions, los eventos que GITHUB_TOKEN desencadena no crearán una ejecución de flujo de trabajo. Esto impide que crees ejecuciones de flujo de trabajo recursivas por accidente. Por ejemplo, si un flujo de trabajo sube código utilizando el GITHUB_TOKEN del repositorio, no se ejecutará un nuevo flujo de trabajo aún si el repositorio contiene alguno configurado para ejecutarse cuando ocurran eventos de subida de información.

Ejemplo de pase de GITHUB_TOKEN como una entrada

Este flujo de trabajo de ejemplo usa la acción de etiquetadora, que necesita el GITHUB_TOKEN como el valor para el parámetro de entrada repo-token:

name: Pull request labeler
on:
- pull_request
jobs:
  triage:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/labeler@v2
      with:
        repo-token: ${{ secrets.GITHUB_TOKEN }}

Ejemplo de llamada a la API REST

Puedes usar el GITHUB_TOKEN para realizar llamadas API autenticadas. Este flujo de trabajo de ejemplo crea una propuesta mediante la API REST de GitHub:

name: Create issue on commit
on:
- push
jobs:
  create_commit:
    runs-on: ubuntu-latest
    steps:
    - name: Create issue using REST API
      run: |
        curl --request POST \
        --url https://api.github.com/repos/${{ github.repository }}/issues \
        --header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \
        --header 'content-type: application/json' \
        --data '{
          "title": "Automated issue for commit: ${{ github.sha }}",
          "body": "This issue was automatically created by the GitHub Action workflow **${{ github.workflow }}**. \n\n The commit hash was: _${{ github.sha }}_."
          }'

Permisos para el GITHUB_TOKEN

For information about the API endpoints GitHub Apps can access with each permission, see "App GitHub Permissions."

PermisoTipo de accesoAcceso por repositorios bifurcados
accioneslectura/escrituralectura
verificacioneslectura/escrituralectura
contenidoslectura/escrituralectura
implementacioneslectura/escrituralectura
issueslectura/escrituralectura
metadatoslecturalectura
paqueteslectura/escrituralectura
solicitudes de extracciónlectura/escrituralectura
proyectos de repositoriolectura/escrituralectura
estadoslectura/escrituralectura

Si necesitas un token que requiere permisos que no están disponibles en el GITHUB_TOKEN, puedes crear un token de acceso personal y establecerlo como secreto en tu repositorio:

  1. Usa o crea un token con los permisos adecuados para ese repositorio. For more information, see "Creating a personal access token."
  2. Añade el token como un secreto en el repositorio de tu flujo de trabajo, y refiérete a él usando la sintaxis de ${{ secrets.SECRET_NAME }}. Para obtener más información, consulta "Crear y usar secretos cifrados."

Pregunta a una persona

¿No puedes encontrar lo que estás buscando?

Contáctanos