开发者文档
项目进度与待办
GET
/api/orgs/:orgId/project-management权限与前置条件
当前有效工作区成员;工作区及账号必须有效。
此接口仅支持浏览器登录,不接受 API Key。Cookie 写入仍需允许来源的 Origin 和 X-Requested-With: suren360。不能同时携带 Cookie 与 API Key。所有路径参数须使用真实 ID。
请求参数
orgId · 路径参数 · 必填字符串
Query 查询参数
| 字段 | 类型 | 必填 | 约束 |
|---|---|---|---|
page | integer | 否 | {"default":1,"minimum":1,"maximum":9007199254740991} |
pageSize | integer | 否 | {"default":20,"minimum":1,"maximum":100} |
q | string | 否 | {"default":"","maxLength":100} |
projectId | string | 否 | {"minLength":1,"maxLength":32} |
issueKind | string | 否 | {"enum":["overdue","review","rework","fee"]} |
issuePage | integer | 否 | {"default":1,"minimum":1,"maximum":1000000} |
查看完整请求 JSON Schema
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"page": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"pageSize": {
"default": 20,
"type": "integer",
"minimum": 1,
"maximum": 100
},
"q": {
"default": "",
"type": "string",
"maxLength": 100
},
"projectId": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"issueKind": {
"type": "string",
"enum": [
"overdue",
"review",
"rework",
"fee"
]
},
"issuePage": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 1000000
}
}
}调用示例
先通过浏览器统一登录,使用受控环境中的已有会话。 请替换部署地址与示例字段,不要将凭证粘贴到聊天或日志中。
cURL · 示例占位值需替换
curl --request GET \
'https://YOUR_DEPLOYMENT_HOST/api/orgs/YOUR_orgId/project-management' \
--cookie "$SUREN360_COOKIE"响应结构
成功返回 HTTP 200 的 JSON 对象。下方为响应结构定义,不是虚构的业务数据。
| 字段 | 类型 | 必填 | 约束 |
|---|---|---|---|
projects | object | 是 | {"required":["total","page","pageSize","items"],"additionalProperties":false} |
issues | object | 是 | {"required":["total","page","pageSize","counts","items"],"additionalProperties":false} |
查看完整响应 JSON Schema
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"projects": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"page": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"pageSize": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"name": {
"type": "string"
},
"status": {
"type": "string"
},
"responsibleName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"endsOn": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"daysRemaining": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"plannedTasks": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"completedTasks": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"recoveredCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"approvedCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"pendingReviewCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"reworkCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"pendingFeeCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"overdueCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"confirmedFeeFen": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"budgetFen": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"id",
"name",
"status",
"responsibleName",
"endsOn",
"daysRemaining",
"plannedTasks",
"completedTasks",
"recoveredCount",
"approvedCount",
"pendingReviewCount",
"reworkCount",
"pendingFeeCount",
"overdueCount",
"confirmedFeeFen",
"budgetFen"
],
"additionalProperties": false
}
}
},
"required": [
"total",
"page",
"pageSize",
"items"
],
"additionalProperties": false
},
"issues": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"page": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"pageSize": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"counts": {
"type": "object",
"properties": {
"overdue": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"review": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"rework": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fee": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"overdue",
"review",
"rework",
"fee"
],
"additionalProperties": false
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"kind": {
"type": "string",
"enum": [
"overdue",
"review",
"rework",
"fee"
]
},
"projectId": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"projectName": {
"type": "string"
},
"responsibleName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"title": {
"type": "string"
},
"creatorName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"occurredAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"targetId": {
"type": "string",
"minLength": 1,
"maxLength": 32
}
},
"required": [
"id",
"kind",
"projectId",
"projectName",
"responsibleName",
"title",
"creatorName",
"occurredAt",
"targetId"
],
"additionalProperties": false
}
}
},
"required": [
"total",
"page",
"pageSize",
"counts",
"items"
],
"additionalProperties": false
}
},
"required": [
"projects",
"issues"
],
"additionalProperties": false
}