processmaker/docker-executor-node

ProcessMaker 4 的 JavaScript 脚本执行器

1.1.0 2023-02-01 01:24 UTC

README

一个允许在 ProcessMaker 4 中执行原生 ES6 的 Docker 镜像

构建

要从 https://github.com/ProcessMaker/sdk-node 的 SDK 的 master 分支构建,将构建镜像为 processmaker4/executor-node:latest

docker build -t processmaker4/executor-node:latest .

如果您想使用不同的分支或本地的 SDK 构建,您可以将其复制到 ./src/sdk-node,它将使用复制的版本而不是从 GitHub 克隆。

脚本

JavaScript 必须返回一个对象、一个解析为对象的承诺,或者什么也不返回。

您的脚本可以访问全局变量 dataconfigapi

返回一个对象

return { "foo" : "bar" }

返回一个承诺

return new Promise((resolve, reject) => {
    resolve({ "foo" : "bar" })
})

不返回任何内容

// just run some javascript here without calling return

使用 ProcessMaker API

使用全局 api 变量,您可以运行如下命令来返回所有用户的电子邮件。有关更多信息,请参阅 ProcessMaker API 文档。https://<process_maker_address>/api/documentation

return new Promise((resolve, reject) => {
    let apiInstance = new api.UsersApi()
    apiInstance.getUsers({}, (error, data, response) => {
        if (error) { reject(error); return }
        let emails = data.data.map(user => {
            return user.email
        });
        resolve({"emails" : emails })
    })
})

运行

此镜像旨在由 ProcessMaker 4 中的脚本执行器运行,但也可以从命令行运行

docker run -v <path to local data.json>:/opt/executor/data.json \
  -v <path to local config.json>:/opt/executor/config.json \
  -v <path to local script.js>:/opt/executor/script.js \
  -v <path to local output.json>:/opt/executor/output.json \
  processmaker4/executor-node \
  ./run.sh

许可证

根据 AGPL 版本 3 发行

ProcessMaker (C) 2002 - 2020 ProcessMaker Inc.

有关更多信息,请访问: http://www.processmaker.com/