Favicon

You are here: Home > Distribución de Apps > API > Builds > POST - Archivos adjuntos a la Build

POST - Archivos adjuntos a la Build

Adjunta archivos complementarios (dSYMs, informes de pruebas, notas de versión) a Builds de Applivery usando la Integrations API o la Workspace API.

5 min read

TL;DR

Adjunta archivos adicionales a las builds de Applivery usando la API de Integraciones (por app) o la API de Workspace (multi-app), autenticándote con un App API Token o una Cuenta de servicio.

Adjunta uno o más archivos complementarios a una Build existente. Resulta útil para asociar recursos adicionales a una Build — como documentos de notas de versión, informes de pruebas, archivos dSYM para simbolización de crashes, archivos de mapping, capturas de pantalla o cualquier otro archivo que quieras tener disponible junto a la Build en Applivery.

Los archivos adjuntos son independientes del binario de la Build y no afectan a su instalación ni procesamiento. Se muestran en la vista de detalles de la Build en el panel de Applivery y son accesibles mediante la API.

Note

La Build debe tener el estado processed antes de poder adjuntar archivos. Intentar adjuntar archivos a una Build que aún está en estado pending o in_progress devolverá un error 400.

Applivery proporciona dos APIs independientes para adjuntar archivos, cada una con una credencial de autenticación diferente.


Cómo elegir la API correcta

Integrations API Workspace API
Diseñada para Pipelines de CI/CD que adjuntan artefactos por app Automatización a nivel de Workspace en varias Apps
Autenticación App API Token (por app) token de una cuenta de servicio (a nivel de Workspace)
URL base https://upload.applivery.io https://upload.applivery.io
Contexto de app Implícito — el token ya está vinculado a una App Explícito — se requieren organizationId y applicationId en la ruta
Usuarios típicos Scripts de CI que adjuntan informes de pruebas o dSYMs tras una Build Platform engineers que gestionan artefactos de builds en varias Apps
Warning

El acceso a las distintas APIs puede no estar disponible en tu plan actual. Consulta la disponibilidad en nuestra página de precios.


Integrations API

Usa este endpoint para adjuntar archivos dentro del ámbito de una sola app. La autenticación usa un App API Token, vinculado a la App específica.

Para crear un App API Token, consulta Autenticación de la API de Apps.

Endpoint

POST https://upload.applivery.io/v1/integrations/builds/{buildId}/files

Autenticación

Authorization: Bearer <your_app_token>

Formato de la petición

multipart/form-data

Parámetros de ruta

Parámetro Tipo Obligatorio Descripción
buildId String El identificador único de la Build al que adjuntar el archivo. P. ej. 552ae3cfcb5abfc58d733b81. Devuelto por POST – Subir una Build y GET – Lista de Builds.

Parámetros de cuerpo

Parámetro Tipo Obligatorio Descripción
file File El archivo a adjuntar a la Build. Se acepta cualquier tipo de archivo.
description String No Descripción legible del archivo adjunto. P. ej. Archivo dSYM para simbolización, Informe QA, PDF de notas de versión.

Ejemplo de petición

curl 'https://upload.applivery.io/v1/integrations/builds/552ae3cfcb5abfc58d733b81/files' \
  -X POST \
  -H 'Authorization: Bearer YOUR_APP_TOKEN' \
  -F 'file=@/path/to/report.zip' \
  -F 'description=Automated test report'

Respuestas

Archivo adjuntado correctamente. La respuesta devuelve el objeto completo de la Build actualizada, incluyendo el array files con el archivo recién adjuntado.

{
  "status": true,
  "data": {
    "id": "string",
    "status": "processed",
    "tags": ["string"],
    "versionName": "string",
    "application": "string",
    "applicationInfo": {
      "id": "string",
      "name": "string",
      "slug": "string",
      "picture": "string"
    },
    "changelog": "string",
    "info": {},
    "size": 0,
    "processTime": 0,
    "queuedTime": 0,
    "versionCode": "string",
    "error": "string",
    "errorCode": "string",
    "os": "ios",
    "buildPlatform": "string",
    "deployer": {},
    "uploadedBy": {},
    "originalExtension": "string",
    "storageProvider": {},
    "files": [
      {
        "id": "string",
        "type": "string",
        "description": "string",
        "file": {
          "originalName": "string",
          "mimetype": "string",
          "size": 0,
          "bucket": "string",
          "key": "string",
          "location": "string",
          "region": "string",
          "storageProviderId": "string",
          "checksum": "string",
          "updatedAt": "string",
          "createdAt": "string"
        }
      }
    ],
    "hasEmmJson": true,
    "updatedAt": "string",
    "createdAt": "string"
  }
}

Build aún no procesada. Los archivos solo pueden adjuntarse a Builds con status: processed. Reintenta cuando la Build haya terminado de procesarse.

{
  "status": false,
  "error": {
    "code": 5014,
    "message": "Build Not Processed"
  }
}
{
  "status": false,
  "error": {
    "code": 3002,
    "message": "Token Expired"
  }
}
{
  "status": false,
  "error": {
    "code": 3001,
    "message": "Entity not found"
  }
}

Campos principales del array files

Campo Descripción
id Identificador único del registro del archivo adjunto.
description La descripción proporcionada en el momento de la subida.
file.originalName El nombre original del archivo subido.
file.mimetype El tipo MIME detectado del archivo.
file.size Tamaño del archivo en bytes.
file.location La URL de almacenamiento donde está alojado el archivo.
file.checksum Checksum para verificación de integridad.

Workspace API

Usa este endpoint para adjuntar archivos a nivel de Workspace — por ejemplo, en pipelines de automatización que operan en varias Apps usando una sola credencial.

La autenticación usa un token de una cuenta de servicio, con ámbito de Workspace y no vinculado a ninguna app individual.

Para crear un token de una cuenta de servicio, consulta Cuentas de servicio.

Endpoint

POST https://upload.applivery.io/v1/organizations/{organizationId}/apps/{applicationId}/builds/{buildId}/files

Parámetros de ruta

Parámetro Tipo Obligatorio Descripción
organizationId String El identificador único de tu organización en Applivery.
applicationId String El identificador único de la App a la que pertenece la Build.
buildId String El identificador único de la Build al que adjuntar el archivo.

Autenticación

Authorization: Bearer <your_service_account_token>

Ejemplo de petición

curl 'https://upload.applivery.io/v1/organizations/ORG_ID/apps/APP_ID/builds/BUILD_ID/files' \
  -X POST \
  -H 'Authorization: Bearer YOUR_SERVICE_ACCOUNT_TOKEN' \
  -F 'file=@/path/to/mapping.txt' \
  -F 'description=ProGuard mapping file'

El esquema de la respuesta es idéntico al de la Integrations API.


Casos de uso habituales

Tipo de archivo Ejemplo de description
Archivo dSYM de iOS dSYM file for crash symbolication
Archivo de mapping ProGuard de Android ProGuard mapping file
Informe de pruebas automatizadas XCTest results — regression suite
Documento de aprobación QA QA approval — v2.4.0
PDF de notas de versión Release notes for stakeholders
Conjunto de capturas de pantalla Enterprise Store screenshots — en-US

Puedes adjuntar cualquier tipo de archivo: notas de versión, informes de pruebas, archivos dSYM, archivos de mapping, capturas de pantalla, etc.

Solo puedes adjuntar archivos a una Build después de que tenga el estado `processed`. Intentar adjuntar archivos a builds en estado `pending` o `in_progress` devolverá un error.

La Integrations API está diseñada para pipelines de CI/CD que adjuntan artefactos por app, usando un App API Token. La Workspace API es para automatización a nivel de workspace en varias apps, usando un Service Account token.

Autentícate con la Integrations API usando un App API Token en la cabecera `Authorization: Bearer <your_app_token>`.

La Integrations API requiere el `buildId` como parámetro de ruta y el `file` como parámetro de cuerpo en formato `multipart/form-data`.

Autentícate con la Workspace API usando un token de una cuenta de servicio en la cabecera `Authorization: Bearer <your_service_account_token>`.

La Workspace API requiere `organizationId`, `applicationId` y `buildId` como parámetros de ruta, y el `file` como parámetro de cuerpo en formato `multipart/form-data`.

Una operación correcta devuelve el objeto completo de la Build actualizada, incluyendo el array `files` con los detalles del archivo recién adjuntado.

Last updated: June 8, 2026