Consulta los conectores compatibles con Application Integration.

Tarea de Apps Script

La tarea Apps Script te permite ejecutar Google Apps Script desde tu integración. Google Apps Script es una plataforma de desarrollo de aplicaciones que permite crear de forma rápida y sencilla aplicaciones empresariales. Para obtener más información, consulta Google Apps Script. Esta tarea es útil cuando quieres ejecutar secuencias de comandos personalizadas o reutilizar secuencias de comandos en tu integración.

Antes de empezar

Antes de usar la tarea de Apps Script, asegúrate de completar los siguientes pasos:

Habilitar la API de Apps Script

Para usar esta tarea, debes habilitar la API Apps Script en tu proyecto de Google Cloud y en tu cuenta de usuario de Apps Script. Para obtener información sobre cómo habilitar la API de Apps Script en tu proyecto de Google Cloud, consulta el artículo sobre cómo habilitar una API en un proyecto de Google Cloud estándar. Para habilitar la API en tu cuenta de usuario, haz clic en Configuración y define Google Apps Script API como On.

Crear un ID de cliente de OAuth 2.0

Si tienes un ID de cliente de OAuth 2.0, puedes saltarte este paso y pasar a Configurar un perfil de autenticación.

Para obtener información sobre cómo crear un ID de cliente de OAuth, consulta el artículo Crear un ID de cliente de OAuth.

Configurar un perfil de autenticación

Application Integration usa el perfil de autenticación para conectarse a Google Cloud y desplegar y ejecutar el proyecto de Apps Script. Para configurar un perfil de autenticación, sigue estos pasos:

Añadir la tarea de Apps Script

  1. En la Google Cloud consola, ve a la página Integración de aplicaciones.

    Ir a Application Integration

  2. En el menú de navegación, haz clic en Integraciones.

    Aparecerá la página Integraciones, en la que se muestran todas las integraciones disponibles en el proyecto de Google Cloud.

  3. Seleccione una integración o haga clic en Crear integración para crear una.

    Si vas a crear una integración:

    1. Escribe un nombre y una descripción en el panel Crear integración.
    2. Selecciona una región para la integración.
    3. Selecciona una cuenta de servicio para la integración. Puede cambiar o actualizar los detalles de la cuenta de servicio de una integración en cualquier momento desde el panel Resumen de la integración de la barra de herramientas de integración.
    4. Haz clic en Crear. La integración que acabas de crear se abre en el editor de integraciones.

  4. En la barra de navegación del editor de integraciones, haz clic en Tareas para ver la lista de tareas y conectores disponibles.
  5. Haz clic en el elemento Apps Script y colócalo en el editor de integraciones.

Crear un perfil de autenticación

  1. Haz clic en el elemento Apps Script del diseñador para ver el panel de configuración de tareas Apps Script.
  2. En el panel de configuración de la tarea de Apps Script, haz clic en + Nuevo perfil de autenticación.
  3. En el cuadro de diálogo Perfil de autenticación, introduce un nombre y una descripción para el perfil y define las siguientes propiedades:
    • Tipo de autenticación: selecciona Código de autorización de OAuth 2.0.
    • Punto de conexión de autenticación: introduce https://accounts.google.com/o/oauth2/auth.
    • Endpoint de token: introduce https://oauth2.googleapis.com/token.
    • ID de cliente: introduce el ID de cliente.

      El ID de cliente está disponible en el panel de control de tu proyecto de Google Cloud, en Credenciales > IDs de cliente de OAuth 2.0.

    • Secreto: introduce el secreto de cliente.

      El secreto de cliente está disponible en el panel de control de tu proyecto de Google Cloud, en Credenciales > IDs de cliente de OAuth 2.0.

    • Permisos: introduce lo siguiente:

      https://www.googleapis.com/auth/script.projects https://www.googleapis.com/auth/script.deployments https://www.googleapis.com/auth/script.deployments.readonly https://www.googleapis.com/auth/drive.scripts https://www.googleapis.com/auth/drive https://www.googleapis.com/auth/script.external_request https://www.googleapis.com/auth/userinfo.email

      Nota: Se pueden separar varios permisos con un solo espacio (" ").

  4. Haz clic en Generar token de acceso y guardar.

    Se te redirigirá a una pantalla de autorización. Inicia sesión y da tu consentimiento para los permisos que se indican en la pantalla para generar tu token de acceso. Si se genera correctamente el token de acceso, se guardará tu perfil de autenticación y podrás seguir editando tu integración.

Configurar la tarea de Apps Script

Para configurar un proyecto de Apps Script en la tarea Apps Script, sigue estos pasos:

  1. En el panel de configuración de la tarea, haz clic en Configurar proyecto de Apps Script.

    Aparecerá el cuadro de diálogo Configuración de Apps Script.

  2. Puedes vincular un proyecto de Apps Script que ya tengas o crear uno nuevo.

    Al configurar un proyecto de Apps Script, se asocia el proyecto de Apps Script con tu integración en Application Integration.

  3. Haz clic en Guardar.
  4. Haz clic en Abrir proyecto de Apps Script.

    En el editor de Apps Script, puedes ver los siguientes archivos:

    • Run.gs: contiene el código ejecutable. Escribe tu secuencia de comandos dentro de la función run. Se llama a esta función cuando se ejecuta la tarea de Apps Script. En tu secuencia de comandos, puedes usar las variables definidas a nivel de integración. Para obtener información sobre cómo usar las variables de integración, consulta Usar variables de integración.
    • Main.gs: contiene el código de inicialización para ejecutar Apps Script desde tu integración. No edites ni modifiques este archivo.
    • Test.gs: contiene el código ejecutable de las ejecuciones de prueba. Puedes escribir tu secuencia de comandos dentro de la función testRun para probarla.

    Asegúrate de implementar el proyecto en formato Aplicaciones web. Para obtener más información sobre los distintos modos de implementación, consulta el artículo Crear y gestionar implementaciones.

Acceder a las variables de integración

La tarea de Apps Script usa la biblioteca AppsScriptTask, que te permite usar variables de integración en tu secuencia de comandos. La biblioteca AppsScriptTask se importa automáticamente y se puede usar en la función run.

Para acceder a una variable de integración en tu Apps Script, debes pasar la variable en forma de parámetros de tarea a la tarea de Apps Script. Los parámetros de la tarea son pares clave-valor en los que Clave es el nombre de la variable de tu tarea de Apps Script y Valor es el nombre de la variable de integración correspondiente. Puede añadir uno o varios parámetros de tarea en la sección Parámetros de tarea del panel de configuración de la tarea.

Por ejemplo, si tiene una variable de integración llamada Product que quiere usar en su secuencia de comandos de Apps Script, puede definir Key como ProductKey y el valor como Product. En tu Apps Script, puedes usar AppsScriptTask.getTaskParameter('ProductKey') para leer la variable Product.

La biblioteca AppsScriptTask proporciona los siguientes métodos para acceder a las variables de integración:

Nombre de la función Descripción Uso

setIntegrationVariable

Asigna el valor proporcionado a la variable.

Sintaxis: setIntegrationVariable(value,value)

Ejemplo:

// Write to an Integer variable
AppsScriptTask.setIntegrationVariable('EmployeeIDKey','456');
      

getTaskParameter

Obtiene el valor de una variable.

Sintaxis: getTaskParameter(value)

Ejemplo:

// Read an integration variable
AppsScriptTask.getTaskParameter('EmployeeIDKey');
       

Para ver todas las funciones disponibles en la biblioteca AppsScriptTask, coloca el cursor sobre el elemento de menú AppsScriptTask en el editor de Apps Script y haz clic en Más > Abrir en una pestaña nueva.

Probar tu Apps Script

Antes de publicar tu integración, puedes probar tu secuencia de comandos con la función testRun disponible en el archivo Test.gs. Escribe el código de prueba en la función testRun con la biblioteca AppsScriptTaskTest. Esta biblioteca te permite ejecutar casos de prueba basados en aserciones y se importa automáticamente para usarla en la función testRun.

Para ver todas las funciones disponibles en la biblioteca AppsScriptTaskTest, coloca el cursor sobre el elemento de menú AppsScriptTaskTest en el editor de Apps Script y haz clic en Más > Abrir en una pestaña nueva.

En el siguiente ejemplo se muestra el uso de las funciones de la biblioteca AppsScriptTaskTest.

function testRun(){

  // Create a new request
  let req = AppsScriptTaskTest.createNewTestRequest('myCustomTest');

  // Add a task parameter that references an integration variable with the value 5
  AppsScriptTaskTest.setIntegrationVariableAndCreateReference(req, 'input', '$input$', 5);

  // Add a task parameter that references an integration variable
  AppsScriptTaskTest.createReference(req, 'output', '$output$');

  // Run the task(assuming the task increments the input by 1) and get the response
  let res = AppsScriptTaskTest.runTest(req, executeScript);

  // Check the response for the expected integration variable and its corresponding values
  AppsScriptTaskTest.containsIntegrationVariable(res, 'output', true);
  AppsScriptTaskTest.containsIntegrationVariable(res, 'someOtherIntegrtionVariable', false);
  AppsScriptTaskTest.containsIntegrationVariableWithValue(res, 'output', 6);
}

En el siguiente ejemplo se muestra cómo acceder a variables JSON y de matriz en el método testRun:

function testRun(){

  // Create a new request
  let req = AppsScriptTaskTest.createNewTestRequest('json-test');

  // Add a task parameter that references a JSON integration variable
  AppsScriptTaskTest.setIntegrationVariableAndCreateReference(req, "emp", "employee", {name:"snape", age:35});

  // Add a task parameter that references an array integration variable
  AppsScriptTaskTest.setIntegrationVariableAndCreateReference(req, "arr", "array", ["A", "B", "C"]);


  // Run the task and get the response
  // Assume that the run method increases the age of the employee by 5 and appends a new element in the array
  let res = AppsScriptTaskTest.runTest(req, executeScript);

  // Check the response for the expected integration variable and its corresponding values
  AppsScriptTaskTest.containsIntegrationVariableWithValue(res, "employee", {name:"snape", age:40});
  AppsScriptTaskTest.containsIntegrationVariable(res, "array", true);
  AppsScriptTaskTest.containsIntegrationVariableWithValue(res, "array", ["A", "B", "C", "D"]);
}

Después de ejecutar los casos de prueba, puede ver las aserciones en el registro de ejecución. Para ver los registros, haga clic en Registro de ejecución en el menú.

Prácticas recomendadas

No recomendamos usar la tarea de Apps Script si necesitas una latencia inferior a 1 o 2 segundos para la tarea de tu integración.

Además, te recomendamos que codifiques toda la lógica en una sola tarea de Apps Script, en lugar de encadenar varias tareas de Apps Script, para minimizar los cuellos de botella del rendimiento.

Para obtener información sobre los límites de uso que se aplican a la tarea Apps Script, consulta Límites de uso.

Cuestiones importantes

Cuando incluyas la tarea de Apps Script en el diseño de tu integración, ten en cuenta las siguientes limitaciones del sistema:

  • Número máximo de implementaciones activas de un Apps Script: 50
  • Consultas por segundo (CPS) para ejecutables de API: 5000/min
  • Consultas por segundo (CPS) para implementaciones de aplicaciones web: 5000/min
  • Latencia de los ejecutables de la API: 1,5 s
  • Latencia de la aplicación web: 2,5 s
  • Tamaño acumulado máximo de todas las variables de integración de un Apps Script: 15 MB

Estrategia de gestión de errores

Una estrategia de gestión de errores de una tarea especifica la acción que se debe llevar a cabo si la tarea falla debido a un error temporal. Para obtener información sobre cómo usar una estrategia de gestión de errores y conocer los diferentes tipos de estrategias de gestión de errores, consulta Estrategias de gestión de errores.

Exclusiones del SLA

La tarea de Apps Script tiene una dependencia del producto Google Apps Script. Como esta dependencia es externa a la integración de aplicaciones, todas las ejecuciones de integraciones de active que fallen debido a un error en la tarea de Apps Script quedan excluidas de los términos y condiciones del Acuerdo de Nivel de Servicio (ANS) de la integración de aplicaciones.

Cuotas y límites

Para obtener información sobre las cuotas y los límites, consulta Cuotas y límites.

Siguientes pasos