🔒 ONES Camunda
适用环境 | SaaS |
私有部署 |
能力说明
此能力对外表达还未明确,故暂不对外展示。
要求
ONES | @ones-op/node-ability |
---|---|
v6.1.3 | v0.12.0 |
概述
插件端通过该能力提供的sdk,向开放平台获取ONES Camunda
资源配置信息,从而支持插件通过Camunda API
访问和调用内部Camunda服务。
使用
第一步:添加能力
1. 选择能力。
在插件工程根目录下执行 npx op add ability
指令,并选择:camunda@1.0.0
。
2. 执行完成后,会自动更新 plugin.yaml
配置,并生成模块模版文件。
-
自动在 abilities 属性下新增一段配置。配置如下:
config/plugin.yamlabilities:
- id: TJFPVK8y
name: camundaApi
version: 1.0.0
abilityType: Camunda
第二步:安装依赖
进入插件工程的/backend
目录,执行以下命令进行依赖安装:
npm i @ones-op/node-ability
第三步:使用能力sdk
使用getCamundaAccessInfo
方法,插件可以获取ONES Camunda
资源配置信息。
其中,ONES Camunda
资源配置信息,说明如下:
参数名 | 值类 型 | 说明 |
---|---|---|
endpoint_url | string | Camunda API url |
api_user | string | Camunda API user |
api_password | string | Camunda 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
}