Add first party support for Github App
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 30/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- github, go
- Área
- api, authentication
Línea de trabajo
Comienza revisando github.Client, AppServiceCreateInstallationToken y ChecksService, junto con los tres flujos de autenticación de GitHub enlazados en el issue. Define la compatibilidad first-party necesaria para las credenciales de app, instalación y usuario, incluido el uso seguro y la renovación de tokens de corta duración entre llamadas a la API.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Many of the apis requires to be invoked as Github App, eg. https://docs.github.com/en/rest/checks/runs?apiVersion=2022-11-28. And currently we need to use third-party packages like ghinstallation to do so.
However, this is not the full story. When creating a Github App, it involves many different kinds of creds:
And we need to use different cred to call different APIs. For now, the only way to do so is to create many different github.Clients, each holding a different credential.
And we need to do this with extra care, as all these token are short-lived, and need to be cached/refreshed periodically. Which means, blindly creating those clients will cause lots of rate limiting issues.
For instance, to use github.ChecksService, we need:
- Auth as Github App itself by creating a JWT with app's private key, to call
github.AppServiceCreateInstallationToken - Once we have the token, we can auth as app installation, then calling
github.ChecksService
Which requires 2 github.Clients in total.
- Lenguaje dominante
- Go
- Estrellas
- 11.3k
- Forks
- 2.6k
- Merge medio
- 2 d 12 h
- PR fusionados (30 d)
- 43
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de google/go-github
-
http.Client.Timeout is ignored by redirect-aware requestsPosiblemente ocupada @sb123sb123 la tomó hace 18 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Add Copilot content exclusion set/get enterprise and org set endpointsPosiblemente ocupada @Tens1des la tomó hace 32 días. Abierto
google/go-github#4526 · 1 comentario · 1 reacción · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Add Copilot custom agents enterprise endpointsPosiblemente ocupada @Tens1des la tomó hace 32 días. Abierto
google/go-github#4524 · 1 reacción · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Repository ruleset rule type `code_quality` is not modelledPosiblemente ocupada @etifontaine la tomó hace 35 días. Abierto
google/go-github#4520 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Including an enterprise team as a reviewer for an environment results an unmarshal errorPosiblemente ocupada @JWilkinsonMB la tomó hace 51 días. Abierto
google/go-github#4457 · 1 reacción · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de google/go-github
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
open-telemetry/opentelemetry-go-compile-instrumentation#1467 ·
Los mantenedores suelen responder en 3 días
-
Python 3.15 supportPosiblemente ocupada @amnesiaof la tomó hoy. AbiertoL: python L: python:uv
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
dependabot/dependabot-core#16524 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
duplication
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
openvibely/openvibely#1443 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 60/100
canonical/service-mesh#845 ·
Los mantenedores suelen responder en 1 día