跳到主要内容

🔒 ONES Camunda

适用环境SaaS
私有部署
能力说明

此能力对外表达还未明确,故暂不对外展示。

要求

ONES@ones-op/node-ability
v6.1.3v0.12.0

概述

插件端通过该能力提供的sdk,向开放平台获取ONES Camunda资源配置信息,从而支持插件通过Camunda API访问和调用内部Camunda服务。

使用

第一步:添加能力

1. 选择能力。

在插件工程根目录下执行 npx op add ability 指令,并选择:camunda@1.0.0

2. 执行完成后,会自动更新 plugin.yaml 配置,并生成模块模版文件。

  • 自动在 abilities 属性下新增一段配置。配置如下:

    config/plugin.yaml
    abilities:
    - id: TJFPVK8y
    name: camundaApi
    version: 1.0.0
    abilityType: Camunda

第二步:安装依赖

进入插件工程的/backend目录,执行以下命令进行依赖安装:

npm i @ones-op/node-ability

第三步:使用能力sdk

使用getCamundaAccessInfo方法,插件可以获取ONES Camunda资源配置信息。

其中,ONES Camunda资源配置信息,说明如下:

参数名值类型说明
endpoint_urlstringCamunda API url
api_userstringCamunda API user
api_passwordstringCamunda API password

示例

插件先使用getCamundaAccessInfo方法获取到ONES Camunda资源配置信息,然后通过Camunda API调用获取Camunda服务的版本。

示例代码如下:

import { OPFetch } from '@ones-op/fetch'
import { getCamundaAccessInfo } from '@ones-op/node-ability'

const resBodyExample = {
statusCode: 200,
headers: {
'Content-Type': 'application/json;charset=utf-8',
},
body: {
result: true,
message: '' as any,
},
}

async function getCamundaVersion(camunda) {
try {
const resp = await OPFetch('/version', {
baseURL: `${camunda.endpoint_url}`,
auth: {
username: `${camunda.api_user}`,
password: `${camunda.api_password}`,
},
method: 'GET',
headers: {
Accept: 'application/json',
},
})
return resp.data
} catch (error: any) {
Logger.error('[resp] error:', error.message)
}

return
}

export async function pluginCamundaTest(request: PluginRequest): Promise<PluginResponse> {
const res = resBodyExample

try {
const camunda = await getCamundaAccessInfo()
Logger.info('getCamundaAccessInfo() response:', camunda)

//The plugin can use this Camunda information to perform some Camunda API operations.
//For example, get version of Camunda by Camunda API
const version = await getCamundaVersion(camunda)
Logger.info('getCamundaVersion() version:', version)
} catch (error: any) {
res.body.result = false
res.body.message = error.message
}

return res
}