Publicá los archivos publicados de tu artefacto en un repositorio de GitHub. Los tokens se guardan
por artefacto. Accedé vía sdk.github.
const sdk = await ShareOut.create();
if (!await sdk.github.isConnected()) {
await sdk.github.authorize();
const result = await sdk.github.export({
commitMessage: 'Update from ShareOut',
console.log(result.repoUrl); // https://github.com/octocat/my-site
console.log(result.filesCommitted); // 3
authorize(returnUrl?): Promise<boolean>
isConnected(): Promise<boolean>
getStatus(): Promise<{ connected: boolean; username?: string; artifactId: string }>
disconnect(): Promise<void>
listRepos(options?): Promise<{ repos: Repo[]; page: number; perPage: number }>
export(options): Promise<ExportResult>
| Campo |
Requerido |
Descripción |
repo |
Uno de repo o newRepo |
Repo existente en formato owner/repo |
newRepo.name |
Uno de repo o newRepo |
Nombre para un nuevo repo a crear |
newRepo.description |
No |
Descripción del repositorio |
newRepo.private |
No |
Repo privado (por defecto: false) |
branch |
No |
Rama destino (por defecto: main) |
commitMessage |
No |
Mensaje de commit (por defecto: "ShareOut export v{version}") |
includeReadme |
No |
Generar un README con info del artefacto (por defecto: true) |
pathPrefix |
No |
Prefijo para todos los paths de archivos, ej. "dist/" |
Estos endpoints también están disponibles directamente desde agentes o código del servidor.
| Endpoint |
Método |
Descripción |
/v1/data/{artifactIdOrSlug}/github/auth-url |
GET |
Devuelve una URL de OAuth de GitHub |
/v1/data/{artifactIdOrSlug}/github/token-status |
GET |
Estado de conexión y nombre de usuario |
/v1/data/{artifactIdOrSlug}/github/disconnect |
POST |
Eliminar el token de GitHub guardado |
/v1/data/{artifactIdOrSlug}/github/repos |
GET |
Listar repositorios del usuario |
/v1/data/{artifactIdOrSlug}/github/export |
POST |
Exportar archivos a un repositorio |
{artifactIdOrSlug} acepta tanto art_2ce7… como un slug de deployment como my-site.
| Parámetro |
Requerido |
Descripción |
return |
No |
URL a redirigir tras el OAuth; el callback agrega ?github_connected=true |
- Los tokens se guardan por artefacto, no por usuario de ShareOut.
- Los tokens de GitHub no expiran a menos que se revoquen.
- El scope de OAuth es
repo (acceso completo al repositorio).
- El OAuth retorna por
https://shareout.site/auth/callback; ShareOut detecta los callbacks de GitHub desde el parámetro state.
| Código |
Significado |
GITHUB_NOT_CONNECTED |
No hay token guardado — llamá a authorize() primero |
REPO_NOT_FOUND |
Repositorio no encontrado o no accesible |
NO_DEPLOYMENT |
No existe una versión publicada para exportar |
NO_ASSETS |
No se encontraron archivos en el deployment |
INVALID_REQUEST |
Faltan tanto repo como newRepo en el body de export |
EXPORT_ERROR |
Error de la API de GitHub durante la exportación |