请求或确认停止 self-hosted work item。
POST /api/v1/cloud/environments/{environment_id}/work/{work_id}/stop
停止 work item。请求体可省略;空 body 或 {} 都表示默认的 force=false 请求,也就是 graceful stop(非强制停止)。
对 starting 或 active item,force=false 会将 item 推进到 stopping。worker 应 drain 当前 work,然后再次调用该接口确认完成并推进到 stopped。force=true 会将任意 live item 直接推进到 stopped。
路径参数
参数 |
类型 |
说明 |
|
string |
Environment ID,前缀为 |
|
string |
Work item ID,前缀为 |
请求头
头部 |
必选 |
说明 |
|
是 |
|
|
否 |
发送 body 时为 |
请求体
字段 |
类型 |
必选 |
默认值 |
说明 |
|
boolean |
否 |
|
为 true 时不等待 graceful drain,直接强制停止 |
示例请求:force=false
curl -X POST "https://api.qoder.com.cn/api/v1/cloud/environments/env_019e64e01a137caf953ac2ac7b42ec5c/work/work_019f3be4fd2475d9a784bf2c739e1194/stop" \
-H "Authorization: Bearer $QODER_PAT" \
-H "Content-Type: application/json" \
-d '{}'
示例请求:force=true
curl -X POST "https://api.qoder.com.cn/api/v1/cloud/environments/env_019e64e01a137caf953ac2ac7b42ec5c/work/work_019f3be4fd2475d9a784bf2c739e1194/stop" \
-H "Authorization: Bearer $QODER_PAT" \
-H "Content-Type: application/json" \
-d '{"force": true}'
示例响应
HTTP 200 OK
{
"id": "work_019f3be4fd2475d9a784bf2c739e1194",
"type": "work",
"environment_id": "env_019e64e01a137caf953ac2ac7b42ec5c",
"data": {
"type": "session",
"id": "sess_019f3be3fa66750bb9a1fbcde85b5fe1"
},
"state": "stopping",
"created_at": "2026-07-01T08:15:01Z",
"acknowledged_at": "2026-07-01T08:15:04Z",
"started_at": "2026-07-01T08:15:06Z",
"latest_heartbeat_at": "2026-07-01T08:16:06.120394Z",
"stop_requested_at": "2026-07-01T08:16:30Z",
"stopped_at": null,
"metadata": {}
}
响应字段
返回更新后的 Work item 对象。
错误码
HTTP |
type |
触发条件 |
400 |
|
请求体不是合法 JSON |
400 |
|
Environment 不是 |
401 |
|
PAT 无效或过期 |
403 |
|
无权限执行此操作 |
404 |
|
Environment 或 work item 不存在 |
状态变化
force=false 表示空 body、{} 或 {"force": false}。force=true 表示 {"force": true}。
force |
当前状态 |
结果 |
|
|
|
|
|
|
|
|
|
|
|
返回现有 stopped item |
|
任意 live 状态 |
|