API 参考 / schedule

预览延期传播(dry-run,只算不写)

POST /api/v1/schedule/propagation/preview · previewSchedulePropagation

R-00029「预览即真值」:与 POST /schedule/propagation/apply 共用同一段计算 (core/schedule.Propagate),但只算不写——不改任何工作项日期、不产 ChangeSet/Event、 不触发里程碑状态边沿。返回体就是 apply 的 PropagationResult,因此 「预览报几条」== 「apply 落库几条」,逐条前后日期也一致。 影响面按整张排期图的拓扑序算:apply 会顺带修掉图中别处已存在、与本次改期无关的 依赖违反,预览因此必须把那些条目也报出来,否则用户确认前看到的影响面小于真实影响面。 权限与 apply 同级(schedule 模块 manage):预览暴露的是与写命令逐字段相同的计算结果, 读级权限不足以看它。projectId 由子域租户上下文注入,不在 path。

鉴权:项目 API Token(Authorization: Bearer wfp_…)。详见 Agent 接入。

请求体

workItemId(必填)
string
startOn
string
dueOn
string

响应字段 · 200

affectedItems(必填)
PropagationAffectedItem[]
affectedItems[].workItemId(必填)
string
affectedItems[].beforeStartOn(必填)
string
affectedItems[].beforeDueOn(必填)
string
affectedItems[].afterStartOn(必填)
string
affectedItems[].afterDueOn(必填)
string
affectedItems[].shiftedDays(必填)
integer
criticalPathChanged(必填)
boolean
projectedEndOn(必填)
string
milestoneRisks(必填)
ScheduleRisk[]
milestoneRisks[].id(必填)
string
milestoneRisks[].kind(必填)
enum;取值:dependency / dependency_violation / milestone / freeze / workload
milestoneRisks[].severity(必填)
enum;取值:low / medium / high
milestoneRisks[].message(必填)
string
milestoneRisks[].entityType(必填)
enum;取值:requirement / work_item / milestone / release_window
milestoneRisks[].entityId(必填)
string
freezeRisks(必填)
ScheduleRisk[]
freezeRisks[].id(必填)
string
freezeRisks[].kind(必填)
enum;取值:dependency / dependency_violation / milestone / freeze / workload
freezeRisks[].severity(必填)
enum;取值:low / medium / high
freezeRisks[].message(必填)
string
freezeRisks[].entityType(必填)
enum;取值:requirement / work_item / milestone / release_window
freezeRisks[].entityId(必填)
string

错误

请求示例(curl)

curl -X POST "https://你的项目.workflow.games/api/v1/schedule/propagation/preview" \
  -H "Authorization: Bearer wfp_…" \
  -H "content-type: application/json" \
  --data '{"workItemId":"018f3c2e-0000-7000-8000-000000000000","startOn":"2026-08-01","dueOn":"2026-08-01"}'

响应示例

HTTP/1.1 200
{
  "affectedItems": [
    {
      "workItemId": "018f3c2e-0000-7000-8000-000000000000",
      "beforeStartOn": "2026-08-01",
      "beforeDueOn": "2026-08-01",
      "afterStartOn": "2026-08-01",
      "afterDueOn": "2026-08-01",
      "shiftedDays": 1
    }
  ],
  "criticalPathChanged": true,
  "projectedEndOn": "2026-08-01",
  "milestoneRisks": [
    {
      "id": "018f3c2e-0000-7000-8000-000000000000",
      "kind": "dependency",
      "severity": "low",
      "message": "示例文本",
      "entityType": "requirement",
      "entityId": "018f3c2e-0000-7000-8000-000000000000"
    }
  ],
  "freezeRisks": [
    {
      "id": "018f3c2e-0000-7000-8000-000000000000",
      "kind": "dependency",
      "severity": "low",
      "message": "示例文本",
      "entityType": "requirement",
      "entityId": "018f3c2e-0000-7000-8000-000000000000"
    }
  ]
}

合同真值:OpenAPI 3.1(0.1.0)。

相关:Agent 接入指南 · 使用指南 · API 参考索引

Workflow 正在加载…