Número | Descripción | ||
---|---|---|---|
1 | Utilice la función require() del principio del código para importar módulos Node.js para su uso en la acción personalizada. En el código de muestra, la acción importa el módulo request que se puede utilizar para realizar llamadas HTTP simples a sistemas de terceros.
| ||
2 | this.id: atributo que se utiliza como identificador único para la acción personalizada. | ||
3 | this.label: atributo que especifica el nombre de la acción personalizada.
| ||
4 | this.input: atributo JSON que define los campos de entrada que se deben mostrar al configurar la acción de un flujo de trabajo. Hay tres claves JSON para las que se deben asignar valores: • title: (obligatorio) se utiliza internamente como identificador. • type: (obligatorio) se utiliza internamente. El valor de esta clave se debe definir siempre en objeto y no se debe cambiar. • properties: (obligatorio) un atributo JSON que define los campos de entrada y las condiciones de validación, si procede, que aparecen para la acción. Cada campo de entrada debe tener una clave única, por ejemplo, nombre, y definir los valores de los siguientes elementos: ◦ title: (obligatorio) el rótulo que aparece para el campo, como Nombre. ◦ type: (obligatorio) el tipo del campo. Los tipos válidos son cadena, objeto, matriz y cualquiera. ◦ description: (opcional) un mensaje que aparece como sugerencia. ◦ minLenght: (opcional) especifica el número mínimo de caracteres que se deben especificar.
| ||
5 | this.output: un atributo JSON que define los campos de salida que devuelve la acción y están disponibles en el resto del flujo de trabajo. Hay tres claves JSON para las que se deben asignar valores: • title: (obligatorio) se utiliza internamente como identificador. • type: (obligatorio) se utiliza internamente. El valor de esta clave se debe definir siempre en objeto y no se debe cambiar. • properties: (obligatorio) un atributo JSON que define los campos de salida. Cada campo de salida debe tener una clave única, por ejemplo, estado, y definir los valores de los siguientes elementos: ◦ title: (obligatorio) el rótulo que aparece para el campo, como estado. ◦ type: (obligatorio) el tipo del campo. Los tipos válidos son cadena, objeto, matriz y cualquiera. | ||
6 | this.execute: función que define la lógica del programa que se ejecuta cuando se ejecuta la acción dentro de un flujo de trabajo. La función debe definir los dos parámetros de función siguientes: • input: un objeto JSON que contiene los valores de los parámetros de entrada en tiempo de ejecución del flujo de trabajo. Se puede hacer referencia a los valores mediante las claves de campo de entrada definidas en el atributo this.input de la acción. • output: una función de llamada que se debe llamar para pasar los valores de salida al flujo de trabajo. Indica que se ha completado la acción. La función tiene el formato callback(err,output): ◦ err: se utiliza para informar de los errores que se hayan producido en el flujo de trabajo. Si no se producen errores, se utiliza nulo. ◦ output: un objeto JSON con valores para cada una de las claves definidas en el atributo this.output de la acción. |
Si se migra de ThingWorx Flow 8.4.x a ThingWorx Flow 8.5, las acciones personalizadas que se han creado en ThingWorx Flow 8.4.x siguen funcionando en ThingWorx Flow 8.5. Se puede añadir soporte de localización para los campos de entrada y salida de la acción personalizada. Sin embargo, no se puede localizar el rótulo de la acción personalizada que se ha creado en ThingWorx Flow 8.4. x. |