# 项目相关接口

# 新建项目接口

# 说明

新建项目,返回新建项目UUID

# 请求地址

http://pm.example.com/p/openapi/create_project

# 支持格式

JSON格式

# HTTP请求方式

POST

# 请求参数

字段 必选 类型及范围 说明 特殊规则
project Object 项目相关内容 父节点

project 节点

字段 必选 类型及范围 说明 特殊规则
name String 项目名称
description String 项目描述
字段 必选 类型及范围 说明 特殊规则
templateProjectId String ID 模板项目ID

# 调用示例

{
	"project":{
	    "name": "测试项目OPENAPI",
	    "description": "测试项目OPENAPI"
	},
	"templateProjectId": "1"
}

# 返回结果

{
	"code": 0,
	"data":"c3c5a60439ef4c75b0ce1f72371c207d",
	"msg": "OK"
}

# 项目模板说明

项目重要字段说明

编号 字段 备注
1 专业敏捷开发 任务、需求、缺陷、测试用例、测试计划、WIKI、DevOps、文件
15 销售漏斗 销售漏斗、WIKI、文件
27 敏捷开发 任务、需求、缺陷、测试用例、测试计划、WIKI、文件
28 Issue管理 Issue、WIKI、文件
41 轻量级敏捷开发 任务、缺陷、WIKI、文件

# 获取项目详情接口

# 说明

通过项目UUID,获取项目详情数据

# 请求地址

http://pm.example.com/p/openapi/get_project

# 支持格式

JSON格式

# HTTP请求方式

POST

# 请求参数

字段 必选 类型及范围 说明 特殊规则
uuid String UUID 任务UUID

# 调用示例

{
	"uuid": "c3c5a60439ef4c75b0ce1f72371c207d"
}

# 返回结果

{
	"code": 0,
	"data": {
		"activityCount": "[10,6,14,40,9,16,23,53,68,17,0,0,0,16,11]",
		"announcement": "大家加油",
		"color": "#2E94B9",
		"companyId": 1,
		"companyName": "ITIT",
		"createAccountId": 2,
		"createAccountImageId": "6a678b40b7fd444fa8ed18997cfd0eef.png",
		"createAccountName": "",
		"createTime": 1535023122000,
		"description": "",
		"id": 14,
		"isDelete": false,
		"isIterationBased": true,
		"isPriavteDeploy": false,
		"isTemplate": false,
		"iteration": {
			"createAccountId": 3,
			"createTime": 1557896569000,
			"endDate": 1567094400000,
			"id": 79,
			"isDelete": false,
			"name": "",
			"projectId": 14,
			"startDate": 1560355200000,
			"status": 2,
			"updateAccountId": 5,
			"updateTime": 1562927275000
		},
		"iterationId": 79,
		"lastAccessTime": 1568805345847,
		"memberList": [{
			"accountId": 2,
			"accountImageId": "6a678b40b7fd444fa8ed18997cfd0eef.png",
			"accountName": "",
			"accountPinyinName": "",
			"accountStatus": 1,
			"accountUserName": "",
			"companyId": 1,
			"createAccountId": 0,
			"createTime": 1535023122000,
			"id": 13,
			"lastAccessTime": 1566975937000,
			"projectId": 14,
			"projectName": "",
			"roleList": [{
				"companyId": 1,
				"createAccountId": 1,
				"createTime": 1535019016000,
				"id": 3,
				"isSystemRole": true,
				"name": "项目管理员",
				"permissionIds": ["file_delete", "file_list", "task_change_owner_1"],
				"type": 1,
				"updateAccountId": 0,
				"updateTime": 1564370390000
			}],
			"star": true,
			"updateTime": 1566975937000
		}
		...],
		"name": "",
		"progress": 20,
		"runLogRemark": "",
		"runStatus": 1,
		"star": false,
		"status": 1,
		"templateId": 1,
		"templateName": "专业敏捷开发",
		"type": 0,
		"updateAccountId": 0,
		"updateTime": 1568794113000,
		"uuid": "eded33f7f61d4e0e914bf225f75633b9"
	},
	"msg": "OK"
}

# 项目字段说明

任务重要字段说明

字段 字面值
id 项目ID
name 项目名称
activityCount 活动数量
announcement 公告信息
color 颜色
companyId 公司ID
companyName 公司名称
createAccountId 创建人员编号
createAccountImageId 创建人员头像
createAccountName 创建人员名称
createTime 创建时间
description 项目描述
isDelete 是否删除
isPriavteDeploy 是否私有
isTemplate 是否模板
iterationId 迭代ID
progress 进度值
runLogRemark 阶段描述
runStatus 项目运行状态
star 是否标星
status 状态
templateId 模板ID
templateName 模板名称
uuid UUID
iteration 迭代信息
memberList 成员列表

iteration 迭代信息

字段 字面值
id 迭代ID
projectId 关联项目ID
name 迭代名称
createAccountId 创建人ID
createTime 创建时间
endDate 结束时间
status 状态

memberList 项目成员

字段 字面值
id 成员ID
accountId 用户ID
accountImageId 用户头像
accountName 用户名称
accountPinyinName 用户名拼音
roleList 角色信息
roleList.isSystemRole 是否是项目管理员
roleList.permissionIds 权限列表

项目状态(STATUS)取值字段说明

取值 字面值
1 运行中
2 已归档

项目运行状态(RUNSTATUS)取值字段说明

取值 字面值
1 进度正常
2 存在风险
3 进度失控

项目迭代状态(STATUS)取值字段说明

取值 字面值
1 计划中
2 开发中
3 已完成

# 修改项目接口

# 说明

通过项目ID,修改项目相关信息

# 请求地址

http://pm.example.com/p/openapi/update_project

# 支持格式

JSON格式

# HTTP请求方式

POST

# 请求参数

字段 必选 类型及范围 说明 特殊规则
project Object 项目内容 父节点

project 子节点

字段 必选 类型及范围 说明 特殊规则
id integer 编号
projectName String 项目名称
description String 项目简介
announcement String 公告
group String 分组名称
color String 颜色标识 颜色色码

# 调用示例

{
	"project": {
	    "id": 150,
	    "projectName": "",
	    "announcement": "",
	    "color": "#2E94B9",
	    "group": "",
	    "description":""
	}
}

# 返回结果

{
	"code": 0,
	"msg": "OK"
}

# 获取项目列表接口

# 说明

返回登录用户,符合查询条件的所有项目

# 请求地址

http://pm.example.com/p/openapi/get_project_list

# 支持格式

JSON格式

# HTTP请求方式

POST

# 请求参数

字段 必选 类型及范围 说明 特殊规则
query Object 查询对象 父节点

query 子节点

字段 必选 类型及范围 说明 特殊规则
id Integer 项目编号
uuid String 项目UUID
companyId Integer 公司编号
companyName String 公司名称 支持模糊查询
name String 项目名称 支持模糊查询
isTemplate Integer 是否为模板 0-否;1-是
createAccountId Integer 创建人编号
createAccountName String 创建人名称 支持模糊查询
idInList Integer[] 项目编号集合
templateId Integer 模板ID

# 调用示例

{
	"query": {
	    "companyId": 1,
	    "companyName": "",
	    "name":"",
	    "isTemplate": 0,
	    "createAccountId": 0,
	    "createAccountName": "",
	    "idInList":[150,149]
	}
}

# 返回结果

{
	"code": 0,
	"data": {
		"count": 1,
		"list": [{
			"activityCount": "[0,0,0,0,0,39,2,0,0,0,0,0,0,0,0]",
			"companyId": 1,
			"companyName": "ITIT",
			"createAccountId": 244,
			"createAccountName": "演示账号",
			"createTime": 1567918835000,
			"id": 149,
			"isDelete": false,
			"isIterationBased": false,
			"isPriavteDeploy": true,
			"isTemplate": false,
			"iteration": {
				"createAccountId": 0,
				"id": 0,
				"isDelete": false,
				"projectId": 0,
				"status": 0,
				"updateAccountId": 0
			},
			"iterationId": 0,
			"name": "CS演示OKR",
			"progress": 0,
			"runStatus": 0,
			"star": false,
			"status": 1,
			"templateId": 15,
			"templateName": "销售漏斗",
			"type": 0,
			"updateAccountId": 0,
			"updateTime": 1568767255000,
			"uuid": "1290dbd89c704414aecd75331a26f965"
		}]
	},
	"msg": "OK"
}