# workflow_elsa_demo **Repository Path**: veloyo/workflow_elsa_demo ## Basic Information - **Project Name**: workflow_elsa_demo - **Description**: .net语言的工作流框架elsa,demo - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-01-26 - **Last Updated**: 2024-01-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # workflow_elsa_demo #### 介绍 .net语言的工作流框架elsa,demo 此项目演示了,一个常见的体系结构,有一个elas工作流引擎,负责编排工作流的执行,以及一个单独的应用程序,负责执行组成工作流的任务。这些任务可以在任何编程语言中实现。 入职工作流示例: - ● 接收新员工的姓名和电子邮件地址作为输入。 - ● 运行一个名为创建电子邮件帐户的任务。 - ● 运行一个名为Create Slack Account的任务。 - ● 运行一个名为Create GitHub Account的任务。 - ● 运行一个名为添加到人力资源系统的任务。 - ● 运行名为添加到工资单系统的任务。 - ● 给新员工发邮件,欢迎他们来公司。 ![输入图片说明](assets/%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A4%BA%E6%84%8F.png) #### 使用说明 ElsaServer elsa服务,运行在5001端口 ElsaStudioBlazorServer elsa设计器项目,运行在7001端口 EmployeeOnboarding.Web 外部web项目,运行在5002端口 三个项目都启动后,访问7001的UI界面,导入工作流配置(json文件) 发送请求(注意,将{workflow_definition_id}替换为真实的工作流id) ``` json curl --location 'https://localhost:5001/elsa/api/workflow-definitions/{workflow_definition_id}/execute' \ --header 'Content-Type: application/json' \ --header 'Authorization: ApiKey 00000000-0000-0000-0000-000000000000' \ --data-raw '{ "input": { "Employee": { "Name": "Alice Smith", "Email": "alice.smith@acme.com" } } }' ``` 在web项目,可以看到接收到工作流分发出来的任务,手动点击完成后,主工作流会恢复