Skip to main content

GitHub Secrets — quick-ref

Propósito

Recordatorio mínimo para listar/usar secrets y resolver el clásico “Bad credentials”.

Hechos clave

  • Los valores de los secrets no se pueden ver una vez seteados (solo los nombres). Gestión desde Settings → Secrets and variables → Actions, o por CLI.

Listar nombres de secrets

Vía GitHub CLI

brew install gh     # macOS
sudo apt install gh # Linux
gh auth login
gh secret list

Muestra nombres (no valores).

Desde un workflow (solo nombres)

name: List Secrets
on: [push]
jobs:
list-secrets:
runs-on: ubuntu-latest
steps:
- name: Display secret names
run: |
echo "Available secrets:"
echo ${{ toJSON(secrets) }} | jq 'keys[]'

Imprime las keys disponibles. Útil para auditar naming.

Uso correcto en YAML (dispatch a otro repo)

- name: Send repository dispatch event
run: |
curl -X POST \
-H "Accept: application/vnd.github.v3+json" \
-H "Authorization: token ${{ secrets.gh-auth-token }}" \
https://api.github.com/repos/<owner>/<repo>/dispatches \
-d '{"event_type":"models-updated"}'

Asegurate de referenciar el nombre real del secret (no placeholders).

“Bad credentials” — mini-runbook

  1. Nombre del secret en YAML coincide con Settings.
  2. Scopes del PAT: repo, workflow.
  3. Regenerar PAT si hay dudas y volver a guardarlo como secret.
  4. Espacios extra al copiar/pegar → eliminar.
  5. URL del repo destino exacta.

Si el problema persiste, migrar a Octokit para mejor manejo de errores o usar workflow_dispatch según ownership/permisos.

QA mínimo

  • Job de prueba que liste solo nombres (sin exponer valores).
  • Acción de dispatch deja green en origen y evento recibido en destino (logs de ambos).