API 参考 / changes
GET /api/v1/work-items/{workItemId}/activity · listWorkItemActivity
读取当前项目中与该工作项(缺陷即 type=bug 的工作项)相关的 ChangeSet/Event——「谁在何时做了什么」 的操作记录,供缺陷 / 子任务详情的操作记录视图。与 /requirements/{id}/activity 同形状返回 ChangeSetList,客户端用 nextSeq 继续拉取。 匹配三类事件:① 直接工作项事件(payload.id 或 payload.workItemId 命中本对象); ② 挂在本对象上的子资源事件(评论 / 附件:payload.targetId 命中且 payload.targetType 属工作项家族——work_item 与 bug 两个别名都算同一个对象,不因写侧声明差异漏读)。 鉴权模块按目标条目自身的 type 判定(与 GET /work-items/{workItemId} 同闸): 缺陷(type=bug)要求 bugs >= read,其余要求 subtasks >= read。 操作记录是对象自身的严格子集,读得了对象才读得了它的历史,不比读对象更松也不更严。
结果集按调用者 moduleAccess 逐行过滤(B-00216)。 进得来不等于看得全:条目按其对象所属 模块判定归属,调用者对该模块等级为 none 的条目不下发;判不出归属的对象条目一律不下发。 因为过滤发生在取数之后,实际返回条数可能少于 limit——分页请以 nextSeq / nextCursor 为准, 不要用「不足 limit」判定已到末页。归属表见 docs/api/guides/activity.md。
鉴权:项目 API Token(Authorization: Bearer wfp_…)。详见 Agent 接入。
workItemId(必填)sinceSeqlimititems(必填)items[].id(必填)items[].seq(必填)items[].actorId(必填)items[].kind(必填)items[].summary(必填)items[].createdAt(必填)items[].events(必填)items[].events[].id(必填)items[].events[].changeSetId(必填)items[].events[].type(必填)items[].events[].payload(必填)items[].events[].occurredAt(必填)nextSeq(必填)403:Problem 错误响应404:Problem 错误响应curl -X GET "https://你的项目.workflow.games/api/v1/work-items/{workItemId}/activity?sinceSeq=…&limit=…" \
-H "Authorization: Bearer wfp_…"HTTP/1.1 200
{
"items": [
{
"id": "018f3c2e-0000-7000-8000-000000000000",
"seq": 1,
"actorId": "018f3c2e-0000-7000-8000-000000000000",
"kind": "示例文本",
"summary": "一段描述文字",
"createdAt": "示例文本",
"events": [
{}
]
}
],
"nextSeq": 1
}合同真值:OpenAPI 3.1(0.1.0)。
相关:Agent 接入指南 · 使用指南 · API 参考索引