elsa 使用 REST API 执行变更
变更模块公开了一个 REST API
,以便直接执行变更。例如,要执行一个变更,该变更修改变量、将工作流实例迁移到新版本并安排活动,请使用以下请求:
POST /alterations/run HTTP/1.1
Host: localhost:5001
{
"alterations": [
{
"type": "ModifyVariable",
"variableId": "83fde420b5794bc39a0a7db725405511",
"value": "Hello world!"
},
{
"type": "Migrate",
"targetVersion": 9
},
{
"type": "ScheduleActivity",
"activityId": "mY1rb4GRjkW3urm8dcNSog"
}
],
"workflowInstanceIds": [
"88ce68d00e824c78a53af04f16d276ea"
]
}
请注意,JSON 结构与提交计划时完全相同。唯一不同的是请求被发送到 /alterations/run
端点,而不是 /alteration/submit
端点。
响应将包含执行结果:
{
"results": [
{
"workflowInstanceId": "88ce68d00e824c78a53af04f16d276ea",
"log": {
"logEntries": [
{
"message": "ModifyVariable succeeded",
"logLevel": 2,
"timestamp": "2023-10-05T12:35:23.197167+00:00"
},
{
"message": "Migrate succeeded",
"logLevel": 2,
"timestamp": "2023-10-05T12:35:23.202805+00:00"
},
{
"message": "ScheduleActivity succeeded",
"logLevel": 2,
"timestamp": "2023-10-05T12:35:23.205629+00:00"
}
]
},
"isSuccessful": true
}
]
}