flowable-devops/backend/plugins/README.md
dengqichen ab88ff72f2 提交
2025-10-13 23:01:56 +08:00

3.0 KiB
Raw Blame History

Flowable DevOps 插件目录

这是外部插件的存放目录。

📁 目录结构

plugins/
├── README.md                    # 本文件
├── http-request-plugin/         # HTTP请求插件示例
│   ├── http-request-1.0.0.jar
│   └── plugin.json
└── custom-plugin/               # 你的自定义插件
    ├── custom-plugin-1.0.0.jar
    └── plugin.json

🔌 如何添加插件

方法1复制JAR文件第二期支持

  1. 将插件JAR文件复制到此目录
  2. 确保插件包含 plugin.json 清单文件
  3. 重启应用或触发热加载

方法2通过API上传第二期支持

curl -X POST http://localhost:8080/api/plugins/upload \
  -F "file=@my-plugin-1.0.0.jar"

方法3内置插件第一期推荐

将插件代码直接添加到项目中:

  1. src/main/java/.../workflow/node/ 创建节点类
  2. 添加 @NodePlugin 注解
  3. 实现 WorkflowNode 接口
  4. 重启应用自动加载

📦 内置插件

当前系统内置以下插件:

API 接口

  • HTTP Request (http_request) - 发送HTTP请求
    • 版本: 1.0.0
    • 作者: Flowable Team

数据转换

  • Text Processor (text_processor) - 文本处理工具
    • 版本: 1.0.0
    • 作者: Flowable Team
    • 功能: 大小写转换、字符串反转、去除空格

🛠️ 插件开发

详细开发指南请参考:docs/07-插件开发指南.md

快速示例:

@NodePlugin(
    id = "my_plugin",
    name = "myPlugin",
    displayName = "My Plugin",
    category = NodeCategory.OTHER,
    version = "1.0.0"
)
@Component
public class MyPluginNode implements WorkflowNode {
    // 实现接口...
}

🔧 插件管理API

查询所有插件

GET /api/plugins

启用/禁用插件

POST /api/plugins/{pluginId}/enable
POST /api/plugins/{pluginId}/disable

查看插件详情

GET /api/plugins/{pluginId}

统计信息

GET /api/plugins/statistics

⚠️ 注意事项

  1. 第一期仅支持内置插件外部JAR加载将在第二期实现
  2. 热加载:当前不支持,需要重启应用
  3. 依赖管理:插件间依赖解析在第三期实现
  4. 安全性:请勿加载未知来源的插件

📋 开发计划

第一期(已完成)

  • 插件注解系统
  • 自动扫描和注册
  • 插件管理API
  • 示例插件

第二期(规划中)

  • 外部JAR加载
  • 独立类加载器
  • 热加载支持
  • 插件上传API

📅 第三期(未来)

  • 插件依赖管理
  • 插件市场
  • 插件沙箱
  • 插件评级系统

📚 相关文档

🤝 贡献

欢迎贡献新的插件请遵循开发规范并提交Pull Request。


最后更新: 2025-01-13
版本: v1.0