OpenLark 工作流模块
OpenLark SDK 的工作流模块,提供飞书任务、审批和看板 API 的完整访问。
Communication / Workflow helper 分层边界见 docs/communication-workflow-helper-boundaries.md。
功能特性
- 任务管理: 创建、更新、删除、查询待办事项
- 审批流程: 审批定义、审批实例管理,以及高频审批任务 helper
- 看板管理: 看板创建、任务卡片管理
- 协作支持: 添加执行者、关注者、提醒
- 版本支持: 支持 task v1/v2,以及 approval v4 helper 场景
使用示例
use openlark_workflow::{
ApprovalTaskAction, ApprovalTaskQuery, WorkflowService, WorkflowTaskListQuery,
WorkflowTaskMutation,
};
use openlark_core::config::Config;
# async fn example() -> Result<(), Box<dyn std::error::Error>> {
let config = Config::builder()
.app_id("your_app_id")
.app_secret("your_app_secret")
.build();
let workflow_service = WorkflowService::new(config);
let tasks = workflow_service
.list_tasks_all(WorkflowTaskListQuery::for_tasklist("tasklist_guid"))
.await?;
let result = workflow_service
.mutate_task(
"task_guid",
WorkflowTaskMutation::new()
.summary("完成项目文档")
.priority(3),
)
.await?;
let approval_tasks = workflow_service
.query_approval_tasks(
ApprovalTaskQuery::new("ou_example_user", "1")
.user_id_type("open_id")
.status("Todo"),
)
.await?;
if let Some(task) = approval_tasks.first() {
let _ = workflow_service
.approve_task(
ApprovalTaskAction::new(
task.approval_code.clone(),
task.instance_code.clone(),
"ou_example_user",
task.task_id.clone(),
)
.user_id_type("open_id")
.comment("同意"),
)
.await?;
}
# Ok(())
# }