Nota: GitHub Actions estuvo disponible para GitHub Enterprise Server 2.22 como un beta limitado. El beta terminó. GitHub Actions está ahora disponible habitualmente en GitHub Enterprise Server 3.0 o superior. Para obtener más información, consulta la sección de notas de lanzamiento para GitHub Enterprise Server 3.0.
- Para obtener más información acerca de cómo mejorar a GitHub Enterprise Server 3.0 o superior, consulta la sección "Mejorar a GitHub Enterprise Server".
- Para obtener más información acerca de configurar las GitHub Actions después de tu mejora, consulta la documentación de GitHub Enterprise Server 3.0.
Nota: Los ejecutores hospedados en GitHub no son compatibles con GitHub Enterprise Server actualmente. Puedes encontrar más información sobre el soporte que se tiene planeado en el futuro en el Itinerario público de GitHub.
Acerca del secreto del GITHUB_TOKEN
Al inicio de cada ejecución de flujo de trabajo, GitHub crea automáticamente un secreto único 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 GitHub App en tu repositorio. El secreto del GITHUB_TOKEN
es un token de acceso de instalación de GitHub App. Puedes usar el token de acceso de instalación para autenticarte en nombre de la GitHub App 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 "Contextos".
Usar el GITHUB_TOKEN
en un flujo de trabajo
Puedes utilizar el GITHUB_TOKEN
si utilizas la sintaxis estándar para referenciar secretos: ${{ secrets.GITHUB_TOKEN }}
. Los ejemplos de uso del GITHUB_TOKEN
incluyen pasar el token como entrada a una acción o utilizarlo para hacer una solicitud autenticada a la API de 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 1: pasar el GITHUB_TOKEN
como 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_target ]
jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
Ejemplo 2: llamar a la API de REST
Puedes usar el GITHUB_TOKEN
para realizar llamadas API autenticadas. Este flujo de trabajo de ejemplo crea una propuesta mediante la API REST del 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 http(s)://[hostname]/api/v3/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 }}_."
}' \
--fail
Permisos para el GITHUB_TOKEN
Para obtener mpas información sobre las terminales de la API a los que pueden acceder las GitHub Apps con cada permiso, consulta la sección " Permisos de las GitHub App".
Ámbito | Tipo de acceso | Acceso por repositorios bifurcados |
---|---|---|
acciones | lectura/escritura | lectura |
verificaciones | lectura/escritura | lectura |
contenidos | lectura/escritura | lectura |
implementaciones | lectura/escritura | lectura |
propuestas | lectura/escritura | lectura |
metadatos | lectura | lectura |
paquetes | lectura/escritura | lectura |
solicitudes de extracción | lectura/escritura | lectura |
proyectos de repositorio | lectura/escritura | lectura |
estados | lectura/escritura | lectura |
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 un secreto en tu repositorio:
- Usa o crea un token con los permisos adecuados para ese repositorio. Para obtener más información, consulta la sección "Crear un token de acceso personal".
- Añade el token como un secreto en el repositorio de tu flujo de trabajo y haz referencia a él mediante la sintaxis
${{ secrets.SECRET_NAME }}
. Para obtener más información, consulta "Crear y usar secretos cifrados."