diff --git a/api/v1/entries/programs.php b/api/v1/entries/programs.php index 3ca08a90f1..ebe875576e 100644 --- a/api/v1/entries/programs.php +++ b/api/v1/entries/programs.php @@ -22,7 +22,7 @@ class programsEntry extends entry $_COOKIE['showClosed'] = $this->param('showClosed', 0); $mergeChildren = $this->param('mergeChildren', 0); - $this->config->systemMode = 'new'; + $this->config->systemMode = 'ALM'; $fields = $this->param('fields', ''); if(stripos(strtolower(",{$fields},"), ",dropmenu,") !== false) return $this->getDropMenu(); diff --git a/api/v1/entries/projects.php b/api/v1/entries/projects.php index d2e514136e..f47dfeb56f 100644 --- a/api/v1/entries/projects.php +++ b/api/v1/entries/projects.php @@ -26,7 +26,7 @@ class projectsEntry extends entry $_COOKIE['involved'] = $this->param('involved', 0); - $this->config->systemMode = 'new'; + $this->config->systemMode = 'ALM'; if($programID) { diff --git a/api/v1/entries/testresults.php b/api/v1/entries/testresults.php index 365e9f79c9..d6fa1c6b8f 100644 --- a/api/v1/entries/testresults.php +++ b/api/v1/entries/testresults.php @@ -60,18 +60,24 @@ class testresultsEntry extends entry $case = $this->loadModel('testcase')->getByID($caseID); $runID = $this->param('runID', 0); $version = $this->param('version', $case->version); + $steps = $this->getStepIDList($runID, $caseID, $version); $this->setPost('case', $caseID); + $this->setPost('version', $version); /* Set steps and expects. */ if(isset($this->requestBody->steps)) { $results = array(); $reals = array(); - foreach($this->requestBody->steps as $step) + foreach($this->requestBody->steps as $index => $step) { - $results[] = $step->result; - $reals[] = $step->real; + /* When post data more than case steps, break after take useful data. */ + if($index + 1 > count($steps)) break; + + $stepID = $steps[$index]; + $results[$stepID] = $step->result; + $reals[$stepID] = $step->real; } $this->setPost('steps', $results); $this->setPost('reals', $reals); @@ -85,4 +91,35 @@ class testresultsEntry extends entry return $this->send(200, array()); } + + /** + * Get steps key. + * + * @param int $runID + * @access public + * @return array + */ + public function getStepIDList($runID, $caseID, $version) + { + if($runID) + { + $run = $this->testtask->getRunById($runID); + } + else + { + $run = new stdclass(); + $run->case = $this->loadModel('testcase')->getById($caseID, $version); + } + + foreach($run->case->steps as $key => $step) + { + /* Unset step if step is a group. */ + if($step->type == 'group') + { + unset($run->case->steps[$key]); + } + } + + return array_keys($run->case->steps); + } } diff --git a/config/filter.php b/config/filter.php index 40fd3fd9e2..d12e06a8b2 100755 --- a/config/filter.php +++ b/config/filter.php @@ -71,6 +71,7 @@ $filter->mr = new stdclass(); $filter->ci = new stdclass(); $filter->tree = new stdclass(); $filter->productplan = new stdclass(); +$filter->projectplan = new stdclass(); $filter->kanban = new stdclass(); $filter->index->index = new stdclass(); @@ -173,6 +174,7 @@ $filter->ci->checkCompileStatus = new stdclass(); $filter->execution->export = new stdclass(); $filter->tree->browse = new stdclass(); $filter->productplan->browse = new stdclass(); +$filter->projectplan->browse = new stdclass(); $filter->kanban->space = new stdclass(); $filter->execution->kanban = new stdclass(); $filter->execution->all = new stdclass(); @@ -300,6 +302,7 @@ $filter->story->track->cookie['preBranch'] = 'reg::word'; $filter->story->track->cookie['preProductID'] = 'int'; $filter->productplan->browse->cookie['viewType'] = 'code'; +$filter->projectplan->browse->cookie['viewType'] = 'code'; $filter->task->create->cookie['lastTaskModule'] = 'int'; $filter->task->export->cookie['checkedItem'] = 'reg::checked'; diff --git a/config/zentaopms.php b/config/zentaopms.php index dc8a08ec04..e94546bb93 100644 --- a/config/zentaopms.php +++ b/config/zentaopms.php @@ -395,13 +395,16 @@ $config->objectTables['stage'] = TABLE_STAGE; $config->objectTables['apistruct'] = TABLE_APISTRUCT; $config->objectTables['repo'] = TABLE_REPO; -$config->newFeatures = array('introduction', 'tutorial', 'youngBlueTheme', 'visions'); +$config->newFeatures = array('introduction', 'tutorial', 'youngBlueTheme', 'visions'); +$config->disabledFeatures = ''; +$config->closedFeatures = ''; $config->pipelineTypeList = array('gitlab', 'gogs', 'gitea', 'jenkins', 'sonarqube'); /* Program privs.*/ $config->programPriv = new stdclass(); -$config->programPriv->scrum = array('story', 'projectstory', 'projectrelease', 'project', 'execution', 'build', 'bug', 'testcase', 'testreport', 'doc', 'repo', 'meeting', 'stakeholder', 'testtask'); +$config->programPriv->noSprint = array('task', 'story', 'tree', 'project', 'execution', 'build', 'bug', 'testcase', 'testreport', 'doc', 'repo', 'stakeholder'); +$config->programPriv->scrum = array('story', 'requirement', 'productplan', 'tree', 'projectplan', 'projectstory', 'projectrelease', 'project', 'execution', 'build', 'bug', 'testcase', 'testreport', 'doc', 'repo', 'meeting', 'stakeholder', 'testtask'); $config->programPriv->waterfall = array_merge($config->programPriv->scrum, array('task', 'workestimation', 'durationestimation', 'budget', 'programplan', 'review', 'reviewissue', 'weekly', 'cm', 'milestone', 'design', 'issue', 'risk', 'opportunity', 'measrecord', 'auditplan', 'trainplan', 'gapanalysis', 'pssp', 'researchplan', 'researchreport')); $config->waterfallModules = array('workestimation', 'durationestimation', 'budget', 'programplan', 'review', 'reviewissue', 'weekly', 'cm', 'milestone', 'design', 'opportunity', 'auditplan', 'trainplan', 'gapanalysis', 'pssp', 'researchplan', 'researchreport'); @@ -413,3 +416,10 @@ $config->importWhiteList = array('user', 'task', 'story', 'bug', 'testcase', 'fe $config->dtable = new stdclass(); $config->dtable->colVars = array('width', 'type', 'flex', 'fixed', 'sortType', 'checkbox', 'nestedToggle', 'statusMap', 'actionsMap'); + +$config->featureGroup = new stdclass(); +$config->featureGroup->product = array('roadmap', 'track', 'URStory'); +$config->featureGroup->scrum = array(); +$config->featureGroup->waterfall = array('track'); +$config->featureGroup->assetlib = array(); +$config->featureGroup->other = array('devops', 'kanban'); diff --git a/db/api/16.0/api b/db/api/16.0/api index d50c8f91f8..a25051af3b 100644 --- a/db/api/16.0/api +++ b/db/api/16.0/api @@ -3173,7 +3173,7 @@ a:77:{i:0;O:8:"stdClass":24:{s:2:"id";s:3:"491";s:7:"product";s:1:"0";s:3:"lib"; ] }";s:8:"response";s:1922:"[{"field":"total","paramsType":"int","required":true,"desc":"发布总数","structType":"json","sub":1,"key":"kwoitgd8i6d4ereus2r","children":[]},{"field":"releases","paramsType":"array","required":true,"desc":"发布列表","structType":"json","sub":1,"key":"kwoix2ay87a7rvwc50o","children":[{"field":"id","paramsType":"int","required":"","desc":"发布编号","structType":"json","sub":2,"key":"kwoixo68mf68m49r4","parentKey":"kwoix2ay87a7rvwc50o","children":[]},{"field":"project","paramsType":"int","required":"","desc":"所属项目","structType":"json","sub":2,"key":"kwoj0p620tjei4sseipn","parentKey":"kwoix2ay87a7rvwc50o","children":[]},{"field":"product","paramsType":"int","required":"","desc":"所属产品","structType":"json","sub":2,"key":"kwoj0yeg796dwhrt5i2","parentKey":"kwoix2ay87a7rvwc50o","children":[]},{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":2,"key":"kwoj166tm1vkys8lkdn","parentKey":"kwoix2ay87a7rvwc50o","children":[]},{"field":"build","paramsType":"int","required":"","desc":"所属版本","structType":"json","sub":2,"key":"kwoj1fhpegz8347bce","parentKey":"kwoix2ay87a7rvwc50o","children":[]},{"field":"name","paramsType":"string","required":"","desc":"发布名称","structType":"json","sub":2,"key":"kwoj1qcorzww56dwb","parentKey":"kwoix2ay87a7rvwc50o","children":[]},{"field":"date","paramsType":"date","required":"","desc":"发布日期","structType":"json","sub":2,"key":"kwoj1xztoy69p6pzbz8","parentKey":"kwoix2ay87a7rvwc50o","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"描述","structType":"json","sub":2,"key":"kwoj2nf2roxjds47o0a","parentKey":"kwoix2ay87a7rvwc50o","children":[]},{"field":"status","paramsType":"string","required":"","desc":"状态(normal 正常 | terminate 停止维护)","structType":"json","sub":2,"key":"kwoj3ep06mmsacezqxb","parentKey":"kwoix2ay87a7rvwc50o","children":[]}]}]";s:12:"commonParams";s:0:"";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:30";s:8:"editedBy";s:5:"admin";s:10:"editedDate";s:19:"2022-06-28 09:51:30";s:7:"deleted";s:1:"0";}i:67;O:8:"stdClass":24:{s:2:"id";s:3:"422";s:7:"product";s:1:"0";s:3:"lib";s:2:"24";s:6:"module";s:3:"108";s:5:"title";s:12:"删除用户";s:4:"path";s:10:"/users/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:6:"DELETE";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:50:"{ "message": "success" -}";s:8:"response";s:151:"[{"field":"message","paramsType":"string","required":true,"desc":"结果信息","structType":"json","sub":1,"key":"kwon2kh7itd8zwes7no","children":[]}]";s:12:"commonParams";s:0:"";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:30";s:8:"editedBy";s:5:"admin";s:10:"editedDate";s:19:"2022-06-28 09:51:30";s:7:"deleted";s:1:"0";}i:68;O:8:"stdClass":24:{s:2:"id";s:3:"423";s:7:"product";s:1:"0";s:3:"lib";s:2:"24";s:6:"module";s:3:"108";s:5:"title";s:12:"创建用户";s:4:"path";s:6:"/users";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:777:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"account","paramsType":"string","required":true,"desc":"账号","structType":"json","sub":1,"key":"l41zlm7syi7tpslnib","children":[]},{"field":"password","paramsType":"string","required":true,"desc":"密码","structType":"json","sub":1,"key":"l41zteb0u7pqb5432d","children":[]},{"field":"realname","paramsType":"string","required":"","desc":"真实姓名","structType":"json","sub":1,"key":"l41zthpk4jhr9vixiz3","children":[]},{"field":"visions","paramsType":"array","required":"","desc":"界面 [“rnd”, “lite”],(综合研发界面 rnd, 迅捷界面 lite)。默认是rnd","structType":"json","sub":1,"key":"l41ztwgamfcn0dxx40s","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:136:"{"account": "usertest", "password": "123qwe!@#", "realname": "测试用户"}";s:15:"responseExample";s:1648:"{ +}";s:8:"response";s:151:"[{"field":"message","paramsType":"string","required":true,"desc":"结果信息","structType":"json","sub":1,"key":"kwon2kh7itd8zwes7no","children":[]}]";s:12:"commonParams";s:0:"";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:30";s:8:"editedBy";s:5:"admin";s:10:"editedDate";s:19:"2022-06-28 09:51:30";s:7:"deleted";s:1:"0";}i:68;O:8:"stdClass":24:{s:2:"id";s:3:"423";s:7:"product";s:1:"0";s:3:"lib";s:2:"24";s:6:"module";s:3:"108";s:5:"title";s:12:"创建用户";s:4:"path";s:6:"/users";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:777:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"account","paramsType":"string","required":true,"desc":"账号","structType":"json","sub":1,"key":"l41zlm7syi7tpslnib","children":[]},{"field":"password","paramsType":"string","required":true,"desc":"密码","structType":"json","sub":1,"key":"l41zteb0u7pqb5432d","children":[]},{"field":"realname","paramsType":"string","required":"","desc":"真实姓名","structType":"json","sub":1,"key":"l41zthpk4jhr9vixiz3","children":[]},{"field":"visions","paramsType":"array","required":"","desc":"界面 [“rnd”, “lite”],(研发综合界面 rnd, 运营管理界面 lite)。默认是rnd","structType":"json","sub":1,"key":"l41ztwgamfcn0dxx40s","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:136:"{"account": "usertest", "password": "123qwe!@#", "realname": "测试用户"}";s:15:"responseExample";s:1648:"{ "id": 8, "company": 0, "type": "inside", @@ -3528,4 +3528,4 @@ a:77:{i:0;O:8:"stdClass":24:{s:2:"id";s:3:"491";s:7:"product";s:1:"0";s:3:"lib"; "deleted": false, "likesCount": 0, "files": [] -}";s:8:"response";s:5111:"[{"field":"id","paramsType":"int","required":true,"desc":"反馈id","structType":"json","sub":1,"key":"l4xqgm1z3wbmee39xzp","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"l4xqk0wzir5o76xkme","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属分类","structType":"json","sub":1,"key":"l4xqk3ktpg3f151behi","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"标题","structType":"json","sub":1,"key":"l4xqk3hhxna5tbt2m1","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"类型(story 需求 | task 任务 | bug Bug | todo 代办 | advice 建议) 全新项目集模式还有(issue 问题 | risk 风险 | opportunity 机会)","structType":"json","sub":1,"key":"l4xqk3cu0hiagqyplbyc","children":[]},{"field":"solution","paramsType":"string","required":true,"desc":"处理结果(unclosed 未关闭 | all 全部 | public公开 | tostory 转任务 | totask 转任务 | tobug 转Bug | totodo 转代办 | review 待评审 | assigntome 指派给我)","structType":"json","sub":1,"key":"l4xqk396tlpfwig7ssg","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"描述","structType":"json","sub":1,"key":"l4xqk351jq4sboxnkp","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 待处理 | commenting 处理中 | replied 已处理 | closed 已关闭)","structType":"json","sub":1,"key":"l4xqk31fzcbwp527oa","children":[]},{"field":"subStatus","paramsType":"string","required":true,"desc":"子状态","structType":"json","sub":1,"key":"l4xqk2t8y6xy3ke1my","children":[]},{"field":"public","paramsType":"int","required":true,"desc":"公开","structType":"json","sub":1,"key":"l4xqk2i5g76vwkscgn9","children":[]},{"field":"notify","paramsType":"int","required":true,"desc":"通知","structType":"json","sub":1,"key":"l4xqk2dph2blv3r03s6","children":[]},{"field":"notifyEmail","paramsType":"string","required":true,"desc":"通知邮箱","structType":"json","sub":1,"key":"l4xqk28o87gr8gkr1o3","children":[]},{"field":"likes","paramsType":"string","required":true,"desc":"点赞人","structType":"json","sub":1,"key":"l4xqk24t7lpiel2furj","children":[]},{"field":"result","paramsType":"int","required":true,"desc":"转化结果","structType":"json","sub":1,"key":"l4xqk20spgg6edtsvuh","children":[]},{"field":"faq","paramsType":"int","required":true,"desc":"FAQ","structType":"json","sub":1,"key":"l4xqk1x42zm9hsil02j","children":[]},{"field":"openedBy","paramsType":"14","required":true,"desc":"创建人","structType":"json","sub":1,"key":"l4xqk1srddeaylm2c8a","children":[]},{"field":"openedDate","paramsType":"date","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"l4xqk1o4njumkkuez7f","children":[]},{"field":"reviewedBy","paramsType":"string","required":true,"desc":"由谁评审","structType":"json","sub":1,"key":"l4xqk1jrjd639en7zu","children":[]},{"field":"reviewedDate","paramsType":"date","required":true,"desc":"评审时间","structType":"json","sub":1,"key":"l4xqm1udjtd76144lno","children":[]},{"field":"processedBy","paramsType":"string","required":true,"desc":"由谁处理","structType":"json","sub":1,"key":"l4xqm1pp4wz7xq16nk4","children":[]},{"field":"processedDate","paramsType":"date","required":true,"desc":"处理时间","structType":"json","sub":1,"key":"l4xqm1kzpp0qmm2sye","children":[]},{"field":"closedBy","paramsType":"string","required":true,"desc":"由谁关闭","structType":"json","sub":1,"key":"l4xqm1gjmsi0olf6uk","children":[]},{"field":"closedDate","paramsType":"date","required":true,"desc":"关闭时间","structType":"json","sub":1,"key":"l4xqm1d9f489ea9tpdt","children":[]},{"field":"closedReason","paramsType":"string","required":true,"desc":"关闭原因","structType":"json","sub":1,"key":"l4xqm19rdtnon53thf4","children":[]},{"field":"editedBy","paramsType":"14","required":true,"desc":"最后处理人","structType":"json","sub":1,"key":"l4xqm15cfh7xhj4po0p","children":[]},{"field":"editedDate","paramsType":"date","required":true,"desc":"最后修改时间","structType":"json","sub":1,"key":"l4xqm11o23c3milu6jz","children":[]},{"field":"assignedTo","paramsType":"string","required":true,"desc":"指派给","structType":"json","sub":1,"key":"l4xqm0xxjdcrk3htpaf","children":[]},{"field":"assignedDate","paramsType":"date","required":true,"desc":"指派时间","structType":"json","sub":1,"key":"l4xqm0u50d6lezeqalxa","children":[]},{"field":"feedbackBy","paramsType":"string","required":true,"desc":"反馈者","structType":"json","sub":1,"key":"l4xqm0qvlgry762yrc","children":[]},{"field":"mailto","paramsType":"array","required":true,"desc":"抄送给","structType":"json","sub":1,"key":"l4xqm0mc4mn1s7casf9","children":[]},{"field":"deleted","paramsType":"int","required":true,"desc":"已删除","structType":"json","sub":1,"key":"l4xqk1g536zioezwsw","children":[]},{"field":"likesCount","paramsType":"int","required":true,"desc":"点赞总数","structType":"json","sub":1,"key":"l4xqk1bofdecinia5u","children":[]}]";s:12:"commonParams";N;s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 13:43:01";s:8:"editedBy";s:5:"admin";s:10:"editedDate";s:19:"2022-06-28 13:43:01";s:7:"deleted";s:1:"0";}} \ No newline at end of file +}";s:8:"response";s:5111:"[{"field":"id","paramsType":"int","required":true,"desc":"反馈id","structType":"json","sub":1,"key":"l4xqgm1z3wbmee39xzp","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"l4xqk0wzir5o76xkme","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属分类","structType":"json","sub":1,"key":"l4xqk3ktpg3f151behi","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"标题","structType":"json","sub":1,"key":"l4xqk3hhxna5tbt2m1","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"类型(story 需求 | task 任务 | bug Bug | todo 代办 | advice 建议) 全新项目集模式还有(issue 问题 | risk 风险 | opportunity 机会)","structType":"json","sub":1,"key":"l4xqk3cu0hiagqyplbyc","children":[]},{"field":"solution","paramsType":"string","required":true,"desc":"处理结果(unclosed 未关闭 | all 全部 | public公开 | tostory 转任务 | totask 转任务 | tobug 转Bug | totodo 转代办 | review 待评审 | assigntome 指派给我)","structType":"json","sub":1,"key":"l4xqk396tlpfwig7ssg","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"描述","structType":"json","sub":1,"key":"l4xqk351jq4sboxnkp","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 待处理 | commenting 处理中 | replied 已处理 | closed 已关闭)","structType":"json","sub":1,"key":"l4xqk31fzcbwp527oa","children":[]},{"field":"subStatus","paramsType":"string","required":true,"desc":"子状态","structType":"json","sub":1,"key":"l4xqk2t8y6xy3ke1my","children":[]},{"field":"public","paramsType":"int","required":true,"desc":"公开","structType":"json","sub":1,"key":"l4xqk2i5g76vwkscgn9","children":[]},{"field":"notify","paramsType":"int","required":true,"desc":"通知","structType":"json","sub":1,"key":"l4xqk2dph2blv3r03s6","children":[]},{"field":"notifyEmail","paramsType":"string","required":true,"desc":"通知邮箱","structType":"json","sub":1,"key":"l4xqk28o87gr8gkr1o3","children":[]},{"field":"likes","paramsType":"string","required":true,"desc":"点赞人","structType":"json","sub":1,"key":"l4xqk24t7lpiel2furj","children":[]},{"field":"result","paramsType":"int","required":true,"desc":"转化结果","structType":"json","sub":1,"key":"l4xqk20spgg6edtsvuh","children":[]},{"field":"faq","paramsType":"int","required":true,"desc":"FAQ","structType":"json","sub":1,"key":"l4xqk1x42zm9hsil02j","children":[]},{"field":"openedBy","paramsType":"14","required":true,"desc":"创建人","structType":"json","sub":1,"key":"l4xqk1srddeaylm2c8a","children":[]},{"field":"openedDate","paramsType":"date","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"l4xqk1o4njumkkuez7f","children":[]},{"field":"reviewedBy","paramsType":"string","required":true,"desc":"由谁评审","structType":"json","sub":1,"key":"l4xqk1jrjd639en7zu","children":[]},{"field":"reviewedDate","paramsType":"date","required":true,"desc":"评审时间","structType":"json","sub":1,"key":"l4xqm1udjtd76144lno","children":[]},{"field":"processedBy","paramsType":"string","required":true,"desc":"由谁处理","structType":"json","sub":1,"key":"l4xqm1pp4wz7xq16nk4","children":[]},{"field":"processedDate","paramsType":"date","required":true,"desc":"处理时间","structType":"json","sub":1,"key":"l4xqm1kzpp0qmm2sye","children":[]},{"field":"closedBy","paramsType":"string","required":true,"desc":"由谁关闭","structType":"json","sub":1,"key":"l4xqm1gjmsi0olf6uk","children":[]},{"field":"closedDate","paramsType":"date","required":true,"desc":"关闭时间","structType":"json","sub":1,"key":"l4xqm1d9f489ea9tpdt","children":[]},{"field":"closedReason","paramsType":"string","required":true,"desc":"关闭原因","structType":"json","sub":1,"key":"l4xqm19rdtnon53thf4","children":[]},{"field":"editedBy","paramsType":"14","required":true,"desc":"最后处理人","structType":"json","sub":1,"key":"l4xqm15cfh7xhj4po0p","children":[]},{"field":"editedDate","paramsType":"date","required":true,"desc":"最后修改时间","structType":"json","sub":1,"key":"l4xqm11o23c3milu6jz","children":[]},{"field":"assignedTo","paramsType":"string","required":true,"desc":"指派给","structType":"json","sub":1,"key":"l4xqm0xxjdcrk3htpaf","children":[]},{"field":"assignedDate","paramsType":"date","required":true,"desc":"指派时间","structType":"json","sub":1,"key":"l4xqm0u50d6lezeqalxa","children":[]},{"field":"feedbackBy","paramsType":"string","required":true,"desc":"反馈者","structType":"json","sub":1,"key":"l4xqm0qvlgry762yrc","children":[]},{"field":"mailto","paramsType":"array","required":true,"desc":"抄送给","structType":"json","sub":1,"key":"l4xqm0mc4mn1s7casf9","children":[]},{"field":"deleted","paramsType":"int","required":true,"desc":"已删除","structType":"json","sub":1,"key":"l4xqk1g536zioezwsw","children":[]},{"field":"likesCount","paramsType":"int","required":true,"desc":"点赞总数","structType":"json","sub":1,"key":"l4xqk1bofdecinia5u","children":[]}]";s:12:"commonParams";N;s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 13:43:01";s:8:"editedBy";s:5:"admin";s:10:"editedDate";s:19:"2022-06-28 13:43:01";s:7:"deleted";s:1:"0";}} diff --git a/db/api/16.0/apispec b/db/api/16.0/apispec index 6a7d8d718f..3243ea1c89 100644 --- a/db/api/16.0/apispec +++ b/db/api/16.0/apispec @@ -372,7 +372,7 @@ a:185:{i:0;O:8:"stdClass":19:{s:2:"id";s:4:"1602";s:3:"doc";s:3:"498";s:6:"modul "progress": 0 } ] -}";s:8:"response";s:2289:"[{"field":"id","paramsType":"int","required":"","desc":"产品ID","structType":"json","sub":1,"key":"kwbpz5jh94vauhx9ga6","children":[]},{"field":"name","paramsType":"string","required":"","desc":"产品名称","structType":"json","sub":1,"key":"kwbqhljxnscdsph7jh","children":[]},{"field":"program","paramsType":"int","required":"","desc":"所属项目集","structType":"json","sub":1,"key":"kwbqhueedi6o9jyr80g","children":[]},{"field":"code","paramsType":"string","required":"","desc":"产品代号","structType":"json","sub":1,"key":"kwbqi7fmwnjsrds8i3j","children":[]},{"field":"line","paramsType":"int","required":"","desc":"产品线","structType":"json","sub":1,"key":"kwbqk1pemf4rfcleksf","children":[]},{"field":"type","paramsType":"string","required":"","desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwbqo9fjuslzzbejx6","children":[]},{"field":"status","paramsType":"string","required":"","desc":"状态(normal 正常 | closed 结束)","structType":"json","sub":1,"key":"kwbqqfgzincm6qkym3","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwbr0v2vhqrrqh8y6l","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwbr107xvu791yqyaxk","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwbr10vxlfbpvdlvor9","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwbr1lszosgjhp2c0zh","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwbr1uny368imqpppbd","children":[]},{"field":"createdBy","paramsType":"string","required":"","desc":"创建人","structType":"json","sub":1,"key":"kwbr24x72kgwwnbt8jh","children":[]},{"field":"createdDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":1,"key":"kwbr2agkwi1th2cc9l","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwbr2x4zzb1jbw5g5qk","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:52:44";}i:8;O:8:"stdClass":19:{s:2:"id";s:4:"1594";s:3:"doc";s:3:"490";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集列表";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"5";s:6:"params";s:223:"{"header":[{"field":"Authorization","required":true,"desc":"访问凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"order","required":"","desc":"排序,默认order_asc;排序字段+下划线+asc/desc"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:506:"[{"field":"programs","paramsType":"array","required":"","desc":"项目集列表","structType":"json","sub":1,"key":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":"","desc":"项目集ID","structType":"json","sub":2,"key":"kw5oko39ful5ibh4xos","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"name","paramsType":"string","required":"","desc":"项目集名称","structType":"json","sub":2,"key":"kwbijc4xmi7da0s2v3h","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:9;O:8:"stdClass":19:{s:2:"id";s:4:"1593";s:3:"doc";s:3:"490";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集列表";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:223:"{"header":[{"field":"Authorization","required":true,"desc":"访问凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"order","required":"","desc":"排序,默认order_asc;排序字段+下划线+asc/desc"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:324:"[{"field":"programs","paramsType":"array","required":"","desc":"项目集列表","structType":"json","sub":1,"key":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":"","desc":"项目集ID","structType":"json","sub":2,"key":"kw5oko39ful5ibh4xos","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:10;O:8:"stdClass":19:{s:2:"id";s:4:"1592";s:3:"doc";s:3:"489";s:6:"module";s:3:"105";s:5:"title";s:18:"获取产品列表";s:4:"path";s:9:"/products";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:118:"{"header":[{"field":"Authorization","required":"","desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:306:"[{"field":"products","paramsType":"object","required":"","desc":"","structType":"json","sub":1,"key":"kwaewshi65nnjs135n3","children":[{"field":"id","paramsType":"int","required":"","desc":"产品ID","structType":"json","sub":2,"key":"kwaey51uz6sfrk555m","parentKey":"kwaewshi65nnjs135n3","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:11;O:8:"stdClass":19:{s:2:"id";s:4:"1591";s:3:"doc";s:3:"490";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集列表";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:223:"{"header":[{"field":"Authorization","required":true,"desc":"访问凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"order","required":"","desc":"排序,默认order_asc;排序字段+下划线+asc/desc"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:309:"[{"field":"programs","paramsType":"array","required":"","desc":"","structType":"json","sub":1,"key":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":"","desc":"项目集ID","structType":"json","sub":2,"key":"kw5oko39ful5ibh4xos","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:12;O:8:"stdClass":19:{s:2:"id";s:4:"1590";s:3:"doc";s:3:"490";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集列表";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:223:"{"header":[{"field":"Authorization","required":true,"desc":"访问凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"order","required":"","desc":"排序,默认order_asc;排序字段+下划线+asc/desc"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:309:"[{"field":"programs","paramsType":"array","required":"","desc":"","structType":"json","sub":1,"key":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":"","desc":"项目集ID","structType":"json","sub":2,"key":"kw5oko39ful5ibh4xos","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:13;O:8:"stdClass":19:{s:2:"id";s:4:"1589";s:3:"doc";s:3:"490";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集列表";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:223:"{"header":[{"field":"Authorization","required":true,"desc":"访问凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"order","required":"","desc":"排序,默认order_asc;排序字段+下划线+asc/desc"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:309:"[{"field":"programs","paramsType":"array","required":"","desc":"","structType":"json","sub":1,"key":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":"","desc":"项目集ID","structType":"json","sub":2,"key":"kw5oko39ful5ibh4xos","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:14;O:8:"stdClass":19:{s:2:"id";s:4:"1588";s:3:"doc";s:3:"490";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集列表";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:223:"{"header":[{"field":"Authorization","required":true,"desc":"访问凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"order","required":"","desc":"排序,默认order_asc;排序字段+下划线+asc/desc"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:310:"[{"field":"programs","paramsType":"object","required":"","desc":"","structType":"json","sub":1,"key":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":"","desc":"项目集ID","structType":"json","sub":2,"key":"kw5oko39ful5ibh4xos","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:15;O:8:"stdClass":19:{s:2:"id";s:4:"1585";s:3:"doc";s:3:"491";s:6:"module";s:3:"117";s:5:"title";s:11:"获取Token";s:4:"path";s:7:"/tokens";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:343:"{"header":[],"params":[{"field":"account","paramsType":"string","required":"","desc":"登录名","structType":"json","sub":1,"key":"kw4dijiqp90k7dq8qbf","children":[]},{"field":"password","paramsType":"string","required":"","desc":"密码","structType":"json","sub":1,"key":"kw4dizdkfwino1m0kro","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:135:"[{"field":"token","paramsType":"string","required":"","desc":"","structType":"json","sub":1,"key":"kw4dg646mwx29eklxea","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:16;O:8:"stdClass":19:{s:2:"id";s:4:"1586";s:3:"doc";s:3:"491";s:6:"module";s:3:"117";s:5:"title";s:11:"获取Token";s:4:"path";s:7:"/tokens";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:343:"{"header":[],"params":[{"field":"account","paramsType":"string","required":"","desc":"登录名","structType":"json","sub":1,"key":"kw4dijiqp90k7dq8qbf","children":[]},{"field":"password","paramsType":"string","required":"","desc":"密码","structType":"json","sub":1,"key":"kw4dizdkfwino1m0kro","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:135:"[{"field":"token","paramsType":"string","required":"","desc":"","structType":"json","sub":1,"key":"kw4dg646mwx29eklxea","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:17;O:8:"stdClass":19:{s:2:"id";s:4:"1587";s:3:"doc";s:3:"490";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集列表";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:221:"{"header":[{"field":"Authorization","required":"","desc":"访问凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"order","required":"","desc":"排序,默认order_asc;排序字段+下划线+asc/desc"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:310:"[{"field":"programs","paramsType":"object","required":"","desc":"","structType":"json","sub":1,"key":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":"","desc":"项目集ID","structType":"json","sub":2,"key":"kw5oko39ful5ibh4xos","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:18;O:8:"stdClass":19:{s:2:"id";s:4:"1583";s:3:"doc";s:3:"490";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集列表";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"6";s:6:"params";s:223:"{"header":[{"field":"Authorization","required":true,"desc":"访问凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"order","required":"","desc":"排序,默认order_asc;排序字段+下划线+asc/desc"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2552:"[{"field":"programs","paramsType":"array","required":"","desc":"项目集列表","structType":"json","sub":1,"key":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":"","desc":"项目集ID","structType":"json","sub":2,"key":"kw5oko39ful5ibh4xos","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"name","paramsType":"string","required":"","desc":"项目集名称","structType":"json","sub":2,"key":"kwbijc4xmi7da0s2v3h","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"预算金额","structType":"json","sub":2,"key":"kwbijs25uh1oerv14o","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY/USD)","structType":"json","sub":2,"key":"kwbiljpvwx1s9subl6h","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"预计开始日期","structType":"json","sub":2,"key":"kwbim4qiu70li1lj2sg","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"end","paramsType":"date","required":"","desc":"预计结束日期","structType":"json","sub":2,"key":"kwbin0zq2jnrf2hheqk","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"realBegan","paramsType":"date","required":"","desc":"实际开始日期","structType":"json","sub":2,"key":"kwbin1zr9rft0cqsn7","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"realEnd","paramsType":"date","required":"","desc":"实际结束日期","structType":"json","sub":2,"key":"kwbinosclp6c0ziw75b","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"parent","paramsType":"int","required":"","desc":"父项目集,顶层项目集的parent为0","structType":"json","sub":2,"key":"kwbivepwxrt80u7jdnj","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"openedBy","paramsType":"string","required":"","desc":"由谁创建","structType":"json","sub":2,"key":"kwbiwzxpqpd682l27ke","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"openedDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":2,"key":"kwbixdfmz87xqj9c6dm","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目集负责人","structType":"json","sub":2,"key":"kwbiy8g88gdd05pvdom","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"progress","paramsType":"int","required":"","desc":"进度","structType":"json","sub":2,"key":"kwbiyml3zn2zd5mdv0c","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:19;O:8:"stdClass":19:{s:2:"id";s:4:"1584";s:3:"doc";s:3:"490";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集列表";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"7";s:6:"params";s:223:"{"header":[{"field":"Authorization","required":true,"desc":"访问凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"order","required":"","desc":"排序,默认order_asc;排序字段+下划线+asc/desc"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2580:"[{"field":"programs","paramsType":"array","required":true,"desc":"项目集列表","structType":"json","sub":1,"key":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":true,"desc":"项目集ID","structType":"json","sub":2,"key":"kw5oko39ful5ibh4xos","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目集名称","structType":"json","sub":2,"key":"kwbijc4xmi7da0s2v3h","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":2,"key":"kwbijs25uh1oerv14o","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY/USD)","structType":"json","sub":2,"key":"kwbiljpvwx1s9subl6h","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":2,"key":"kwbim4qiu70li1lj2sg","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"预计结束日期","structType":"json","sub":2,"key":"kwbin0zq2jnrf2hheqk","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":2,"key":"kwbin1zr9rft0cqsn7","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":2,"key":"kwbinosclp6c0ziw75b","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父项目集,顶层项目集的parent为0","structType":"json","sub":2,"key":"kwbivepwxrt80u7jdnj","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"由谁创建","structType":"json","sub":2,"key":"kwbiwzxpqpd682l27ke","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwbixdfmz87xqj9c6dm","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"PM","paramsType":"string","required":true,"desc":"项目集负责人","structType":"json","sub":2,"key":"kwbiy8g88gdd05pvdom","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"progress","paramsType":"int","required":true,"desc":"进度","structType":"json","sub":2,"key":"kwbiyml3zn2zd5mdv0c","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:20;O:8:"stdClass":19:{s:2:"id";s:4:"1581";s:3:"doc";s:3:"489";s:6:"module";s:3:"105";s:5:"title";s:18:"获取产品列表";s:4:"path";s:9:"/products";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:126:"{"header":[{"field":"Authorization","required":"","desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2757:"[{"field":"products","paramsType":"array","required":true,"desc":"","structType":"json","sub":1,"key":"kwaewshi65nnjs135n3","children":[{"field":"id","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":2,"key":"kwaey51uz6sfrk555m","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":2,"key":"kwbj1dqg65pvugs5h2s","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":2,"key":"kwbj2a1ihackyh03q49","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"产品代号","structType":"json","sub":2,"key":"kwbj2h0rn057wustk7o","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"line","paramsType":"int","required":true,"desc":"所属产品线","structType":"json","sub":2,"key":"kwbnpypoba6t1ms7oaf","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":2,"key":"kwbp9dclulc73a3tg","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":2,"key":"kwbp9pc1t1nvj4j2wd","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":2,"key":"kwbpalk5bnobb0mtp98","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":2,"key":"kwbpb2vft6si1ctgwf","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"产品描述","structType":"json","sub":2,"key":"kwbpdiepohshkv3sx2","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":2,"key":"kwbpdpivj06ph39fui","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":2,"key":"kwbpf2zg4f4bms64ubf","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"createdBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwbpfo85ji5yl8vqee","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"createdDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwbpfwmgpdtmdxctovi","parentKey":"kwaewshi65nnjs135n3","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:21;O:8:"stdClass":19:{s:2:"id";s:4:"1582";s:3:"doc";s:3:"489";s:6:"module";s:3:"105";s:5:"title";s:18:"获取产品列表";s:4:"path";s:9:"/products";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:126:"{"header":[{"field":"Authorization","required":"","desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2751:"[{"field":"products","paramsType":"array","required":true,"desc":"","structType":"json","sub":1,"key":"kwaewshi65nnjs135n3","children":[{"field":"id","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":2,"key":"kwaey51uz6sfrk555m","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":2,"key":"kwbj1dqg65pvugs5h2s","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":2,"key":"kwbj2a1ihackyh03q49","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"产品代号","structType":"json","sub":2,"key":"kwbj2h0rn057wustk7o","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"line","paramsType":"int","required":true,"desc":"所属产品线","structType":"json","sub":2,"key":"kwbnpypoba6t1ms7oaf","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":2,"key":"kwbp9dclulc73a3tg","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":2,"key":"kwbp9pc1t1nvj4j2wd","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":2,"key":"kwbpalk5bnobb0mtp98","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":2,"key":"kwbpb2vft6si1ctgwf","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"产品描述","structType":"json","sub":2,"key":"kwbpdiepohshkv3sx2","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":2,"key":"kwbpdpivj06ph39fui","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":2,"key":"kwbpf2zg4f4bms64ubf","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"createdBy","paramsType":"string","required":"","desc":"创建人","structType":"json","sub":2,"key":"kwbpfo85ji5yl8vqee","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"createdDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":2,"key":"kwbpfwmgpdtmdxctovi","parentKey":"kwaewshi65nnjs135n3","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:22;O:8:"stdClass":19:{s:2:"id";s:4:"1580";s:3:"doc";s:3:"488";s:6:"module";s:3:"105";s:5:"title";s:12:"创建产品";s:4:"path";s:9:"/products";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:1798:"{"header":[{"field":"Authorization","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":1,"key":"kwbq19ffg59cbooyb","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwbq1dizm75sgcgnd9f","children":[]},{"field":"code","paramsType":"int","required":true,"desc":"产品代号","structType":"json","sub":1,"key":"kwbq1xl9s30o2e1awjo","children":[]},{"field":"line","paramsType":"int","required":false,"desc":"所属产品线","structType":"json","sub":1,"key":"kwbq2ftqrqrmg8cyj7t","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwbq33qsopavnj72ntb","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwbq3kbijyjhoy0se99","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwbq412yll94vpa635p","children":[]},{"field":"type","paramsType":"string","required":"","desc":"产品类型(normal 正常 | branch 多分支 | )","structType":"json","sub":1,"key":"kwbq49zapa2fswh58f","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwbqcmbo088hh0l8o91","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwbqdai6v9pl61o6xab","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwbqe9ye70wc961572o","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2289:"[{"field":"id","paramsType":"int","required":"","desc":"产品ID","structType":"json","sub":1,"key":"kwbpz5jh94vauhx9ga6","children":[]},{"field":"name","paramsType":"string","required":"","desc":"产品名称","structType":"json","sub":1,"key":"kwbqhljxnscdsph7jh","children":[]},{"field":"program","paramsType":"int","required":"","desc":"所属项目集","structType":"json","sub":1,"key":"kwbqhueedi6o9jyr80g","children":[]},{"field":"code","paramsType":"string","required":"","desc":"产品代号","structType":"json","sub":1,"key":"kwbqi7fmwnjsrds8i3j","children":[]},{"field":"line","paramsType":"int","required":"","desc":"产品线","structType":"json","sub":1,"key":"kwbqk1pemf4rfcleksf","children":[]},{"field":"type","paramsType":"string","required":"","desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwbqo9fjuslzzbejx6","children":[]},{"field":"status","paramsType":"string","required":"","desc":"状态(normal 正常 | closed 结束)","structType":"json","sub":1,"key":"kwbqqfgzincm6qkym3","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwbr0v2vhqrrqh8y6l","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwbr107xvu791yqyaxk","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwbr10vxlfbpvdlvor9","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwbr1lszosgjhp2c0zh","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwbr1uny368imqpppbd","children":[]},{"field":"createdBy","paramsType":"string","required":"","desc":"创建人","structType":"json","sub":1,"key":"kwbr24x72kgwwnbt8jh","children":[]},{"field":"createdDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":1,"key":"kwbr2agkwi1th2cc9l","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwbr2x4zzb1jbw5g5qk","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:23;O:8:"stdClass":19:{s:2:"id";s:4:"1578";s:3:"doc";s:3:"487";s:6:"module";s:1:"0";s:5:"title";s:18:"获取产品详情";s:4:"path";s:13:"/products/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:128:"{"header":[{"field":"Authorization","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:427:"[{"field":"id","paramsType":"int","required":"","desc":"产品ID","structType":"json","sub":1,"key":"kwbr4qcbgcop3s3ohg5","children":[]},{"field":"name","paramsType":"string","required":"","desc":"产品名称","structType":"json","sub":1,"key":"kwbr6h84h8rp18cru57","children":[]},{"field":"code","paramsType":"string","required":"","desc":"产品代号","structType":"json","sub":1,"key":"kwbs6sx5bpk1z0kf7ak","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:24;O:8:"stdClass":19:{s:2:"id";s:4:"1579";s:3:"doc";s:3:"487";s:6:"module";s:1:"0";s:5:"title";s:18:"获取产品详情";s:4:"path";s:13:"/products/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:128:"{"header":[{"field":"Authorization","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2828:"[{"field":"id","paramsType":"int","required":"","desc":"产品ID","structType":"json","sub":1,"key":"kwbr4qcbgcop3s3ohg5","children":[]},{"field":"name","paramsType":"string","required":"","desc":"产品名称","structType":"json","sub":1,"key":"kwbr6h84h8rp18cru57","children":[]},{"field":"code","paramsType":"string","required":"","desc":"产品代号","structType":"json","sub":1,"key":"kwbs6sx5bpk1z0kf7ak","children":[]},{"field":"program","paramsType":"int","required":"","desc":"所属项目集","structType":"json","sub":1,"key":"kwellfvj3lxhcmg4wfo","children":[]},{"field":"line","paramsType":"int","required":"","desc":"所属产品线","structType":"json","sub":1,"key":"kwelm02uvxu130ubux","children":[]},{"field":"type","paramsType":"string","required":"","desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwelnh4d6pqibi436x9","children":[]},{"field":"PO","paramsType":"object","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwembkw9f5tak8d1gtg","children":[{"field":"account","paramsType":"string","required":"","desc":"账户名","structType":"json","sub":2,"key":"kwemc1rwia6gu1osie","parentKey":"kwembkw9f5tak8d1gtg","children":[]}]},{"field":"QD","paramsType":"object","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwemckatgwyg58ed9ic","children":[{"field":"account","paramsType":"object","required":"","desc":"账户名","structType":"json","sub":2,"key":"kwemcts82g2znqe1ksn","parentKey":"kwemckatgwyg58ed9ic","children":[]}]},{"field":"RD","paramsType":"object","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwemo4zyvvjyf5lpte","children":[{"field":"account","paramsType":"object","required":"","desc":"账户名","structType":"json","sub":2,"key":"kwemojw7zl28rgjv73d","parentKey":"kwemo4zyvvjyf5lpte","children":[]}]},{"field":"desc","paramsType":"object","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwemrk1txqrm14ww5c","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwemrs7sej0jr0cdabb","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwemsftfsdxa86i4dq","children":[]},{"field":"createdBy","paramsType":"object","required":"","desc":"创建人","structType":"json","sub":1,"key":"kwemsw3yed4knmaqwwr","children":[{"field":"account","paramsType":"object","required":"","desc":"账户名","structType":"json","sub":2,"key":"kwemtbmet7dcakejvk","parentKey":"kwemsw3yed4knmaqwwr","children":[]}]},{"field":"createdDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":1,"key":"kwemu7xhxrhubvtg1i","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:25;O:8:"stdClass":19:{s:2:"id";s:4:"1573";s:3:"doc";s:3:"484";s:6:"module";s:3:"105";s:5:"title";s:12:"删除产品";s:4:"path";s:12:"/product/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:6:"DELETE";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:0:"";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:0:"";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:26;O:8:"stdClass":19:{s:2:"id";s:4:"1574";s:3:"doc";s:3:"484";s:6:"module";s:3:"105";s:5:"title";s:12:"删除产品";s:4:"path";s:12:"/product/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:6:"DELETE";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:149:"[{"field":"message","paramsType":"string","required":"","desc":"响应信息","structType":"json","sub":1,"key":"kwep4cva4cif20tiujh","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:27;O:8:"stdClass":19:{s:2:"id";s:4:"1575";s:3:"doc";s:3:"486";s:6:"module";s:3:"105";s:5:"title";s:12:"编辑产品";s:4:"path";s:12:"/product/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:1230:"{"header":[{"field":"Token","required":"","desc":"访问凭证Token"}],"params":[{"field":"name","paramsType":"string","required":"","desc":"产品名称","structType":"json","sub":1,"key":"kwen3dckicyphhnz","children":[]},{"field":"code","paramsType":"string","required":"","desc":"产品代号","structType":"json","sub":1,"key":"kwen3izzrkun21x6ga","children":[]},{"field":"type","paramsType":"string","required":"","desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwen45d40m14utr25tg","children":[]},{"field":"line","paramsType":"int","required":"","desc":"所属产品线","structType":"json","sub":1,"key":"kwen8jf7leyksxip3f8","children":[]},{"field":"program","paramsType":"int","required":"","desc":"所属项目集","structType":"json","sub":1,"key":"kwen8ty05syldw0juiy","children":[]},{"field":"status","paramsType":"string","required":"","desc":"产品状态(normal 正常 | closed 已关闭)","structType":"json","sub":1,"key":"kwencqbvtud2pfbrfjp","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"产品描述,富文本","structType":"json","sub":1,"key":"kwenfpizvxhggi9clqj","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:143:"[{"field":"product","paramsType":"object","required":"","desc":"产品","structType":"json","sub":1,"key":"kwemz2ndif7hbq1tt0l","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:28;O:8:"stdClass":19:{s:2:"id";s:4:"1576";s:3:"doc";s:3:"487";s:6:"module";s:3:"105";s:5:"title";s:18:"获取产品详情";s:4:"path";s:13:"/products/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:128:"{"header":[{"field":"Authorization","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3038:"[{"field":"id","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":1,"key":"kwbr4qcbgcop3s3ohg5","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":1,"key":"kwbr6h84h8rp18cru57","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"产品代号","structType":"json","sub":1,"key":"kwbs6sx5bpk1z0kf7ak","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwellfvj3lxhcmg4wfo","children":[]},{"field":"line","paramsType":"int","required":true,"desc":"所属产品线","structType":"json","sub":1,"key":"kwelm02uvxu130ubux","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwelnh4d6pqibi436x9","children":[]},{"field":"PO","paramsType":"object","required":false,"desc":"产品负责人","structType":"json","sub":1,"key":"kwembkw9f5tak8d1gtg","children":[{"field":"account","paramsType":"string","required":false,"desc":"账户名","structType":"json","sub":2,"key":"kwemc1rwia6gu1osie","parentKey":"kwembkw9f5tak8d1gtg","children":[]}]},{"field":"QD","paramsType":"object","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwemckatgwyg58ed9ic","children":[{"field":"account","paramsType":"object","required":"","desc":"账户名","structType":"json","sub":2,"key":"kwemcts82g2znqe1ksn","parentKey":"kwemckatgwyg58ed9ic","children":[]}]},{"field":"RD","paramsType":"object","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwemo4zyvvjyf5lpte","children":[{"field":"account","paramsType":"object","required":"","desc":"账户名","structType":"json","sub":2,"key":"kwemojw7zl28rgjv73d","parentKey":"kwemo4zyvvjyf5lpte","children":[]}]},{"field":"desc","paramsType":"object","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwemrk1txqrm14ww5c","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwemrs7sej0jr0cdabb","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwemsftfsdxa86i4dq","children":[]},{"field":"createdBy","paramsType":"object","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwemsw3yed4knmaqwwr","children":[{"field":"account","paramsType":"object","required":true,"desc":"账户名","structType":"json","sub":2,"key":"kwemwh1vt58lmzn2yz","parentKey":"kwemsw3yed4knmaqwwr","children":[]},{"field":"realname","paramsType":"object","required":true,"desc":"真实姓名","structType":"json","sub":2,"key":"kwemtbmet7dcakejvk","parentKey":"kwemsw3yed4knmaqwwr","children":[]}]},{"field":"createdDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwemu7xhxrhubvtg1i","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:29;O:8:"stdClass":19:{s:2:"id";s:4:"1577";s:3:"doc";s:3:"487";s:6:"module";s:1:"0";s:5:"title";s:18:"获取产品详情";s:4:"path";s:13:"/products/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:128:"{"header":[{"field":"Authorization","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3038:"[{"field":"id","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":1,"key":"kwbr4qcbgcop3s3ohg5","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":1,"key":"kwbr6h84h8rp18cru57","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"产品代号","structType":"json","sub":1,"key":"kwbs6sx5bpk1z0kf7ak","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwellfvj3lxhcmg4wfo","children":[]},{"field":"line","paramsType":"int","required":true,"desc":"所属产品线","structType":"json","sub":1,"key":"kwelm02uvxu130ubux","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwelnh4d6pqibi436x9","children":[]},{"field":"PO","paramsType":"object","required":false,"desc":"产品负责人","structType":"json","sub":1,"key":"kwembkw9f5tak8d1gtg","children":[{"field":"account","paramsType":"string","required":false,"desc":"账户名","structType":"json","sub":2,"key":"kwemc1rwia6gu1osie","parentKey":"kwembkw9f5tak8d1gtg","children":[]}]},{"field":"QD","paramsType":"object","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwemckatgwyg58ed9ic","children":[{"field":"account","paramsType":"object","required":"","desc":"账户名","structType":"json","sub":2,"key":"kwemcts82g2znqe1ksn","parentKey":"kwemckatgwyg58ed9ic","children":[]}]},{"field":"RD","paramsType":"object","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwemo4zyvvjyf5lpte","children":[{"field":"account","paramsType":"object","required":"","desc":"账户名","structType":"json","sub":2,"key":"kwemojw7zl28rgjv73d","parentKey":"kwemo4zyvvjyf5lpte","children":[]}]},{"field":"desc","paramsType":"object","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwemrk1txqrm14ww5c","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwemrs7sej0jr0cdabb","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwemsftfsdxa86i4dq","children":[]},{"field":"createdBy","paramsType":"object","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwemsw3yed4knmaqwwr","children":[{"field":"account","paramsType":"object","required":true,"desc":"账户名","structType":"json","sub":2,"key":"kwemwh1vt58lmzn2yz","parentKey":"kwemsw3yed4knmaqwwr","children":[]},{"field":"realname","paramsType":"object","required":true,"desc":"真实姓名","structType":"json","sub":2,"key":"kwemtbmet7dcakejvk","parentKey":"kwemsw3yed4knmaqwwr","children":[]}]},{"field":"createdDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwemu7xhxrhubvtg1i","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:30;O:8:"stdClass":19:{s:2:"id";s:4:"1572";s:3:"doc";s:3:"486";s:6:"module";s:3:"105";s:5:"title";s:12:"编辑产品";s:4:"path";s:12:"/product/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:1238:"{"header":[{"field":"Authorization","required":"","desc":"访问凭证Token"}],"params":[{"field":"name","paramsType":"string","required":"","desc":"产品名称","structType":"json","sub":1,"key":"kwen3dckicyphhnz","children":[]},{"field":"code","paramsType":"string","required":"","desc":"产品代号","structType":"json","sub":1,"key":"kwen3izzrkun21x6ga","children":[]},{"field":"type","paramsType":"string","required":"","desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwen45d40m14utr25tg","children":[]},{"field":"line","paramsType":"int","required":"","desc":"所属产品线","structType":"json","sub":1,"key":"kwen8jf7leyksxip3f8","children":[]},{"field":"program","paramsType":"int","required":"","desc":"所属项目集","structType":"json","sub":1,"key":"kwen8ty05syldw0juiy","children":[]},{"field":"status","paramsType":"string","required":"","desc":"产品状态(normal 正常 | closed 已关闭)","structType":"json","sub":1,"key":"kwencqbvtud2pfbrfjp","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"产品描述,富文本","structType":"json","sub":1,"key":"kwenfpizvxhggi9clqj","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:143:"[{"field":"product","paramsType":"object","required":"","desc":"产品","structType":"json","sub":1,"key":"kwemz2ndif7hbq1tt0l","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:31;O:8:"stdClass":19:{s:2:"id";s:4:"1571";s:3:"doc";s:3:"488";s:6:"module";s:3:"105";s:5:"title";s:12:"创建产品";s:4:"path";s:9:"/products";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:1790:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":1,"key":"kwbq19ffg59cbooyb","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwbq1dizm75sgcgnd9f","children":[]},{"field":"code","paramsType":"int","required":true,"desc":"产品代号","structType":"json","sub":1,"key":"kwbq1xl9s30o2e1awjo","children":[]},{"field":"line","paramsType":"int","required":false,"desc":"所属产品线","structType":"json","sub":1,"key":"kwbq2ftqrqrmg8cyj7t","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwbq33qsopavnj72ntb","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwbq3kbijyjhoy0se99","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwbq412yll94vpa635p","children":[]},{"field":"type","paramsType":"string","required":"","desc":"产品类型(normal 正常 | branch 多分支 | )","structType":"json","sub":1,"key":"kwbq49zapa2fswh58f","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwbqcmbo088hh0l8o91","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwbqdai6v9pl61o6xab","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwbqe9ye70wc961572o","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2289:"[{"field":"id","paramsType":"int","required":"","desc":"产品ID","structType":"json","sub":1,"key":"kwbpz5jh94vauhx9ga6","children":[]},{"field":"name","paramsType":"string","required":"","desc":"产品名称","structType":"json","sub":1,"key":"kwbqhljxnscdsph7jh","children":[]},{"field":"program","paramsType":"int","required":"","desc":"所属项目集","structType":"json","sub":1,"key":"kwbqhueedi6o9jyr80g","children":[]},{"field":"code","paramsType":"string","required":"","desc":"产品代号","structType":"json","sub":1,"key":"kwbqi7fmwnjsrds8i3j","children":[]},{"field":"line","paramsType":"int","required":"","desc":"产品线","structType":"json","sub":1,"key":"kwbqk1pemf4rfcleksf","children":[]},{"field":"type","paramsType":"string","required":"","desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwbqo9fjuslzzbejx6","children":[]},{"field":"status","paramsType":"string","required":"","desc":"状态(normal 正常 | closed 结束)","structType":"json","sub":1,"key":"kwbqqfgzincm6qkym3","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwbr0v2vhqrrqh8y6l","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwbr107xvu791yqyaxk","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwbr10vxlfbpvdlvor9","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwbr1lszosgjhp2c0zh","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwbr1uny368imqpppbd","children":[]},{"field":"createdBy","paramsType":"string","required":"","desc":"创建人","structType":"json","sub":1,"key":"kwbr24x72kgwwnbt8jh","children":[]},{"field":"createdDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":1,"key":"kwbr2agkwi1th2cc9l","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwbr2x4zzb1jbw5g5qk","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:32;O:8:"stdClass":19:{s:2:"id";s:4:"1569";s:3:"doc";s:3:"489";s:6:"module";s:3:"105";s:5:"title";s:18:"获取产品列表";s:4:"path";s:9:"/products";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:118:"{"header":[{"field":"Token","required":"","desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2757:"[{"field":"products","paramsType":"array","required":true,"desc":"","structType":"json","sub":1,"key":"kwaewshi65nnjs135n3","children":[{"field":"id","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":2,"key":"kwaey51uz6sfrk555m","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":2,"key":"kwbj1dqg65pvugs5h2s","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":2,"key":"kwbj2a1ihackyh03q49","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"产品代号","structType":"json","sub":2,"key":"kwbj2h0rn057wustk7o","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"line","paramsType":"int","required":true,"desc":"所属产品线","structType":"json","sub":2,"key":"kwbnpypoba6t1ms7oaf","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":2,"key":"kwbp9dclulc73a3tg","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":2,"key":"kwbp9pc1t1nvj4j2wd","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":2,"key":"kwbpalk5bnobb0mtp98","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":2,"key":"kwbpb2vft6si1ctgwf","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"产品描述","structType":"json","sub":2,"key":"kwbpdiepohshkv3sx2","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":2,"key":"kwbpdpivj06ph39fui","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":2,"key":"kwbpf2zg4f4bms64ubf","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"createdBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwbpfo85ji5yl8vqee","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"createdDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwbpfwmgpdtmdxctovi","parentKey":"kwaewshi65nnjs135n3","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:33;O:8:"stdClass":19:{s:2:"id";s:4:"1570";s:3:"doc";s:3:"487";s:6:"module";s:3:"105";s:5:"title";s:18:"获取产品详情";s:4:"path";s:13:"/products/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"5";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3038:"[{"field":"id","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":1,"key":"kwbr4qcbgcop3s3ohg5","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":1,"key":"kwbr6h84h8rp18cru57","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"产品代号","structType":"json","sub":1,"key":"kwbs6sx5bpk1z0kf7ak","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwellfvj3lxhcmg4wfo","children":[]},{"field":"line","paramsType":"int","required":true,"desc":"所属产品线","structType":"json","sub":1,"key":"kwelm02uvxu130ubux","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwelnh4d6pqibi436x9","children":[]},{"field":"PO","paramsType":"object","required":false,"desc":"产品负责人","structType":"json","sub":1,"key":"kwembkw9f5tak8d1gtg","children":[{"field":"account","paramsType":"string","required":false,"desc":"账户名","structType":"json","sub":2,"key":"kwemc1rwia6gu1osie","parentKey":"kwembkw9f5tak8d1gtg","children":[]}]},{"field":"QD","paramsType":"object","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwemckatgwyg58ed9ic","children":[{"field":"account","paramsType":"object","required":"","desc":"账户名","structType":"json","sub":2,"key":"kwemcts82g2znqe1ksn","parentKey":"kwemckatgwyg58ed9ic","children":[]}]},{"field":"RD","paramsType":"object","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwemo4zyvvjyf5lpte","children":[{"field":"account","paramsType":"object","required":"","desc":"账户名","structType":"json","sub":2,"key":"kwemojw7zl28rgjv73d","parentKey":"kwemo4zyvvjyf5lpte","children":[]}]},{"field":"desc","paramsType":"object","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwemrk1txqrm14ww5c","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwemrs7sej0jr0cdabb","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwemsftfsdxa86i4dq","children":[]},{"field":"createdBy","paramsType":"object","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwemsw3yed4knmaqwwr","children":[{"field":"account","paramsType":"object","required":true,"desc":"账户名","structType":"json","sub":2,"key":"kwemwh1vt58lmzn2yz","parentKey":"kwemsw3yed4knmaqwwr","children":[]},{"field":"realname","paramsType":"object","required":true,"desc":"真实姓名","structType":"json","sub":2,"key":"kwemtbmet7dcakejvk","parentKey":"kwemsw3yed4knmaqwwr","children":[]}]},{"field":"createdDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwemu7xhxrhubvtg1i","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:34;O:8:"stdClass":19:{s:2:"id";s:4:"1567";s:3:"doc";s:3:"486";s:6:"module";s:3:"105";s:5:"title";s:12:"编辑产品";s:4:"path";s:12:"/product/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:1230:"{"header":[{"field":"Token","required":"","desc":"访问凭证Token"}],"params":[{"field":"name","paramsType":"string","required":"","desc":"产品名称","structType":"json","sub":1,"key":"kwen3dckicyphhnz","children":[]},{"field":"code","paramsType":"string","required":"","desc":"产品代号","structType":"json","sub":1,"key":"kwen3izzrkun21x6ga","children":[]},{"field":"type","paramsType":"string","required":"","desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwen45d40m14utr25tg","children":[]},{"field":"line","paramsType":"int","required":"","desc":"所属产品线","structType":"json","sub":1,"key":"kwen8jf7leyksxip3f8","children":[]},{"field":"program","paramsType":"int","required":"","desc":"所属项目集","structType":"json","sub":1,"key":"kwen8ty05syldw0juiy","children":[]},{"field":"status","paramsType":"string","required":"","desc":"产品状态(normal 正常 | closed 已关闭)","structType":"json","sub":1,"key":"kwencqbvtud2pfbrfjp","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"产品描述,富文本","structType":"json","sub":1,"key":"kwenfpizvxhggi9clqj","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:722:"[{"field":"id","paramsType":"int","required":"","desc":"产品编号","structType":"json","sub":1,"key":"kwemz2ndif7hbq1tt0l","children":[]},{"field":"name","paramsType":"string","required":"","desc":"产品名称","structType":"json","sub":1,"key":"kwepiu5b7zqhgwu8wj","children":[]},{"field":"code","paramsType":"string","required":"","desc":"产品编号","structType":"json","sub":1,"key":"kwepj3aqr9fcf3sxhg","children":[]},{"field":"program","paramsType":"int","required":"","desc":"所属项目集","structType":"json","sub":1,"key":"kwepjbzwqokucxl2w8j","children":[]},{"field":"line","paramsType":"int","required":"","desc":"所属产品线","structType":"json","sub":1,"key":"kwepjtej2thsu79qjcl","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:35;O:8:"stdClass":19:{s:2:"id";s:4:"1568";s:3:"doc";s:3:"485";s:6:"module";s:3:"106";s:5:"title";s:18:"获取项目列表";s:4:"path";s:9:"/projects";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:249:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"page","required":"","desc":"第几页,默认为1"},{"field":"limit","required":"","desc":"每页项目数量,默认20"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3236:"[{"field":"page","paramsType":"int","required":true,"desc":"页数","structType":"json","sub":1,"key":"kwepn09crq6071ynk39","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"项目总数","structType":"json","sub":1,"key":"kwepyybc5we2w598ibg","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页项目数","structType":"json","sub":1,"key":"kwepzdnsd4xwbaat25e","children":[]},{"field":"projects","paramsType":"array","required":true,"desc":"项目列表","structType":"json","sub":1,"key":"kwepzhon1eyy05eejdn","children":[{"field":"id","paramsType":"int","required":true,"desc":"项目id","structType":"json","sub":2,"key":"kweq1dfnp8eh7r7iarr","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":2,"key":"kweq1ga5d68zei0ffeq","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"项目编号","structType":"json","sub":2,"key":"kweq1n7k0c4wiw1my1wg","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"model","paramsType":"string","required":true,"desc":"项目模型(scrum敏捷 | waterfall 瀑布)","structType":"json","sub":2,"key":"kweq1r1ng9lpml2qjwf","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"项目预算","structType":"json","sub":2,"key":"kweq3mtnyr7z923os4p","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":2,"key":"kweq4mtv4lvfzned8wx","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":2,"key":"kweq59rgtd8wyhdbezd","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":2,"key":"kweq64ftnnaafzu0xzf","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"预计结束日期","structType":"json","sub":2,"key":"kweq6g0h0fp91q8m0wud","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"项目状态(wait 未开始 | doing 进行中 | suspend 已挂起 | closed 已关闭)","structType":"json","sub":2,"key":"kweq6p6ys7t3pp47pbk","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kweqa21ref4dr0cumt","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"openedDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":2,"key":"kweqahob402lqf6srqo","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目经理","structType":"json","sub":2,"key":"kweqau21by2agzz7a5","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"progress","paramsType":"int","required":"","desc":"进度","structType":"json","sub":2,"key":"kweqb7r9zjm2sd372qp","parentKey":"kwepzhon1eyy05eejdn","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:36;O:8:"stdClass":19:{s:2:"id";s:4:"1565";s:3:"doc";s:3:"483";s:6:"module";s:3:"106";s:5:"title";s:12:"创建项目";s:4:"path";s:9:"/projects";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:1217:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kweqeeu4uyul5ro6o7","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kweqeneavf594nhj4cm","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kweqeulf61fh20gafsy","children":[]},{"field":"products","paramsType":"array","required":true,"desc":"关联产品,比如 [1, 2],不能为空。","structType":"json","sub":1,"key":"kweqfbdfm7z71875r1l","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"项目编号","structType":"json","sub":1,"key":"kweqlpdkud5rs421do9","children":[]},{"field":"model","paramsType":"string","required":"","desc":"项目模型,默认为scrum","structType":"json","sub":1,"key":"kweqndhs3nd3a1jd9r4","children":[]},{"field":"parent","paramsType":"int","required":"","desc":"所属项目集,默认为0","structType":"json","sub":1,"key":"kweqvrk6mjr9vygujza","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1984:"[{"field":"id","paramsType":"int","required":true,"desc":"项目编号","structType":"json","sub":1,"key":"kweqd0yk9o8xi8kyi4i","children":[]},{"field":"model","paramsType":"string","required":true,"desc":"项目模型(scrum 敏捷 | waterfall 瀑布)","structType":"json","sub":1,"key":"kweqn4iti067eqz5d2m","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kweqols3u9m0s05ylyk","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kweque9jrz74gf76dh","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kweqv1x01dpu3by4dfb","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kweqvb5i8r2yr4640yh","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"项目代号","structType":"json","sub":1,"key":"kweqwlz88yba26zd50g","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kweqwvifjrxbgg1l76j","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kweqy196dogt0m3o9ge","children":[]},{"field":"realBegan","paramsType":"date","required":"","desc":"实际开始日期","structType":"json","sub":1,"key":"kweqyb2s8lsmedm0pa","children":[]},{"field":"realEnd","paramsType":"date","required":"","desc":"实际结束日期","structType":"json","sub":1,"key":"kweqympfb0h7cuwvrhk","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kweqzck8664cy70yxx","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwer3319sfmmlqu6bj","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:37;O:8:"stdClass":19:{s:2:"id";s:4:"1566";s:3:"doc";s:3:"490";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集列表";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"8";s:6:"params";s:215:"{"header":[{"field":"Token","required":true,"desc":"访问凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"order","required":"","desc":"排序,默认order_asc;排序字段+下划线+asc/desc"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2580:"[{"field":"programs","paramsType":"array","required":true,"desc":"项目集列表","structType":"json","sub":1,"key":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":true,"desc":"项目集ID","structType":"json","sub":2,"key":"kw5oko39ful5ibh4xos","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目集名称","structType":"json","sub":2,"key":"kwbijc4xmi7da0s2v3h","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":2,"key":"kwbijs25uh1oerv14o","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY/USD)","structType":"json","sub":2,"key":"kwbiljpvwx1s9subl6h","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":2,"key":"kwbim4qiu70li1lj2sg","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"预计结束日期","structType":"json","sub":2,"key":"kwbin0zq2jnrf2hheqk","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":2,"key":"kwbin1zr9rft0cqsn7","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":2,"key":"kwbinosclp6c0ziw75b","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父项目集,顶层项目集的parent为0","structType":"json","sub":2,"key":"kwbivepwxrt80u7jdnj","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"由谁创建","structType":"json","sub":2,"key":"kwbiwzxpqpd682l27ke","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwbixdfmz87xqj9c6dm","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"PM","paramsType":"string","required":true,"desc":"项目集负责人","structType":"json","sub":2,"key":"kwbiy8g88gdd05pvdom","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"progress","paramsType":"int","required":true,"desc":"进度","structType":"json","sub":2,"key":"kwbiyml3zn2zd5mdv0c","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:38;O:8:"stdClass":19:{s:2:"id";s:4:"1563";s:3:"doc";s:3:"481";s:6:"module";s:1:"0";s:5:"title";s:12:"修改项目";s:4:"path";s:13:"/projects/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:549:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":"","desc":"项目名称","structType":"json","sub":1,"key":"kwfrrcafi41oii1yyu","children":[]},{"field":"code","paramsType":"string","required":"","desc":"项目代号","structType":"json","sub":1,"key":"kwfrrjy5fy9cr7cbhxt","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwfrrp78h46nsupgqg","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2593:"[{"field":"id","paramsType":"int","required":true,"desc":"","structType":"json","sub":1,"key":"kwfrq9ewoxebsfy1yc","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrt5svntvrbex1a1","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"项目代号","structType":"json","sub":1,"key":"kwfrtbe11x80yhs04ss","children":[]},{"field":"model","paramsType":"string","required":true,"desc":"项目模型(scrum 敏捷 | waterfall 瀑布)","structType":"json","sub":1,"key":"kwfrth2o1b8yeez8klk","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"项目预算","structType":"json","sub":1,"key":"kwfrufdxs4insbwp7os","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwfrupqa2is097je3r1","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwfrv68kj5pq1ev7y1a","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwfrvpa06s9odxqr733","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwfrvwl8yp43br33c0j","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwfrw1x78s1r66etxjn","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwfrw6lojs101m01t6","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目描述","structType":"json","sub":1,"key":"kwfrwkdf096g5nvumqrp","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwfrx6jpg8tpusd54te","children":[]},{"field":"openedDate","paramsType":"string","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwfrxh8vp3p541ha0q","children":[]},{"field":"PM","paramsType":"string","required":true,"desc":"项目负责人","structType":"json","sub":1,"key":"kwfrxyttm6qlete3n3h","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwfry99qckte6qguao","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwfryty0hgpjch2k40u","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:39;O:8:"stdClass":19:{s:2:"id";s:4:"1564";s:3:"doc";s:3:"483";s:6:"module";s:3:"106";s:5:"title";s:12:"创建项目";s:4:"path";s:9:"/projects";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:1217:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kweqeeu4uyul5ro6o7","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kweqeneavf594nhj4cm","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kweqeulf61fh20gafsy","children":[]},{"field":"products","paramsType":"array","required":true,"desc":"关联产品,比如 [1, 2],不能为空。","structType":"json","sub":1,"key":"kweqfbdfm7z71875r1l","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"项目编号","structType":"json","sub":1,"key":"kweqlpdkud5rs421do9","children":[]},{"field":"model","paramsType":"string","required":"","desc":"项目模型,默认为scrum","structType":"json","sub":1,"key":"kweqndhs3nd3a1jd9r4","children":[]},{"field":"parent","paramsType":"int","required":"","desc":"所属项目集,默认为0","structType":"json","sub":1,"key":"kweqvrk6mjr9vygujza","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1984:"[{"field":"id","paramsType":"int","required":true,"desc":"项目编号","structType":"json","sub":1,"key":"kweqd0yk9o8xi8kyi4i","children":[]},{"field":"model","paramsType":"string","required":true,"desc":"项目模型(scrum 敏捷 | waterfall 瀑布)","structType":"json","sub":1,"key":"kweqn4iti067eqz5d2m","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kweqols3u9m0s05ylyk","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kweque9jrz74gf76dh","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kweqv1x01dpu3by4dfb","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kweqvb5i8r2yr4640yh","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"项目代号","structType":"json","sub":1,"key":"kweqwlz88yba26zd50g","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kweqwvifjrxbgg1l76j","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kweqy196dogt0m3o9ge","children":[]},{"field":"realBegan","paramsType":"date","required":"","desc":"实际开始日期","structType":"json","sub":1,"key":"kweqyb2s8lsmedm0pa","children":[]},{"field":"realEnd","paramsType":"date","required":"","desc":"实际结束日期","structType":"json","sub":1,"key":"kweqympfb0h7cuwvrhk","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kweqzck8664cy70yxx","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwer3319sfmmlqu6bj","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:40;O:8:"stdClass":19:{s:2:"id";s:4:"1560";s:3:"doc";s:3:"480";s:6:"module";s:3:"107";s:5:"title";s:36:"获取某一项目下的执行列表";s:4:"path";s:23:"/project/:id/executions";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2218:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwfmsr4svpcdc2c2ip","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"执行总数","structType":"json","sub":1,"key":"kwfs34t9ez00cfhwvtb","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页执行数","structType":"json","sub":1,"key":"kwfs38d1l0cv32ltd5g","children":[]},{"field":"executions","paramsType":"array","required":true,"desc":"执行列表","structType":"json","sub":1,"key":"kwfs3bkjolf2peoxqw","children":[{"field":"id","paramsType":"int","required":true,"desc":"执行ID","structType":"json","sub":2,"key":"kwfs4vl61prpc0matzc","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":2,"key":"kwfs62skb2z6s4c97b8","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":2,"key":"kwfs6fsdl1n419fikci","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":2,"key":"kwfs6s8xhzflp7mj1es","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":2,"key":"kwfs6ysbrdp5gen40zl","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"执行状态()","structType":"json","sub":2,"key":"kwfs7dvazclp95vjg7i","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwfs7xcoz84e7aykmq","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwfs81w4lltagz6uys","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"progress","paramsType":"int","required":true,"desc":"当前进度","structType":"json","sub":2,"key":"kwfs8lc8in8pr5m7sib","parentKey":"kwfs3bkjolf2peoxqw","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:41;O:8:"stdClass":19:{s:2:"id";s:4:"1561";s:3:"doc";s:3:"480";s:6:"module";s:3:"107";s:5:"title";s:30:"获取项目下的执行列表";s:4:"path";s:23:"/project/:id/executions";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2218:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwfmsr4svpcdc2c2ip","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"执行总数","structType":"json","sub":1,"key":"kwfs34t9ez00cfhwvtb","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页执行数","structType":"json","sub":1,"key":"kwfs38d1l0cv32ltd5g","children":[]},{"field":"executions","paramsType":"array","required":true,"desc":"执行列表","structType":"json","sub":1,"key":"kwfs3bkjolf2peoxqw","children":[{"field":"id","paramsType":"int","required":true,"desc":"执行ID","structType":"json","sub":2,"key":"kwfs4vl61prpc0matzc","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":2,"key":"kwfs62skb2z6s4c97b8","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":2,"key":"kwfs6fsdl1n419fikci","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":2,"key":"kwfs6s8xhzflp7mj1es","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":2,"key":"kwfs6ysbrdp5gen40zl","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"执行状态()","structType":"json","sub":2,"key":"kwfs7dvazclp95vjg7i","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwfs7xcoz84e7aykmq","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwfs81w4lltagz6uys","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"progress","paramsType":"int","required":true,"desc":"当前进度","structType":"json","sub":2,"key":"kwfs8lc8in8pr5m7sib","parentKey":"kwfs3bkjolf2peoxqw","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:42;O:8:"stdClass":19:{s:2:"id";s:4:"1562";s:3:"doc";s:3:"482";s:6:"module";s:3:"106";s:5:"title";s:18:"获取项目详情";s:4:"path";s:13:"/projects/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2834:"[{"field":"id","paramsType":"int","required":true,"desc":"项目编号","structType":"json","sub":1,"key":"kwfo61d427ebc01qyw8","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwfo750e6nu14s1mpxo","children":[]},{"field":"model","paramsType":"string","required":true,"desc":"项目模型(scrum 敏捷 | waterfall 瀑布)","structType":"json","sub":1,"key":"kwfo7gn93qxvrutdfuv","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"项目预算金额","structType":"json","sub":1,"key":"kwfosq5ey0h0ssr36vg","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwfosy3p0juy0e9og43l","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfotny2ubdkbqbpiip","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"项目编号","structType":"json","sub":1,"key":"kwfouazlja2v88n8g5d","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwfoul4jhmzjlurvua","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwfouql1fu3zun911pt","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwfoutlhiryhz2e5g6","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwfovhzh6k9cbh96xck","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"项目状态(wait 未开始 | doing 进行中 | suspend 已挂起 | closed 已关闭)","structType":"json","sub":1,"key":"kwfow3wzv9ad5nj9k7","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目描述","structType":"json","sub":1,"key":"kwfoxh13qwv0h2xg86","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwfoxsionkxeggc337","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwfoy1iw9f2sicm3xcd","children":[]},{"field":"PM","paramsType":"string","required":true,"desc":"项目负责人","structType":"json","sub":1,"key":"kwfoynhiwfkyhof0x8a","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwfoz9lmw38ehk68bh","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwfp0tsvhw6xxldplua","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:43;O:8:"stdClass":19:{s:2:"id";s:4:"1558";s:3:"doc";s:3:"480";s:6:"module";s:3:"107";s:5:"title";s:27:"获取项目的执行列表";s:4:"path";s:23:"/project/:id/executions";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2218:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwfmsr4svpcdc2c2ip","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"执行总数","structType":"json","sub":1,"key":"kwfs34t9ez00cfhwvtb","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页执行数","structType":"json","sub":1,"key":"kwfs38d1l0cv32ltd5g","children":[]},{"field":"executions","paramsType":"array","required":true,"desc":"执行列表","structType":"json","sub":1,"key":"kwfs3bkjolf2peoxqw","children":[{"field":"id","paramsType":"int","required":true,"desc":"执行ID","structType":"json","sub":2,"key":"kwfs4vl61prpc0matzc","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":2,"key":"kwfs62skb2z6s4c97b8","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":2,"key":"kwfs6fsdl1n419fikci","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":2,"key":"kwfs6s8xhzflp7mj1es","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":2,"key":"kwfs6ysbrdp5gen40zl","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"执行状态()","structType":"json","sub":2,"key":"kwfs7dvazclp95vjg7i","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwfs7xcoz84e7aykmq","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwfs81w4lltagz6uys","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"progress","paramsType":"int","required":true,"desc":"当前进度","structType":"json","sub":2,"key":"kwfs8lc8in8pr5m7sib","parentKey":"kwfs3bkjolf2peoxqw","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:44;O:8:"stdClass":19:{s:2:"id";s:4:"1559";s:3:"doc";s:3:"479";s:6:"module";s:3:"106";s:5:"title";s:12:"修改项目";s:4:"path";s:13:"/projects/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:1841:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":"","desc":"项目名称","structType":"formData","sub":1,"key":"kwfzx1b9z1ojzx148v8","children":[]},{"field":"code","paramsType":"string","required":"","desc":"项目代号","structType":"formData","sub":1,"key":"kwg07xvv8hp8q72a70p","children":[]},{"field":"parent","paramsType":"int","required":false,"desc":"所属项目集","structType":"formData","sub":1,"key":"kwg0876le09j7dkyxjq","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目负责人","structType":"formData","sub":1,"key":"kwg0fzqc762wxgjyyxl","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"项目预算金额","structType":"formData","sub":1,"key":"kwg0j7akglo9o1sdd8g","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY | USD)","structType":"formData","sub":1,"key":"kwg0jl5ymm7o4x0k5ta","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"formData","sub":1,"key":"kwg0ka6ohdjnpp56c","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"项目描述","structType":"formData","sub":1,"key":"kwg0kyn82ahibxdaa3p","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"formData","sub":1,"key":"kwg0m88gcrace3xs9ha","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"formData","sub":1,"key":"kwg0mvcgpb19a34lxz8","children":[]},{"field":"auth","paramsType":"string","required":"","desc":"权限控制(extend 继承 | reset 重新定义)","structType":"formData","sub":1,"key":"kwg0nw28t57nw6ls9g","children":[]}],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1823:"[{"field":"id","paramsType":"int","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfzx1bfez3bi3z1uh8","children":[]},{"field":"name","paramsType":"string","required":"","desc":"项目名称","structType":"json","sub":1,"key":"kwg0qqa1i6liuc5na2","children":[]},{"field":"parent","paramsType":"int","required":"","desc":"所属项目集","structType":"json","sub":1,"key":"kwg0qz7loa7d85ykp7s","children":[]},{"field":"code","paramsType":"string","required":"","desc":"项目代号","structType":"json","sub":1,"key":"kwg0r91vhgfn2bfb9p7","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwg0rpuoxyjz9pqxgt","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"项目预算金额","structType":"json","sub":1,"key":"kwg0rzy9s219ge93f3","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwg0s9wyql076w7sul","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"json","sub":1,"key":"kwg0sk1ewbnq8cubqut","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"项目描述","structType":"json","sub":1,"key":"kwg0srchfyqmpfcw8n4","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwg0syv0vmyry7bpo99","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg0t6hoeif88dy86s","children":[]},{"field":"auth","paramsType":"string","required":"","desc":"权限控制(extend 继承 | reset 重新定义)","structType":"json","sub":1,"key":"kwg0td9u9zcfm6pbbp","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:45;O:8:"stdClass":19:{s:2:"id";s:4:"1555";s:3:"doc";s:3:"477";s:6:"module";s:3:"106";s:5:"title";s:12:"删除项目";s:4:"path";s:13:"/projects/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:6:"DELETE";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:151:"[{"field":"message","paramsType":"string","required":true,"desc":"响应信息","structType":"json","sub":1,"key":"kwg0v2vgszk0z27cw5q","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:46;O:8:"stdClass":19:{s:2:"id";s:4:"1556";s:3:"doc";s:3:"478";s:6:"module";s:1:"0";s:5:"title";s:12:"创建执行";s:4:"path";s:24:"/projects/:id/executions";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:2403:"{"header":[{"field":"Token","required":true,"desc":"认证凭证"}],"params":[{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwg1ms08tbuujh4amd","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwg1oztyy48dm8m7ykk","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwg1pb011jy7te3dhil","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwg1piwmz4iad8atw8g","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwg1po8c6g02wciwc8k","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"json","sub":1,"key":"kwg1py9vcmy6q1qt3vs","children":[]},{"field":"lifetime","paramsType":"string","required":"","desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwg1qxpt6mhzoy5sxm","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwg1rogihd6h959v8en","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"迭代负责人","structType":"json","sub":1,"key":"kwg1u5uwk6dty43r8yq","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwg1ud1wtozclb1wa7","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwg1ujvuqtad5zav3z","children":[]},{"field":"teamMembers[]","paramsType":"array","required":"","desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwg1ur6sq8cfjlizc8m","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"迭代描述","structType":"json","sub":1,"key":"kwg1vny7cdpckj9m7w5","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwg1wz0cs5bpn14c1x","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg21q5ul24mkz2654r","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:138:"[{"field":"id","paramsType":"int","required":true,"desc":"迭代ID","structType":"json","sub":1,"key":"kwg10yk5xgj4vd2u9g","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:47;O:8:"stdClass":19:{s:2:"id";s:4:"1557";s:3:"doc";s:3:"478";s:6:"module";s:3:"107";s:5:"title";s:12:"创建执行";s:4:"path";s:24:"/projects/:id/executions";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:2403:"{"header":[{"field":"Token","required":true,"desc":"认证凭证"}],"params":[{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwg1ms08tbuujh4amd","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwg1oztyy48dm8m7ykk","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwg1pb011jy7te3dhil","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwg1piwmz4iad8atw8g","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwg1po8c6g02wciwc8k","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"json","sub":1,"key":"kwg1py9vcmy6q1qt3vs","children":[]},{"field":"lifetime","paramsType":"string","required":"","desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwg1qxpt6mhzoy5sxm","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwg1rogihd6h959v8en","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"迭代负责人","structType":"json","sub":1,"key":"kwg1u5uwk6dty43r8yq","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwg1ud1wtozclb1wa7","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwg1ujvuqtad5zav3z","children":[]},{"field":"teamMembers[]","paramsType":"array","required":"","desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwg1ur6sq8cfjlizc8m","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"迭代描述","structType":"json","sub":1,"key":"kwg1vny7cdpckj9m7w5","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwg1wz0cs5bpn14c1x","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg21q5ul24mkz2654r","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:138:"[{"field":"id","paramsType":"int","required":true,"desc":"迭代ID","structType":"json","sub":1,"key":"kwg10yk5xgj4vd2u9g","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:48;O:8:"stdClass":19:{s:2:"id";s:4:"1553";s:3:"doc";s:3:"476";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集详情";s:4:"path";s:13:"/programs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2129:"[{"field":"id","paramsType":"int","required":true,"desc":"项目集ID","structType":"json","sub":1,"key":"kwj8m09ldh61qyuvm0i","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目集名称","structType":"json","sub":1,"key":"kwj8n4tt3bns0zay97x","children":[]},{"field":"PM","paramsType":"string","required":true,"desc":"负责人","structType":"json","sub":1,"key":"kwj8o0cl9hp8wndzcuj","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kwj8oc20vnok8xd1sq","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwj8oldpyvgy82o6xk","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwj8p80rykze7d8f1nq","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwj8pv6l3t4gggocbrt","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwj8qc97rkkuiiwht","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwj8qfwqmbns6nnn7o","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目集描述","structType":"json","sub":1,"key":"kwj8qxwggzcmnlu9mji","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwj8rbp90dreozj1a1x5","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwj8rhee6ww3gy35x4q","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwj8s8pc8uk89exry8i","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwj8sovnzv5fweyv8dq","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:49;O:8:"stdClass":19:{s:2:"id";s:4:"1554";s:3:"doc";s:3:"481";s:6:"module";s:3:"104";s:5:"title";s:15:"修改项目集";s:4:"path";s:13:"/programs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:549:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":"","desc":"项目名称","structType":"json","sub":1,"key":"kwfrrcafi41oii1yyu","children":[]},{"field":"code","paramsType":"string","required":"","desc":"项目代号","structType":"json","sub":1,"key":"kwfrrjy5fy9cr7cbhxt","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwfrrp78h46nsupgqg","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2593:"[{"field":"id","paramsType":"int","required":true,"desc":"","structType":"json","sub":1,"key":"kwfrq9ewoxebsfy1yc","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrt5svntvrbex1a1","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"项目代号","structType":"json","sub":1,"key":"kwfrtbe11x80yhs04ss","children":[]},{"field":"model","paramsType":"string","required":true,"desc":"项目模型(scrum 敏捷 | waterfall 瀑布)","structType":"json","sub":1,"key":"kwfrth2o1b8yeez8klk","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"项目预算","structType":"json","sub":1,"key":"kwfrufdxs4insbwp7os","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwfrupqa2is097je3r1","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwfrv68kj5pq1ev7y1a","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwfrvpa06s9odxqr733","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwfrvwl8yp43br33c0j","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwfrw1x78s1r66etxjn","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwfrw6lojs101m01t6","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目描述","structType":"json","sub":1,"key":"kwfrwkdf096g5nvumqrp","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwfrx6jpg8tpusd54te","children":[]},{"field":"openedDate","paramsType":"string","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwfrxh8vp3p541ha0q","children":[]},{"field":"PM","paramsType":"string","required":true,"desc":"项目负责人","structType":"json","sub":1,"key":"kwfrxyttm6qlete3n3h","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwfry99qckte6qguao","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwfryty0hgpjch2k40u","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:50;O:8:"stdClass":19:{s:2:"id";s:4:"1552";s:3:"doc";s:3:"481";s:6:"module";s:3:"104";s:5:"title";s:15:"修改项目集";s:4:"path";s:13:"/programs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:1948:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrrcafi41oii1yyu","children":[]},{"field":"parent","paramsType":"string","required":"","desc":"父项目集,0表示没有父项目集","structType":"json","sub":1,"key":"kwfrrjy5fy9cr7cbhxt","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwfrrp78h46nsupgqg","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"预算金额","structType":"json","sub":1,"key":"kwg2zi8y395k1sa5qw","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwg2zu8lqoggv7wrofn","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"项目集描述","structType":"json","sub":1,"key":"kwg32uanzx7ssr24qb","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"预计开始日期","structType":"json","sub":1,"key":"kwg331xpdglirubloc","children":[]},{"field":"end","paramsType":"date","required":"","desc":"预计结束日期","structType":"json","sub":1,"key":"kwg339ez5y4fapvyz02","children":[]},{"field":"openedBy","paramsType":"string","required":"","desc":"创建人","structType":"json","sub":1,"key":"kwg36vzj96jttee311e","children":[]},{"field":"openedDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":1,"key":"kwg370yykmrgig69fyd","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwg387hniakqx94yjh","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg38nt998kadpp0kk7","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2259:"[{"field":"id","paramsType":"int","required":true,"desc":"","structType":"json","sub":1,"key":"kwfrq9ewoxebsfy1yc","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrt5svntvrbex1a1","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kwfrufdxs4insbwp7os","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwfrupqa2is097je3r1","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父项目集","structType":"json","sub":1,"key":"kwfrv68kj5pq1ev7y1a","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwfrvpa06s9odxqr733","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwfrvwl8yp43br33c0j","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwfrw1x78s1r66etxjn","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwfrw6lojs101m01t6","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目集描述","structType":"json","sub":1,"key":"kwfrwkdf096g5nvumqrp","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwfrx6jpg8tpusd54te","children":[]},{"field":"openedDate","paramsType":"string","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwfrxh8vp3p541ha0q","children":[]},{"field":"PM","paramsType":"string","required":true,"desc":"负责人","structType":"json","sub":1,"key":"kwfrxyttm6qlete3n3h","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwfry99qckte6qguao","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwfryty0hgpjch2k40u","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:51;O:8:"stdClass":19:{s:2:"id";s:4:"1548";s:3:"doc";s:3:"475";s:6:"module";s:3:"104";s:5:"title";s:15:"创建项目集";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:0:"";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:0:"";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:52;O:8:"stdClass":19:{s:2:"id";s:4:"1549";s:3:"doc";s:3:"475";s:6:"module";s:3:"104";s:5:"title";s:15:"创建项目集";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:272:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":true,"desc":"项目集名称","structType":"formData","sub":1,"key":"kwjamt59yshdio7t6t","children":[]}],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:53;O:8:"stdClass":19:{s:2:"id";s:4:"1550";s:3:"doc";s:3:"475";s:6:"module";s:3:"104";s:5:"title";s:15:"创建项目集";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:1650:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":false,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrrcafi41oii1yyu","children":[]},{"field":"parent","paramsType":"string","required":"","desc":"父项目集,0表示没有父项目集","structType":"json","sub":1,"key":"kwfrrjy5fy9cr7cbhxt","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwfrrp78h46nsupgqg","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"预算金额","structType":"json","sub":1,"key":"kwg2zi8y395k1sa5qw","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwg2zu8lqoggv7wrofn","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"项目集描述","structType":"json","sub":1,"key":"kwg32uanzx7ssr24qb","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"预计开始日期","structType":"json","sub":1,"key":"kwg331xpdglirubloc","children":[]},{"field":"end","paramsType":"date","required":"","desc":"预计结束日期","structType":"json","sub":1,"key":"kwg339ez5y4fapvyz02","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwg387hniakqx94yjh","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg38nt998kadpp0kk7","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2259:"[{"field":"id","paramsType":"int","required":true,"desc":"","structType":"json","sub":1,"key":"kwfrq9ewoxebsfy1yc","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrt5svntvrbex1a1","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kwfrufdxs4insbwp7os","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwfrupqa2is097je3r1","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父项目集","structType":"json","sub":1,"key":"kwfrv68kj5pq1ev7y1a","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwfrvpa06s9odxqr733","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwfrvwl8yp43br33c0j","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwfrw1x78s1r66etxjn","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwfrw6lojs101m01t6","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目集描述","structType":"json","sub":1,"key":"kwfrwkdf096g5nvumqrp","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwfrx6jpg8tpusd54te","children":[]},{"field":"openedDate","paramsType":"string","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwfrxh8vp3p541ha0q","children":[]},{"field":"PM","paramsType":"string","required":true,"desc":"负责人","structType":"json","sub":1,"key":"kwfrxyttm6qlete3n3h","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwfry99qckte6qguao","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwfryty0hgpjch2k40u","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:54;O:8:"stdClass":19:{s:2:"id";s:4:"1551";s:3:"doc";s:3:"481";s:6:"module";s:3:"104";s:5:"title";s:15:"修改项目集";s:4:"path";s:13:"/programs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:1949:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":false,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrrcafi41oii1yyu","children":[]},{"field":"parent","paramsType":"string","required":"","desc":"父项目集,0表示没有父项目集","structType":"json","sub":1,"key":"kwfrrjy5fy9cr7cbhxt","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwfrrp78h46nsupgqg","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"预算金额","structType":"json","sub":1,"key":"kwg2zi8y395k1sa5qw","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwg2zu8lqoggv7wrofn","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"项目集描述","structType":"json","sub":1,"key":"kwg32uanzx7ssr24qb","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"预计开始日期","structType":"json","sub":1,"key":"kwg331xpdglirubloc","children":[]},{"field":"end","paramsType":"date","required":"","desc":"预计结束日期","structType":"json","sub":1,"key":"kwg339ez5y4fapvyz02","children":[]},{"field":"openedBy","paramsType":"string","required":"","desc":"创建人","structType":"json","sub":1,"key":"kwg36vzj96jttee311e","children":[]},{"field":"openedDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":1,"key":"kwg370yykmrgig69fyd","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwg387hniakqx94yjh","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg38nt998kadpp0kk7","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2259:"[{"field":"id","paramsType":"int","required":true,"desc":"","structType":"json","sub":1,"key":"kwfrq9ewoxebsfy1yc","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrt5svntvrbex1a1","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kwfrufdxs4insbwp7os","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwfrupqa2is097je3r1","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父项目集","structType":"json","sub":1,"key":"kwfrv68kj5pq1ev7y1a","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwfrvpa06s9odxqr733","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwfrvwl8yp43br33c0j","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwfrw1x78s1r66etxjn","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwfrw6lojs101m01t6","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目集描述","structType":"json","sub":1,"key":"kwfrwkdf096g5nvumqrp","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwfrx6jpg8tpusd54te","children":[]},{"field":"openedDate","paramsType":"string","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwfrxh8vp3p541ha0q","children":[]},{"field":"PM","paramsType":"string","required":true,"desc":"负责人","structType":"json","sub":1,"key":"kwfrxyttm6qlete3n3h","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwfry99qckte6qguao","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwfryty0hgpjch2k40u","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:55;O:8:"stdClass":19:{s:2:"id";s:4:"1547";s:3:"doc";s:3:"474";s:6:"module";s:3:"104";s:5:"title";s:15:"删除项目集";s:4:"path";s:13:"/programs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:6:"DELETE";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:145:"[{"field":"message","paramsType":"string","required":true,"desc":"success","structType":"json","sub":1,"key":"kwj9ixknz4l5k1u4qc","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:56;O:8:"stdClass":19:{s:2:"id";s:4:"1546";s:3:"doc";s:3:"481";s:6:"module";s:3:"104";s:5:"title";s:15:"修改项目集";s:4:"path";s:13:"/programs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"5";s:6:"params";s:1650:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":false,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrrcafi41oii1yyu","children":[]},{"field":"parent","paramsType":"string","required":"","desc":"父项目集,0表示没有父项目集","structType":"json","sub":1,"key":"kwfrrjy5fy9cr7cbhxt","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwfrrp78h46nsupgqg","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"预算金额","structType":"json","sub":1,"key":"kwg2zi8y395k1sa5qw","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwg2zu8lqoggv7wrofn","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"项目集描述","structType":"json","sub":1,"key":"kwg32uanzx7ssr24qb","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"预计开始日期","structType":"json","sub":1,"key":"kwg331xpdglirubloc","children":[]},{"field":"end","paramsType":"date","required":"","desc":"预计结束日期","structType":"json","sub":1,"key":"kwg339ez5y4fapvyz02","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwg387hniakqx94yjh","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg38nt998kadpp0kk7","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2259:"[{"field":"id","paramsType":"int","required":true,"desc":"","structType":"json","sub":1,"key":"kwfrq9ewoxebsfy1yc","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrt5svntvrbex1a1","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kwfrufdxs4insbwp7os","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwfrupqa2is097je3r1","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父项目集","structType":"json","sub":1,"key":"kwfrv68kj5pq1ev7y1a","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwfrvpa06s9odxqr733","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwfrvwl8yp43br33c0j","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwfrw1x78s1r66etxjn","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwfrw6lojs101m01t6","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目集描述","structType":"json","sub":1,"key":"kwfrwkdf096g5nvumqrp","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwfrx6jpg8tpusd54te","children":[]},{"field":"openedDate","paramsType":"string","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwfrxh8vp3p541ha0q","children":[]},{"field":"PM","paramsType":"string","required":true,"desc":"负责人","structType":"json","sub":1,"key":"kwfrxyttm6qlete3n3h","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwfry99qckte6qguao","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwfryty0hgpjch2k40u","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:57;O:8:"stdClass":19:{s:2:"id";s:4:"1545";s:3:"doc";s:3:"475";s:6:"module";s:3:"104";s:5:"title";s:15:"创建项目集";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:1681:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":false,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrrcafi41oii1yyu","children":[]},{"field":"parent","paramsType":"string","required":"","desc":"父项目集,0表示没有父项目集","structType":"json","sub":1,"key":"kwfrrjy5fy9cr7cbhxt","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwfrrp78h46nsupgqg","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"预算金额","structType":"json","sub":1,"key":"kwg2zi8y395k1sa5qw","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwg2zu8lqoggv7wrofn","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"项目集描述","structType":"json","sub":1,"key":"kwg32uanzx7ssr24qb","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"预计开始日期","structType":"json","sub":1,"key":"kwg331xpdglirubloc","children":[]},{"field":"end","paramsType":"date","required":"","desc":"预计结束日期","structType":"json","sub":1,"key":"kwg339ez5y4fapvyz02","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwg387hniakqx94yjh","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单,只有acl = private才生效","structType":"json","sub":1,"key":"kwg38nt998kadpp0kk7","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2259:"[{"field":"id","paramsType":"int","required":true,"desc":"","structType":"json","sub":1,"key":"kwfrq9ewoxebsfy1yc","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrt5svntvrbex1a1","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kwfrufdxs4insbwp7os","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwfrupqa2is097je3r1","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父项目集","structType":"json","sub":1,"key":"kwfrv68kj5pq1ev7y1a","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwfrvpa06s9odxqr733","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwfrvwl8yp43br33c0j","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwfrw1x78s1r66etxjn","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwfrw6lojs101m01t6","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目集描述","structType":"json","sub":1,"key":"kwfrwkdf096g5nvumqrp","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwfrx6jpg8tpusd54te","children":[]},{"field":"openedDate","paramsType":"string","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwfrxh8vp3p541ha0q","children":[]},{"field":"PM","paramsType":"string","required":true,"desc":"负责人","structType":"json","sub":1,"key":"kwfrxyttm6qlete3n3h","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwfry99qckte6qguao","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwfryty0hgpjch2k40u","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:58;O:8:"stdClass":19:{s:2:"id";s:4:"1541";s:3:"doc";s:3:"473";s:6:"module";s:3:"107";s:5:"title";s:18:"查看执行详情";s:4:"path";s:15:"/executions/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:137:"[{"field":"id","paramsType":"int","required":"","desc":"执行ID","structType":"json","sub":1,"key":"kwjeuc2q9pt9x1wqxzp","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:59;O:8:"stdClass":19:{s:2:"id";s:4:"1542";s:3:"doc";s:3:"473";s:6:"module";s:3:"107";s:5:"title";s:18:"查看执行详情";s:4:"path";s:15:"/executions/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:138:"[{"field":"id","paramsType":"int","required":true,"desc":"执行ID","structType":"json","sub":1,"key":"kwjf5z9zdnjy9hf99r","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:60;O:8:"stdClass":19:{s:2:"id";s:4:"1543";s:3:"doc";s:3:"473";s:6:"module";s:3:"107";s:5:"title";s:18:"查看执行详情";s:4:"path";s:15:"/executions/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2738:"[{"field":"id","paramsType":"int","required":true,"desc":"执行ID","structType":"json","sub":1,"key":"kwjf8jyxc2bl5hv8aj","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwjf92n2g29wmh5ksod","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwjf93oiywvp8qfjso8","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwjf94h8eksswfob90d","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwjf94n4h5rwsrx9jav","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwjf94t8t1k232wb97k","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"json","sub":1,"key":"kwjf95ea8g3jtdwqbhm","children":[]},{"field":"lifetime","paramsType":"string","required":"","desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwjfak4falp1oiafj0r","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwjfakg8r1npyuij5vr","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"迭代负责人","structType":"json","sub":1,"key":"kwjfakm4mre55vpxd3s","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwjfay8pduj3pwg4ni","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwjfaye22chyvo2td35","children":[]},{"field":"teamMembers","paramsType":"array","required":"","desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwjfayiuu0rcwpgnzt","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"迭代描述","structType":"json","sub":1,"key":"kwjfbfsr0ew9qa91j58k","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwjfbfx3nzyg61vz4s","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwjfbp66qz2vh1h4ib","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwjfbpav4pod9grs3p6","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwjfdqkkbnm8q6il7rl","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:61;O:8:"stdClass":19:{s:2:"id";s:4:"1544";s:3:"doc";s:3:"478";s:6:"module";s:3:"107";s:5:"title";s:12:"创建执行";s:4:"path";s:24:"/projects/:id/executions";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:2401:"{"header":[{"field":"Token","required":true,"desc":"认证凭证"}],"params":[{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwg1ms08tbuujh4amd","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwg1oztyy48dm8m7ykk","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwg1pb011jy7te3dhil","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwg1piwmz4iad8atw8g","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwg1po8c6g02wciwc8k","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"json","sub":1,"key":"kwg1py9vcmy6q1qt3vs","children":[]},{"field":"lifetime","paramsType":"string","required":"","desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwg1qxpt6mhzoy5sxm","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwg1rogihd6h959v8en","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"迭代负责人","structType":"json","sub":1,"key":"kwg1u5uwk6dty43r8yq","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwg1ud1wtozclb1wa7","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwg1ujvuqtad5zav3z","children":[]},{"field":"teamMembers","paramsType":"array","required":"","desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwg1ur6sq8cfjlizc8m","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"迭代描述","structType":"json","sub":1,"key":"kwg1vny7cdpckj9m7w5","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwg1wz0cs5bpn14c1x","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg21q5ul24mkz2654r","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2477:"[{"field":"id","paramsType":"int","required":true,"desc":"执行ID","structType":"json","sub":1,"key":"kwje93s0z2ssy5ly0fe","children":[]},{"field":"project","paramsType":"boolean","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwje9v54b34cthkc1of","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwjea30ar0z9hsc1urn","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwjeabewhizyxsjf4cg","children":[]},{"field":"days","paramsType":"int","required":true,"desc":"可用工作日","structType":"json","sub":1,"key":"kwjearrn1hjcssfmckq","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwjeb0e477czkhdc37b","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwjeb7kflmn5w24jp7r","children":[]},{"field":"lifetime","paramsType":"string","required":true,"desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwjebm589usadvn8bd","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwjebvvo35mmg93g23t","children":[]},{"field":"PM","paramsType":"string","required":false,"desc":"迭代负责人","structType":"json","sub":1,"key":"kwjec64i8fbsgsk6o16","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwjec75526g0hq0afpu","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwjeckfrxddq94il8xn","children":[]},{"field":"teamMembers","paramsType":"array","required":true,"desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwjecwu03ma77kxt3a5","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"迭代描述","structType":"json","sub":1,"key":"kwjedoygiwsq148p2kg","children":[]},{"field":"acl","paramsType":"array","required":true,"desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwjedzd69dldudhd355","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单,acl = private时生效","structType":"json","sub":1,"key":"kwjee3inl8cabnd73lj","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:62;O:8:"stdClass":19:{s:2:"id";s:4:"1539";s:3:"doc";s:3:"472";s:6:"module";s:3:"107";s:5:"title";s:12:"编辑执行";s:4:"path";s:15:"/executions/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:63;O:8:"stdClass":19:{s:2:"id";s:4:"1540";s:3:"doc";s:3:"472";s:6:"module";s:3:"107";s:5:"title";s:12:"编辑执行";s:4:"path";s:15:"/executions/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:116:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:64;O:8:"stdClass":19:{s:2:"id";s:4:"1536";s:3:"doc";s:3:"478";s:6:"module";s:3:"107";s:5:"title";s:12:"创建执行";s:4:"path";s:24:"/projects/:id/executions";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:2401:"{"header":[{"field":"Token","required":true,"desc":"认证凭证"}],"params":[{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwg1ms08tbuujh4amd","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwg1oztyy48dm8m7ykk","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwg1pb011jy7te3dhil","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwg1piwmz4iad8atw8g","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwg1po8c6g02wciwc8k","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"json","sub":1,"key":"kwg1py9vcmy6q1qt3vs","children":[]},{"field":"lifetime","paramsType":"string","required":"","desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwg1qxpt6mhzoy5sxm","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwg1rogihd6h959v8en","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"迭代负责人","structType":"json","sub":1,"key":"kwg1u5uwk6dty43r8yq","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwg1ud1wtozclb1wa7","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwg1ujvuqtad5zav3z","children":[]},{"field":"teamMembers","paramsType":"array","required":"","desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwg1ur6sq8cfjlizc8m","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"迭代描述","structType":"json","sub":1,"key":"kwg1vny7cdpckj9m7w5","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwg1wz0cs5bpn14c1x","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg21q5ul24mkz2654r","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2780:"[{"field":"id","paramsType":"int","required":true,"desc":"执行ID","structType":"json","sub":1,"key":"kwje93s0z2ssy5ly0fe","children":[]},{"field":"project","paramsType":"boolean","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwje9v54b34cthkc1of","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwjea30ar0z9hsc1urn","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwjeabewhizyxsjf4cg","children":[]},{"field":"days","paramsType":"int","required":true,"desc":"可用工作日","structType":"json","sub":1,"key":"kwjearrn1hjcssfmckq","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwjeb0e477czkhdc37b","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwjeb7kflmn5w24jp7r","children":[]},{"field":"lifetime","paramsType":"string","required":true,"desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwjebm589usadvn8bd","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwjebvvo35mmg93g23t","children":[]},{"field":"PM","paramsType":"string","required":false,"desc":"迭代负责人","structType":"json","sub":1,"key":"kwjec64i8fbsgsk6o16","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwjec75526g0hq0afpu","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwjeckfrxddq94il8xn","children":[]},{"field":"teamMembers","paramsType":"array","required":true,"desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwjecwu03ma77kxt3a5","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"迭代描述","structType":"json","sub":1,"key":"kwjedoygiwsq148p2kg","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwjedzd69dldudhd355","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单,acl = private时生效","structType":"json","sub":1,"key":"kwjee3inl8cabnd73lj","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwjgyer9dnn0cdmvfbg","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwjgyibi4lkkpze9ru","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:65;O:8:"stdClass":19:{s:2:"id";s:4:"1537";s:3:"doc";s:3:"469";s:6:"module";s:3:"107";s:5:"title";s:12:"删除执行";s:4:"path";s:15:"/executions/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:6:"DELETE";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:151:"[{"field":"message","paramsType":"string","required":true,"desc":"删除结果","structType":"json","sub":1,"key":"kwjg44slxzhtkdd71df","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:66;O:8:"stdClass":19:{s:2:"id";s:4:"1538";s:3:"doc";s:3:"472";s:6:"module";s:3:"107";s:5:"title";s:12:"修改执行";s:4:"path";s:24:"/projects/:id/executions";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:2401:"{"header":[{"field":"Token","required":true,"desc":"认证凭证"}],"params":[{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwg1ms08tbuujh4amd","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwg1oztyy48dm8m7ykk","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwg1pb011jy7te3dhil","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwg1piwmz4iad8atw8g","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwg1po8c6g02wciwc8k","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"json","sub":1,"key":"kwg1py9vcmy6q1qt3vs","children":[]},{"field":"lifetime","paramsType":"string","required":"","desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwg1qxpt6mhzoy5sxm","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwg1rogihd6h959v8en","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"迭代负责人","structType":"json","sub":1,"key":"kwg1u5uwk6dty43r8yq","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwg1ud1wtozclb1wa7","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwg1ujvuqtad5zav3z","children":[]},{"field":"teamMembers","paramsType":"array","required":"","desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwg1ur6sq8cfjlizc8m","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"迭代描述","structType":"json","sub":1,"key":"kwg1vny7cdpckj9m7w5","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwg1wz0cs5bpn14c1x","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg21q5ul24mkz2654r","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2780:"[{"field":"id","paramsType":"int","required":true,"desc":"执行ID","structType":"json","sub":1,"key":"kwje93s0z2ssy5ly0fe","children":[]},{"field":"project","paramsType":"boolean","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwje9v54b34cthkc1of","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwjea30ar0z9hsc1urn","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwjeabewhizyxsjf4cg","children":[]},{"field":"days","paramsType":"int","required":true,"desc":"可用工作日","structType":"json","sub":1,"key":"kwjearrn1hjcssfmckq","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwjeb0e477czkhdc37b","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwjeb7kflmn5w24jp7r","children":[]},{"field":"lifetime","paramsType":"string","required":true,"desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwjebm589usadvn8bd","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwjebvvo35mmg93g23t","children":[]},{"field":"PM","paramsType":"string","required":false,"desc":"迭代负责人","structType":"json","sub":1,"key":"kwjec64i8fbsgsk6o16","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwjec75526g0hq0afpu","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwjeckfrxddq94il8xn","children":[]},{"field":"teamMembers","paramsType":"array","required":true,"desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwjecwu03ma77kxt3a5","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"迭代描述","structType":"json","sub":1,"key":"kwjedoygiwsq148p2kg","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwjedzd69dldudhd355","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单,acl = private时生效","structType":"json","sub":1,"key":"kwjee3inl8cabnd73lj","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwjgxee7xz31l6mlr38","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwjgxmx4kfy4ru55g7","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:67;O:8:"stdClass":19:{s:2:"id";s:4:"1531";s:3:"doc";s:3:"462";s:6:"module";s:3:"116";s:5:"title";s:24:"修改需求其他字段";s:4:"path";s:12:"/stories/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:1250:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"module","paramsType":"int","required":false,"desc":"所属模块","structType":"json","sub":1,"key":"kwk0memxgm8j6r50dji","children":[]},{"field":"source","paramsType":"string","required":"","desc":"来源","structType":"json","sub":1,"key":"kwk0n6trlfwg2zn30um","children":[]},{"field":"sourceNote","paramsType":"string","required":"","desc":"来源备注","structType":"json","sub":1,"key":"kwk0nkk4tyy9dpgjin","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":1,"key":"kwk0nwqvxy0o082smxs","children":[]},{"field":"category","paramsType":"string","required":"","desc":"类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":1,"key":"kwk0oag6m7pcw8u5q8r","children":[]},{"field":"estimate","paramsType":"float","required":"","desc":"预计工时","structType":"json","sub":1,"key":"kwk0pnppcprvzgtbbes","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwk0pxdmfkb55hpaqcn","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:68;O:8:"stdClass":19:{s:2:"id";s:4:"1532";s:3:"doc";s:3:"471";s:6:"module";s:3:"116";s:5:"title";s:24:"获取项目需求列表";s:4:"path";s:21:"/projects/:id/stories";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:69;O:8:"stdClass":19:{s:2:"id";s:4:"1533";s:3:"doc";s:3:"467";s:6:"module";s:3:"116";s:5:"title";s:24:"获取执行需求列表";s:4:"path";s:23:"/executions/:id/stories";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:70;O:8:"stdClass":19:{s:2:"id";s:4:"1534";s:3:"doc";s:3:"468";s:6:"module";s:3:"116";s:5:"title";s:12:"创建需求";s:4:"path";s:8:"/stories";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:1591:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":1,"key":"kwjzb7t7r80zxre07ar","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwjzfpcu6lw92hz2ypn","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwjzfpzyj9dm3wtixpi","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"需求类型","structType":"json","sub":1,"key":"kwjzfqrjtzrsmg53nlp","children":[]},{"field":"spec","paramsType":"string","required":false,"desc":"需求描述","structType":"json","sub":1,"key":"kwjzj6ur2wul1s780xf","children":[]},{"field":"verify","paramsType":"string","required":false,"desc":"验收标准","structType":"json","sub":1,"key":"kwjzjwan8b55385dp7u","children":[]},{"field":"source","paramsType":"string","required":"","desc":"需求来源","structType":"json","sub":1,"key":"kwjzlbfd0s6dmbypy9gr","children":[]},{"field":"sourceNote","paramsType":"string","required":"","desc":"来源备注","structType":"json","sub":1,"key":"kwjzm2bpuz7rpwww18o","children":[]},{"field":"estimate","paramsType":"float","required":"","desc":"预计工时","structType":"json","sub":1,"key":"kwjzmbg8o60ltfbezl","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwjzn2tj3muq5pd3hh3","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2954:"[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":1,"key":"kwjzak1x6332sumet2x","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwjzqgmor28xkpxto2","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":1,"key":"kwjzqh9m591hxaz9r75","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属产品模块","structType":"json","sub":1,"key":"kwjzqhdz9o96s49biap","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来自于Bug","structType":"json","sub":1,"key":"kwjzqhisj4xgerdefa","children":[]},{"field":"source","paramsType":"string","required":true,"desc":"需求来源(customer 客户 | user 用户 | po 产品经理 | market 市场)","structType":"json","sub":1,"key":"kwjzqhnjwye1lyvbs7s","children":[]},{"field":"sourceNote","paramsType":"string","required":true,"desc":"来源备注","structType":"json","sub":1,"key":"kwjzqhs1sci48ds40c","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":1,"key":"kwjzqhvzgnhlyglh3wl","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":1,"key":"kwjzqi0g6kz5b3qtqyj","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"阶段(wait 未开始 | planned 已计划 | projected 已立项 | developing 研发中 | developed 研发完毕 | testing 测试中 | tested 测试完毕 | verified 已验收 | released 已发布 | closed 已关闭)","structType":"json","sub":1,"key":"kwjzqi5fa420z4rcoz9","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwjzsm7e02zv28lg7woq","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":1,"key":"kwjzsmcosfo5u84ljn","children":[]},{"field":"verify","paramsType":"string","required":true,"desc":"验收标准","structType":"json","sub":1,"key":"kwjzsz8r796vs9psimw","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(draft 草稿 | active 激活 | closed 已关闭 | changed 已变更)","structType":"json","sub":1,"key":"kwjzszdgvko3irxwjg","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwjzszihkde9vnt4gu","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwjzszwssmv2dzhyad","children":[]},{"field":"toBug","paramsType":"int","required":true,"desc":"转为Bug","structType":"json","sub":1,"key":"kwjzu1eeg2nbghkse4e","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:71;O:8:"stdClass":19:{s:2:"id";s:4:"1535";s:3:"doc";s:3:"470";s:6:"module";s:3:"116";s:5:"title";s:24:"获取产品需求列表";s:4:"path";s:21:"/products/:id/stories";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3931:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页面","structType":"json","sub":1,"key":"kwjy2s87db9a596fbgb","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"需求总数","structType":"json","sub":1,"key":"kwjy7hkvjkmtt0mkcy","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页需求数","structType":"json","sub":1,"key":"kwjy7ld0ndd1vxicpo","children":[]},{"field":"stories","paramsType":"array","required":true,"desc":"需求列表","structType":"json","sub":1,"key":"kwjy8zyh4dzndly12en","children":[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":2,"key":"kwjy99j7nbctxlys6e","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwjyact3snp2jqp3tn","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwjyaun7ybre2f0dmep","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属产品模块","structType":"json","sub":2,"key":"kwjyb9uzo2dcbc3hmn","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来自于Bug","structType":"json","sub":2,"key":"kwjybqd5ld21pj2rnx7","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"source","paramsType":"string","required":true,"desc":"需求来源(customer 客户 | user 用户 | po 产品经理 | market 市场)","structType":"json","sub":2,"key":"kwjyccenpnjohdldyyp","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"sourceNote","paramsType":"string","required":true,"desc":"来源备注","structType":"json","sub":2,"key":"kwjyhkx6iqoqjdcagt","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":2,"key":"kwjyi8ihn1ufbkfpy0j","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":2,"key":"kwjyixbqtw6vvzlpae","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"阶段(wait 未开始 | planned 已计划 | projected 已立项 | developing 研发中 | developed 研发完毕 | testing 测试中 | tested 测试完毕 | verified 已验收 | released 已发布 | closed 已关闭)","structType":"json","sub":2,"key":"kwjyquptlmh4pfyzo9a","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":2,"key":"kwjyrsb3vu6gxup5vpa","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"estimate","paramsType":"int","required":true,"desc":"预计工时","structType":"json","sub":2,"key":"kwjz0s2pc0sv9wzyh1b","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(draft 草稿 | active 激活 | closed 已关闭 | changed 已变更)","structType":"json","sub":2,"key":"kwjz15ozrkdagpj8dfe","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwjz2eyko6qx1ixausl","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwjz2oj2beho2ph9fug","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"toBug","paramsType":"int","required":true,"desc":"转为Bug","structType":"json","sub":2,"key":"kwjz341v9rmo4xdxt9m","parentKey":"kwjy8zyh4dzndly12en","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:72;O:8:"stdClass":19:{s:2:"id";s:4:"1529";s:3:"doc";s:3:"465";s:6:"module";s:3:"116";s:5:"title";s:18:"获取需求详情";s:4:"path";s:12:"/stories/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:73;O:8:"stdClass":19:{s:2:"id";s:4:"1530";s:3:"doc";s:3:"466";s:6:"module";s:3:"116";s:5:"title";s:12:"变更需求";s:4:"path";s:19:"/stories/:id/change";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:554:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"title","paramsType":"string","required":false,"desc":"需求标题","structType":"json","sub":1,"key":"kwk00sadykqdnjov0b","children":[]},{"field":"spec","paramsType":"string","required":"","desc":"需求描述","structType":"json","sub":1,"key":"kwk056l687emefzib2d","children":[]},{"field":"verify","paramsType":"string","required":"","desc":"验收标准","structType":"json","sub":1,"key":"kwk0752wcpdf6vob37","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:74;O:8:"stdClass":19:{s:2:"id";s:4:"1526";s:3:"doc";s:3:"460";s:6:"module";s:3:"115";s:5:"title";s:12:"创建任务";s:4:"path";s:21:"/executions/:id/tasks";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:1768:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"formData","sub":1,"key":"kwk2vtnfxn98pr2h8yf","children":[]},{"field":"story","paramsType":"int","required":"","desc":"关联需求","structType":"formData","sub":1,"key":"kwk2xlvcr1gkg6izip","children":[]},{"field":"fromBug","paramsType":"int","required":"","desc":"来自于Bug","structType":"formData","sub":1,"key":"kwk2xviqx2ak237g4yi","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"任务名称","structType":"formData","sub":1,"key":"kwk2yavrfjddi4941np","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"formData","sub":1,"key":"kwk2yhq6v5epv4ino7","children":[]},{"field":"assignedTo","paramsType":"array","required":true,"desc":"指派给,[\"admin\"]","structType":"formData","sub":1,"key":"kwk2zis5zbu6jepnl5","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"formData","sub":1,"key":"kwk2zvwesy6jyygqm2","children":[]},{"field":"estimate","paramsType":"float","required":"","desc":"预计工时","structType":"formData","sub":1,"key":"kwk305ekgwbjv0gzb4p","children":[]},{"field":"estStarted","paramsType":"date","required":true,"desc":"预计开始日期","structType":"formData","sub":1,"key":"kwk32zmfpl4kmya3l5h","children":[]},{"field":"deadline","paramsType":"date","required":true,"desc":"预计结束日期","structType":"formData","sub":1,"key":"kwk335gooe4o9gndxb","children":[]}],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4095:"[{"field":"id","paramsType":"int","required":true,"desc":"任务ID","structType":"json","sub":1,"key":"kwk2vtnjuurgha4gkcc","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属任务","structType":"json","sub":1,"key":"kwk37ng942x5k9g1xxm","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父任务","structType":"json","sub":1,"key":"kwk382nnpny9ddvyndg","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwk38e5so8kannzevsl","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwk3imzj095g74m8ff5k","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"关联需求","structType":"json","sub":1,"key":"kwk3iw6rp6bbt5gq3kh","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来源于Bug","structType":"json","sub":1,"key":"kwk3j8pscep4xnuzprg","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"任务名称","structType":"json","sub":1,"key":"kwk3mzbxzc62ksy2659","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"json","sub":1,"key":"kwk3sprxj3d2vj0mat","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk3ukxrnn0ie0rc3oh","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":1,"key":"kwk3v3epr2gpzmkdcmk","children":[]},{"field":"consumed","paramsType":"float","required":true,"desc":"消耗工时","structType":"json","sub":1,"key":"kwk3vjxjszs3uqmmvvm","children":[]},{"field":"left","paramsType":"float","required":true,"desc":"剩余工时","structType":"json","sub":1,"key":"kwk3vu4gwz2vrlwpqd","children":[]},{"field":"deadline","paramsType":"date","required":true,"desc":"预计结束日期","structType":"json","sub":1,"key":"kwk3w6k2qqt6ad9fj6f","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已完成 | closed 已关闭 | cancel 已取消)","structType":"json","sub":1,"key":"kwk3wq0acq6kcla9bxl","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"任务描述","structType":"json","sub":1,"key":"kwk3zv7ssgfg2nko2d","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwk407dr61cugmxhlyv","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwk40d9j5001v5ztro","children":[]},{"field":"assignedTo","paramsType":"string","required":true,"desc":"指派给","structType":"json","sub":1,"key":"kwk40sbi2gb6wlayec8","children":[]},{"field":"assignedDate","paramsType":"datetime","required":true,"desc":"指派时间","structType":"json","sub":1,"key":"kwk40wjuji9duwfxwg","children":[]},{"field":"estStarted","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":1,"key":"kwk41sqvjzmwj2l6k0c","children":[]},{"field":"realStarted","paramsType":"datetime","required":"","desc":"实际开始时间","structType":"json","sub":1,"key":"kwk41tggydumzmjjov","children":[]},{"field":"finishedBy","paramsType":"string","required":"","desc":"由谁完成","structType":"json","sub":1,"key":"kwk41tldxm6egute0hf","children":[]},{"field":"finishedDate","paramsType":"datetime","required":"","desc":"完成时间","structType":"json","sub":1,"key":"kwk41tq3oy1wfxwdm0a","children":[]},{"field":"closedBy","paramsType":"string","required":"","desc":"由谁关闭","structType":"json","sub":1,"key":"kwk42tximh8mftw3o2h","children":[]},{"field":"closedDate","paramsType":"datetime","required":"","desc":"关闭时间","structType":"json","sub":1,"key":"kwk42u2nz10u8prmjqe","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:75;O:8:"stdClass":19:{s:2:"id";s:4:"1527";s:3:"doc";s:3:"463";s:6:"module";s:3:"116";s:5:"title";s:12:"删除需求";s:4:"path";s:12:"/stories/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:6:"DELETE";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:151:"[{"field":"message","paramsType":"string","required":true,"desc":"结果信息","structType":"json","sub":1,"key":"kwk0vedlh1unhcrpw1o","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:76;O:8:"stdClass":19:{s:2:"id";s:4:"1528";s:3:"doc";s:3:"464";s:6:"module";s:3:"115";s:5:"title";s:24:"获取执行任务列表";s:4:"path";s:21:"/executions/:id/tasks";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4998:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwk22il6ih0mk45ynee","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"任务总数","structType":"json","sub":1,"key":"kwk25yw9h6c88on2gs","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页任务数","structType":"json","sub":1,"key":"kwk26cwonr1ceb1x48c","children":[]},{"field":"tasks","paramsType":"array","required":true,"desc":"任务列表","structType":"json","sub":1,"key":"kwk26oe1cfci0axln9","children":[{"field":"id","paramsType":"int","required":true,"desc":"任务ID","structType":"json","sub":2,"key":"kwk271yyl81fr3z1csq","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwk274lazo9w2l9j6n","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwk27pzko2gd2knetm","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":2,"key":"kwk280tgjkgb3bfaq4f","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"关联需求","structType":"json","sub":2,"key":"kwk28a0ibuxaqm0lsfk","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"任务名称","structType":"json","sub":2,"key":"kwk29366nqs15bgkvzf","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"json","sub":2,"key":"kwk29dnj11da7xaxn1dd","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":2,"key":"kwk2ekkj0nkpzt8y9i8","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":2,"key":"kwk2esg1kesozl3y0cr","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"left","paramsType":"float","required":true,"desc":"剩余工时","structType":"json","sub":2,"key":"kwk2f2t8bulpj1shv5i","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"deadline","paramsType":"date","required":true,"desc":"截止日期","structType":"json","sub":2,"key":"kwk2fb47qitn6rfvpl","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"consumed","paramsType":"float","required":true,"desc":"消耗工时","structType":"json","sub":2,"key":"kwk2gjlv6yypt7pdt1q","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已完成 | closed 已关闭 | cancel 已取消)","structType":"json","sub":2,"key":"kwk2h2nkp8vdklny1rb","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"任务详情","structType":"json","sub":2,"key":"kwk2iravy5agz6tuyg8","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwk2jsnk9ia94nzmczp","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwk2k5d9vo25bjb9hpc","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"assignedTo","paramsType":"string","required":true,"desc":"指派给","structType":"json","sub":2,"key":"kwk2mi8pqtelze3sods","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"estStarted","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":2,"key":"kwk2mv8g9w191nzqwd5","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"realStarted","paramsType":"datetime","required":true,"desc":"实际开始时间","structType":"json","sub":2,"key":"kwk2n31558xty9l48p6","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"finishedBy","paramsType":"string","required":false,"desc":"由谁完成","structType":"json","sub":2,"key":"kwk2rp61lk5obs480gq","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"finishedDate","paramsType":"datetime","required":false,"desc":"完成时间","structType":"json","sub":2,"key":"kwk2rq9q421wtd219ci","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"closedBy","paramsType":"string","required":false,"desc":"由谁关闭","structType":"json","sub":2,"key":"kwk2tiw1ld6srch5jl","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"closedDate","paramsType":"datetime","required":false,"desc":"关闭时间","structType":"json","sub":2,"key":"kwk2tozwkawb70vq2da","parentKey":"kwk26oe1cfci0axln9","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:77;O:8:"stdClass":19:{s:2:"id";s:4:"1524";s:3:"doc";s:3:"461";s:6:"module";s:3:"115";s:5:"title";s:18:"获取任务详情";s:4:"path";s:10:"/tasks/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:78;O:8:"stdClass":19:{s:2:"id";s:4:"1525";s:3:"doc";s:3:"457";s:6:"module";s:3:"115";s:5:"title";s:12:"修改任务";s:4:"path";s:10:"/tasks/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:79;O:8:"stdClass":19:{s:2:"id";s:4:"1522";s:3:"doc";s:3:"458";s:6:"module";s:3:"115";s:5:"title";s:12:"删除任务";s:4:"path";s:10:"/tasks/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:6:"DELETE";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:151:"[{"field":"message","paramsType":"string","required":true,"desc":"结果信息","structType":"json","sub":1,"key":"kwk46ho92f9wizfabt5","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:80;O:8:"stdClass":19:{s:2:"id";s:4:"1523";s:3:"doc";s:3:"457";s:6:"module";s:3:"115";s:5:"title";s:12:"修改任务";s:4:"path";s:10:"/tasks/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:1781:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"formData","sub":1,"key":"kwk2vtnfxn98pr2h8yf","children":[]},{"field":"story","paramsType":"int","required":"","desc":"关联需求","structType":"formData","sub":1,"key":"kwk2xlvcr1gkg6izip","children":[]},{"field":"fromBug","paramsType":"int","required":"","desc":"来自于Bug","structType":"formData","sub":1,"key":"kwk2xviqx2ak237g4yi","children":[]},{"field":"name","paramsType":"string","required":false,"desc":"任务名称","structType":"formData","sub":1,"key":"kwk2yavrfjddi4941np","children":[]},{"field":"type","paramsType":"string","required":false,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"formData","sub":1,"key":"kwk2yhq6v5epv4ino7","children":[]},{"field":"assignedTo","paramsType":"array","required":false,"desc":"指派给,[\"admin\"]","structType":"formData","sub":1,"key":"kwk2zis5zbu6jepnl5","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"formData","sub":1,"key":"kwk2zvwesy6jyygqm2","children":[]},{"field":"estimate","paramsType":"float","required":"","desc":"预计工时","structType":"formData","sub":1,"key":"kwk305ekgwbjv0gzb4p","children":[]},{"field":"estStarted","paramsType":"date","required":false,"desc":"预计开始日期","structType":"formData","sub":1,"key":"kwk32zmfpl4kmya3l5h","children":[]},{"field":"deadline","paramsType":"date","required":false,"desc":"预计结束日期","structType":"formData","sub":1,"key":"kwk335gooe4o9gndxb","children":[]}],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4095:"[{"field":"id","paramsType":"int","required":true,"desc":"任务ID","structType":"json","sub":1,"key":"kwk2vtnjuurgha4gkcc","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属任务","structType":"json","sub":1,"key":"kwk37ng942x5k9g1xxm","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父任务","structType":"json","sub":1,"key":"kwk382nnpny9ddvyndg","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwk38e5so8kannzevsl","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwk3imzj095g74m8ff5k","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"关联需求","structType":"json","sub":1,"key":"kwk3iw6rp6bbt5gq3kh","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来源于Bug","structType":"json","sub":1,"key":"kwk3j8pscep4xnuzprg","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"任务名称","structType":"json","sub":1,"key":"kwk3mzbxzc62ksy2659","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"json","sub":1,"key":"kwk3sprxj3d2vj0mat","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk3ukxrnn0ie0rc3oh","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":1,"key":"kwk3v3epr2gpzmkdcmk","children":[]},{"field":"consumed","paramsType":"float","required":true,"desc":"消耗工时","structType":"json","sub":1,"key":"kwk3vjxjszs3uqmmvvm","children":[]},{"field":"left","paramsType":"float","required":true,"desc":"剩余工时","structType":"json","sub":1,"key":"kwk3vu4gwz2vrlwpqd","children":[]},{"field":"deadline","paramsType":"date","required":true,"desc":"预计结束日期","structType":"json","sub":1,"key":"kwk3w6k2qqt6ad9fj6f","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已完成 | closed 已关闭 | cancel 已取消)","structType":"json","sub":1,"key":"kwk3wq0acq6kcla9bxl","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"任务描述","structType":"json","sub":1,"key":"kwk3zv7ssgfg2nko2d","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwk407dr61cugmxhlyv","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwk40d9j5001v5ztro","children":[]},{"field":"assignedTo","paramsType":"string","required":true,"desc":"指派给","structType":"json","sub":1,"key":"kwk40sbi2gb6wlayec8","children":[]},{"field":"assignedDate","paramsType":"datetime","required":true,"desc":"指派时间","structType":"json","sub":1,"key":"kwk40wjuji9duwfxwg","children":[]},{"field":"estStarted","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":1,"key":"kwk41sqvjzmwj2l6k0c","children":[]},{"field":"realStarted","paramsType":"datetime","required":"","desc":"实际开始时间","structType":"json","sub":1,"key":"kwk41tggydumzmjjov","children":[]},{"field":"finishedBy","paramsType":"string","required":"","desc":"由谁完成","structType":"json","sub":1,"key":"kwk41tldxm6egute0hf","children":[]},{"field":"finishedDate","paramsType":"datetime","required":"","desc":"完成时间","structType":"json","sub":1,"key":"kwk41tq3oy1wfxwdm0a","children":[]},{"field":"closedBy","paramsType":"string","required":"","desc":"由谁关闭","structType":"json","sub":1,"key":"kwk42tximh8mftw3o2h","children":[]},{"field":"closedDate","paramsType":"datetime","required":"","desc":"关闭时间","structType":"json","sub":1,"key":"kwk42u2nz10u8prmjqe","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:81;O:8:"stdClass":19:{s:2:"id";s:4:"1521";s:3:"doc";s:3:"459";s:6:"module";s:3:"114";s:5:"title";s:21:"获取产品Bug列表";s:4:"path";s:18:"/products/:id/bugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4563:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwk7eduw8zanbk9e6ht","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"Bug总数","structType":"json","sub":1,"key":"kwk7pmjg8bx9ks5nsdk","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页Bug数","structType":"json","sub":1,"key":"kwk7pp5rjiki3jhrqle","children":[]},{"field":"bugs","paramsType":"array","required":true,"desc":"Bug列表","structType":"json","sub":1,"key":"kwk7q10gli3djouo26c","children":[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":2,"key":"kwk7qqlrf6qsab9fmhm","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwk7qzuq0oj0uidcf22","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwk7rseae435am146u","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":2,"key":"kwk7s28age0knpphuk8","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwk7sbfgc2u9vfys535","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwk7ssk9hsnhc1jacyb","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"toTask","paramsType":"int","required":true,"desc":"转为任务","structType":"json","sub":2,"key":"kwk7t6cv3ijumgtosse","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"toStory","paramsType":"int","required":true,"desc":"转为需求","structType":"json","sub":2,"key":"kwk7u9hhuk9imxkru49","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":2,"key":"kwk7uqb51qjre1zitzb","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"keywords","paramsType":"string","required":true,"desc":"关键字","structType":"json","sub":2,"key":"kwk7vlp4zqjj0c4imok","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":2,"key":"kwk7vvdcae2kc4wvix9","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":2,"key":"kwk7w5ganzfmj1j1x1","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":2,"key":"kwk7wk6xujzgiw0wo48","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":2,"key":"kwk803zry1ramko62gs","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":2,"key":"kwk848lg0liivvjhbc8p","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"steps","paramsType":"string","required":true,"desc":"重现步骤","structType":"json","sub":2,"key":"kwk84q6nkrbk25cc99q","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":2,"key":"kwk857q69enhdu23efr","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":2,"key":"kwk85lg2fc6z3rexd4","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwk86fotnf13zmf0en","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwk87b3qoug8jgtbdjg","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"deadline","paramsType":"date","required":false,"desc":"截止日期","structType":"json","sub":2,"key":"kwk87tq3dxyomivkxs6","parentKey":"kwk7q10gli3djouo26c","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:82;O:8:"stdClass":19:{s:2:"id";s:4:"1520";s:3:"doc";s:3:"456";s:6:"module";s:3:"114";s:5:"title";s:9:"创建Bug";s:4:"path";s:18:"/products/:id/bugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:2501:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk8aqb89rtg6cglkie","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk8bltwrldt1wgchnm","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk8bvemkvpxfdwwxy","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk8c7sybpxtka3kowi","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwk8crrf3fiqj00xivb","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk8d0a47z72hrd0o9i","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk8ddaj9c4lek4vez","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk8dmjemjpf2bn97an","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk8f6cl5ykqt41zk7s","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk8fgo4lqfxxjvdn3e","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk8fpxtwg5me792glg","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk8g0hztx0ofv70fy","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk8gemtbllui458dm","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk8gutklfhqqj3ilkf","children":[]},{"field":"openedBuild","paramsType":"array","required":"","desc":"影响版本","structType":"json","sub":1,"key":"kwk8ib5qsuuqbsf1iur","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:135:"[{"field":"id","paramsType":"boolean","required":true,"desc":"","structType":"json","sub":1,"key":"kwk8a3rn3q7kucvzl7l","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:83;O:8:"stdClass":19:{s:2:"id";s:4:"1518";s:3:"doc";s:3:"456";s:6:"module";s:3:"114";s:5:"title";s:9:"创建Bug";s:4:"path";s:18:"/products/:id/bugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:2501:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk8aqb89rtg6cglkie","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk8bltwrldt1wgchnm","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk8bvemkvpxfdwwxy","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk8c7sybpxtka3kowi","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwk8crrf3fiqj00xivb","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk8d0a47z72hrd0o9i","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk8ddaj9c4lek4vez","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk8dmjemjpf2bn97an","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk8f6cl5ykqt41zk7s","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk8fgo4lqfxxjvdn3e","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk8fpxtwg5me792glg","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk8g0hztx0ofv70fy","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk8gemtbllui458dm","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk8gutklfhqqj3ilkf","children":[]},{"field":"openedBuild","paramsType":"array","required":"","desc":"影响版本","structType":"json","sub":1,"key":"kwk8ib5qsuuqbsf1iur","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:84;O:8:"stdClass":19:{s:2:"id";s:4:"1519";s:3:"doc";s:3:"456";s:6:"module";s:3:"114";s:5:"title";s:9:"创建Bug";s:4:"path";s:18:"/products/:id/bugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:2501:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk8aqb89rtg6cglkie","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk8bltwrldt1wgchnm","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk8bvemkvpxfdwwxy","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk8c7sybpxtka3kowi","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwk8crrf3fiqj00xivb","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk8d0a47z72hrd0o9i","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk8ddaj9c4lek4vez","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk8dmjemjpf2bn97an","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk8f6cl5ykqt41zk7s","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk8fgo4lqfxxjvdn3e","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk8fpxtwg5me792glg","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk8g0hztx0ofv70fy","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk8gemtbllui458dm","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk8gutklfhqqj3ilkf","children":[]},{"field":"openedBuild","paramsType":"array","required":"","desc":"影响版本","structType":"json","sub":1,"key":"kwk8ib5qsuuqbsf1iur","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:85;O:8:"stdClass":19:{s:2:"id";s:4:"1516";s:3:"doc";s:3:"454";s:6:"module";s:3:"114";s:5:"title";s:15:"获取Bug详情";s:4:"path";s:9:"/bugs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:86;O:8:"stdClass":19:{s:2:"id";s:4:"1517";s:3:"doc";s:3:"456";s:6:"module";s:3:"114";s:5:"title";s:9:"创建Bug";s:4:"path";s:18:"/products/:id/bugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:2501:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk8aqb89rtg6cglkie","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk8bltwrldt1wgchnm","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk8bvemkvpxfdwwxy","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk8c7sybpxtka3kowi","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwk8crrf3fiqj00xivb","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk8d0a47z72hrd0o9i","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk8ddaj9c4lek4vez","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk8dmjemjpf2bn97an","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk8f6cl5ykqt41zk7s","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk8fgo4lqfxxjvdn3e","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk8fpxtwg5me792glg","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk8g0hztx0ofv70fy","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk8gemtbllui458dm","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk8gutklfhqqj3ilkf","children":[]},{"field":"openedBuild","paramsType":"array","required":"","desc":"影响版本","structType":"json","sub":1,"key":"kwk8ib5qsuuqbsf1iur","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:87;O:8:"stdClass":19:{s:2:"id";s:4:"1515";s:3:"doc";s:3:"456";s:6:"module";s:3:"114";s:5:"title";s:9:"创建Bug";s:4:"path";s:18:"/products/:id/bugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:2501:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk8aqb89rtg6cglkie","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk8bltwrldt1wgchnm","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk8bvemkvpxfdwwxy","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk8c7sybpxtka3kowi","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwk8crrf3fiqj00xivb","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk8d0a47z72hrd0o9i","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk8ddaj9c4lek4vez","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk8dmjemjpf2bn97an","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk8f6cl5ykqt41zk7s","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk8fgo4lqfxxjvdn3e","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk8fpxtwg5me792glg","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk8g0hztx0ofv70fy","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk8gemtbllui458dm","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk8gutklfhqqj3ilkf","children":[]},{"field":"openedBuild","paramsType":"array","required":"","desc":"影响版本","structType":"json","sub":1,"key":"kwk8ib5qsuuqbsf1iur","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:88;O:8:"stdClass":19:{s:2:"id";s:4:"1514";s:3:"doc";s:3:"456";s:6:"module";s:3:"114";s:5:"title";s:9:"创建Bug";s:4:"path";s:18:"/products/:id/bugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:2501:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk8aqb89rtg6cglkie","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk8bltwrldt1wgchnm","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk8bvemkvpxfdwwxy","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk8c7sybpxtka3kowi","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwk8crrf3fiqj00xivb","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk8d0a47z72hrd0o9i","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk8ddaj9c4lek4vez","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk8dmjemjpf2bn97an","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk8f6cl5ykqt41zk7s","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk8fgo4lqfxxjvdn3e","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk8fpxtwg5me792glg","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk8g0hztx0ofv70fy","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk8gemtbllui458dm","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk8gutklfhqqj3ilkf","children":[]},{"field":"openedBuild","paramsType":"array","required":"","desc":"影响版本","structType":"json","sub":1,"key":"kwk8ib5qsuuqbsf1iur","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3251:"[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":1,"key":"kwk8xdeull75i2kwmsc","children":[]},{"field":"product","paramsType":"int","required":"","desc":"所属产品","structType":"json","sub":1,"key":"kwk8xmknfik26dkmycn","children":[]},{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk922tvb2h0uasmm08","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk92jra5kpmzq4jtj5","children":[]},{"field":"project","paramsType":"int","required":"","desc":"所属项目","structType":"json","sub":1,"key":"kwk92tvgygxc0o40qo","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk9337e0ptpx29g28ln","children":[]},{"field":"toTask","paramsType":"boolean","required":"","desc":"转为任务","structType":"json","sub":1,"key":"kwk93c39rt0sgpm82no","children":[]},{"field":"toStory","paramsType":"boolean","required":"","desc":"转为需求","structType":"json","sub":1,"key":"kwk93grgd74t8m9nild","children":[]},{"field":"title","paramsType":"string","required":"","desc":"Bug标题","structType":"json","sub":1,"key":"kwk93oo1wzuqt58wwp","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键字","structType":"json","sub":1,"key":"kwk93y5cozg5crw2uyf","children":[]},{"field":"severity","paramsType":"int","required":"","desc":"严重程度","structType":"json","sub":1,"key":"kwk9476xpfedgaf852g","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":1,"key":"kwk94fp1l7dy6hzh1qq","children":[]},{"field":"type","paramsType":"string","required":"","desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk94olautm2qx8bo0d","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk94xg2mnjnw4alypf","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk9566paqsrfqx9mk7","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk95fals8zmsirxa1","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk95o8svqhwas7tvp","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk95y26wdspfvfn33n","children":[]},{"field":"openedBy","paramsType":"string","required":"","desc":"创建人","structType":"json","sub":1,"key":"kwk967690ddf5geqegzg","children":[]},{"field":"openedDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":1,"key":"kwk96ggevpdw00iv46o","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk96nz9ct92dakrmq","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:89;O:8:"stdClass":19:{s:2:"id";s:4:"1510";s:3:"doc";s:3:"451";s:6:"module";s:3:"114";s:5:"title";s:9:"删除Bug";s:4:"path";s:9:"/bugs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:6:"DELETE";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:151:"[{"field":"message","paramsType":"string","required":true,"desc":"结果信息","structType":"json","sub":1,"key":"kwk9c8mm1zeqn7olev7","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:90;O:8:"stdClass":19:{s:2:"id";s:4:"1511";s:3:"doc";s:3:"452";s:6:"module";s:3:"113";s:5:"title";s:24:"获取产品用例列表";s:4:"path";s:23:"/products/:id/testcases";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4348:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwk9g1dojwbroymrcws","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"用例总数","structType":"json","sub":1,"key":"kwkahlaakbout0bp6fn","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页用例数","structType":"json","sub":1,"key":"kwkahlgmogbrc7psek","children":[]},{"field":"testcases","paramsType":"array","required":true,"desc":"用例列表","structType":"json","sub":1,"key":"kwkai7c6gyotx0jcuyo","children":[{"field":"id","paramsType":"int","required":true,"desc":"用例ID","structType":"json","sub":2,"key":"kwkaimzfdgn2x7b9m8r","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"product","paramsType":"int","required":"","desc":"所属产品","structType":"json","sub":2,"key":"kwkaiwknw27spdo17d","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":2,"key":"kwkamrbw5phoosjotue","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所有模块","structType":"json","sub":2,"key":"kwkan7k2pxrj00bk8ak","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关研发需求","structType":"json","sub":2,"key":"kwkanjh2c1x7mpvmsqo","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"storyVersion","paramsType":"int","required":"","desc":"需求版本","structType":"json","sub":2,"key":"kwkao2n2ft4n19f1jcu","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"title","paramsType":"string","required":"","desc":"用例标题","structType":"json","sub":2,"key":"kwkarhs99mt7mbrg2gs","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"precondition","paramsType":"string","required":"","desc":"前置条件","structType":"json","sub":2,"key":"kwkas0x38pi6gs6z4cj","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":2,"key":"kwkasbwzd2tn1leos8u","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":2,"key":"kwkaskmf0g3yfcecg0x","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"type","paramsType":"string","required":"","desc":"用例类型(feature 功能测试 | performance 性能测试 | config 配置相关 | install 安装部署 | security 安全相关 | interface 接口测试 | unit 单元测试 | other 其他)","structType":"json","sub":2,"key":"kwkassfkmsmqc55n94m","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"stage","paramsType":"string","required":"","desc":"适用阶段(unittest 单元测试阶段 | feature 功能测试阶段 | intergrate 集成测试阶段 | system 系统测试阶段 | smoke 冒烟测试阶段 | bvt 版本验证阶段)","structType":"json","sub":2,"key":"kwkavbir1xzs1p0zat8","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"status","paramsType":"object","required":"","desc":"状态","structType":"json","sub":2,"key":"kwkax2enp5573iuu8ba","parentKey":"kwkai7c6gyotx0jcuyo","children":[{"field":"code","paramsType":"string","required":"","desc":"状态编号","structType":"json","sub":3,"key":"kwkaxv4ydl52rkoa88q","parentKey":"kwkax2enp5573iuu8ba","children":[]},{"field":"name","paramsType":"string","required":"","desc":"状态名称","structType":"json","sub":3,"key":"kwkay6a25nug5uorjc9","parentKey":"kwkax2enp5573iuu8ba","children":[]}]},{"field":"openedBy","paramsType":"string","required":"","desc":"创建人","structType":"json","sub":2,"key":"kwkayfdu351ai2383im","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"openedDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":2,"key":"kwkayqk5u0rb5qof06m","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"fromBug","paramsType":"int","required":"","desc":"来自于Bug","structType":"json","sub":2,"key":"kwkaz9zrf2m6ossk686","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"fromCaseID","paramsType":"int","required":"","desc":"来自于用例","structType":"json","sub":2,"key":"kwkazwf5s3mg7p8fyr","parentKey":"kwkai7c6gyotx0jcuyo","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:91;O:8:"stdClass":19:{s:2:"id";s:4:"1505";s:3:"doc";s:3:"450";s:6:"module";s:3:"113";s:5:"title";s:12:"修改用例";s:4:"path";s:14:"/testcases/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:92;O:8:"stdClass":19:{s:2:"id";s:4:"1506";s:3:"doc";s:3:"446";s:6:"module";s:3:"113";s:5:"title";s:12:"删除用例";s:4:"path";s:14:"/testcases/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:6:"DELETE";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:150:"[{"field":"message","paramsType":"string","required":true,"desc":"结果信息","structType":"json","sub":1,"key":"kwkdlveesckcian2f3","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:93;O:8:"stdClass":19:{s:2:"id";s:4:"1507";s:3:"doc";s:3:"450";s:6:"module";s:3:"113";s:5:"title";s:12:"修改用例";s:4:"path";s:14:"/testcases/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:2277:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":false,"desc":"所属分支","structType":"json","sub":1,"key":"kwkb585nh9kq7cvquwf","children":[]},{"field":"module","paramsType":"int","required":false,"desc":"所属模块","structType":"json","sub":1,"key":"kwkb5gnh9rqsunyb7w","children":[]},{"field":"story","paramsType":"int","required":false,"desc":"所属需求","structType":"json","sub":1,"key":"kwkb5vnpernt7n7qr1","children":[]},{"field":"title","paramsType":"string","required":false,"desc":"用例标题","structType":"json","sub":1,"key":"kwkb67fcgbtqwt9t1n","children":[]},{"field":"type","paramsType":"string","required":false,"desc":"用例类型(feature 功能测试 | performance 性能测试 | config 配置相关 | install 安装部署 | security 安全相关 | interface 接口测试 | unit 单元测试 | other 其他)","structType":"json","sub":1,"key":"kwkbdbba1q8y7ciotzw","children":[]},{"field":"stage","paramsType":"string","required":"","desc":"适用阶段(unittest 单元测试阶段 | feature 功能测试阶段 | intergrate 集成测试阶段 | system 系统测试阶段 | smoke 冒烟测试阶段 | bvt 版本验证阶段)","structType":"json","sub":1,"key":"kwkbgfsltq5w0sv7p9c","children":[]},{"field":"precondition","paramsType":"string","required":"","desc":"前置条件","structType":"json","sub":1,"key":"kwkbgqjsa1jgzrmg4vn","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":1,"key":"kwkbihae0iunh2kdnnxu","children":[]},{"field":"steps","paramsType":"array","required":false,"desc":"用例步骤","structType":"json","sub":1,"key":"kwkbiv37ihuyv1ugzs","children":[{"field":"desc","paramsType":"string","required":false,"desc":"步骤","structType":"json","sub":2,"key":"kwkc323gs0rax2k3dr","parentKey":"kwkbiv37ihuyv1ugzs","children":[]},{"field":"expect","paramsType":"string","required":false,"desc":"期望","structType":"json","sub":2,"key":"kwkc2unsakue1k30x9","parentKey":"kwkbiv37ihuyv1ugzs","children":[]}]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwkbjwoa4v710jbgcms","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3054:"[{"field":"id","paramsType":"int","required":true,"desc":"用例ID","structType":"json","sub":1,"key":"kwkc2rk8pm0jqqb5p4e","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwkcew5dn6k84l1b2w","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":1,"key":"kwkcfe0icj4821ilk0a","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwkcfnyket632bglf8d","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"相关需求","structType":"json","sub":1,"key":"kwkcfxczmv2ceuh1fr","children":[]},{"field":"storyVersion","paramsType":"int","required":true,"desc":"需求版本","structType":"json","sub":1,"key":"kwkcgcbnskreyy1oltq","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":1,"key":"kwkcgtezpflujhz1lg8","children":[]},{"field":"precondition","paramsType":"string","required":true,"desc":"前置条件","structType":"json","sub":1,"key":"kwkch57jxjil6a7eise","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwkchabrzuz0zbf84b","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"用例类型(feature 功能测试 | performance 性能测试 | config 配置相关 | install 安装部署 | security 安全相关 | interface 接口测试 | unit 单元测试 | other 其他)","structType":"json","sub":1,"key":"kwkchpw4m40vhbp5z9","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"适用阶段(unittest 单元测试阶段 | feature 功能测试阶段 | intergrate 集成测试阶段 | system 系统测试阶段 | smoke 冒烟测试阶段 | bvt 版本验证阶段)","structType":"json","sub":1,"key":"kwkcihgaceclorkxpy","children":[]},{"field":"steps","paramsType":"array","required":true,"desc":"用例步骤列表","structType":"json","sub":1,"key":"kwkcissin2l8deqtjo","children":[{"field":"desc","paramsType":"string","required":true,"desc":"步骤","structType":"json","sub":2,"key":"kwkck2mbvdyprzp4ji","parentKey":"kwkcissin2l8deqtjo","children":[]},{"field":"expect","paramsType":"string","required":true,"desc":"期望","structType":"json","sub":2,"key":"kwkcjt8o3jey849nf2n","parentKey":"kwkcissin2l8deqtjo","children":[]}]},{"field":"fromBug","paramsType":"int","required":"","desc":"来自于Bug","structType":"json","sub":1,"key":"kwkcm29boc0ev1phqul","children":[]},{"field":"fromCaseID","paramsType":"int","required":"","desc":"来自于用例","structType":"json","sub":1,"key":"kwkcm7yt26ijdjj8rum","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwkcmxk7j2t3yftrf7","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwkcmxxoua9sk0sgagd","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:94;O:8:"stdClass":19:{s:2:"id";s:4:"1508";s:3:"doc";s:3:"453";s:6:"module";s:3:"113";s:5:"title";s:12:"创建用例";s:4:"path";s:23:"/products/:id/testcases";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:2272:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":false,"desc":"所属分支","structType":"json","sub":1,"key":"kwkb585nh9kq7cvquwf","children":[]},{"field":"module","paramsType":"int","required":false,"desc":"所属模块","structType":"json","sub":1,"key":"kwkb5gnh9rqsunyb7w","children":[]},{"field":"story","paramsType":"int","required":false,"desc":"所属需求","structType":"json","sub":1,"key":"kwkb5vnpernt7n7qr1","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"用例标题","structType":"json","sub":1,"key":"kwkb67fcgbtqwt9t1n","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"用例类型(feature 功能测试 | performance 性能测试 | config 配置相关 | install 安装部署 | security 安全相关 | interface 接口测试 | unit 单元测试 | other 其他)","structType":"json","sub":1,"key":"kwkbdbba1q8y7ciotzw","children":[]},{"field":"stage","paramsType":"string","required":"","desc":"适用阶段(unittest 单元测试阶段 | feature 功能测试阶段 | intergrate 集成测试阶段 | system 系统测试阶段 | smoke 冒烟测试阶段 | bvt 版本验证阶段)","structType":"json","sub":1,"key":"kwkbgfsltq5w0sv7p9c","children":[]},{"field":"precondition","paramsType":"string","required":"","desc":"前置条件","structType":"json","sub":1,"key":"kwkbgqjsa1jgzrmg4vn","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":1,"key":"kwkbihae0iunh2kdnnxu","children":[]},{"field":"steps","paramsType":"array","required":true,"desc":"用例步骤","structType":"json","sub":1,"key":"kwkbiv37ihuyv1ugzs","children":[{"field":"desc","paramsType":"string","required":true,"desc":"步骤","structType":"json","sub":2,"key":"kwkc323gs0rax2k3dr","parentKey":"kwkbiv37ihuyv1ugzs","children":[]},{"field":"expect","paramsType":"string","required":true,"desc":"期望","structType":"json","sub":2,"key":"kwkc2unsakue1k30x9","parentKey":"kwkbiv37ihuyv1ugzs","children":[]}]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwkbjwoa4v710jbgcms","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3054:"[{"field":"id","paramsType":"int","required":true,"desc":"用例ID","structType":"json","sub":1,"key":"kwkc2rk8pm0jqqb5p4e","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwkcew5dn6k84l1b2w","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":1,"key":"kwkcfe0icj4821ilk0a","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwkcfnyket632bglf8d","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"相关需求","structType":"json","sub":1,"key":"kwkcfxczmv2ceuh1fr","children":[]},{"field":"storyVersion","paramsType":"int","required":true,"desc":"需求版本","structType":"json","sub":1,"key":"kwkcgcbnskreyy1oltq","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":1,"key":"kwkcgtezpflujhz1lg8","children":[]},{"field":"precondition","paramsType":"string","required":true,"desc":"前置条件","structType":"json","sub":1,"key":"kwkch57jxjil6a7eise","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwkchabrzuz0zbf84b","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"用例类型(feature 功能测试 | performance 性能测试 | config 配置相关 | install 安装部署 | security 安全相关 | interface 接口测试 | unit 单元测试 | other 其他)","structType":"json","sub":1,"key":"kwkchpw4m40vhbp5z9","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"适用阶段(unittest 单元测试阶段 | feature 功能测试阶段 | intergrate 集成测试阶段 | system 系统测试阶段 | smoke 冒烟测试阶段 | bvt 版本验证阶段)","structType":"json","sub":1,"key":"kwkcihgaceclorkxpy","children":[]},{"field":"steps","paramsType":"array","required":true,"desc":"用例步骤列表","structType":"json","sub":1,"key":"kwkcissin2l8deqtjo","children":[{"field":"desc","paramsType":"string","required":true,"desc":"步骤","structType":"json","sub":2,"key":"kwkck2mbvdyprzp4ji","parentKey":"kwkcissin2l8deqtjo","children":[]},{"field":"expect","paramsType":"string","required":true,"desc":"期望","structType":"json","sub":2,"key":"kwkcjt8o3jey849nf2n","parentKey":"kwkcissin2l8deqtjo","children":[]}]},{"field":"fromBug","paramsType":"int","required":"","desc":"来自于Bug","structType":"json","sub":1,"key":"kwkcm29boc0ev1phqul","children":[]},{"field":"fromCaseID","paramsType":"int","required":"","desc":"来自于用例","structType":"json","sub":1,"key":"kwkcm7yt26ijdjj8rum","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwkcmxk7j2t3yftrf7","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwkcmxxoua9sk0sgagd","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:95;O:8:"stdClass":19:{s:2:"id";s:4:"1509";s:3:"doc";s:3:"453";s:6:"module";s:3:"113";s:5:"title";s:12:"创建用例";s:4:"path";s:23:"/products/:id/testcases";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:1918:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":1,"key":"kwkb585nh9kq7cvquwf","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwkb5gnh9rqsunyb7w","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"所属需求","structType":"json","sub":1,"key":"kwkb5vnpernt7n7qr1","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"用例标题","structType":"json","sub":1,"key":"kwkb67fcgbtqwt9t1n","children":[]},{"field":"type","paramsType":"string","required":"","desc":"用例类型(feature 功能测试 | performance 性能测试 | config 配置相关 | install 安装部署 | security 安全相关 | interface 接口测试 | unit 单元测试 | other 其他)","structType":"json","sub":1,"key":"kwkbdbba1q8y7ciotzw","children":[]},{"field":"stage","paramsType":"string","required":"","desc":"适用阶段(unittest 单元测试阶段 | feature 功能测试阶段 | intergrate 集成测试阶段 | system 系统测试阶段 | smoke 冒烟测试阶段 | bvt 版本验证阶段)","structType":"json","sub":1,"key":"kwkbgfsltq5w0sv7p9c","children":[]},{"field":"precondition","paramsType":"string","required":"","desc":"前置条件","structType":"json","sub":1,"key":"kwkbgqjsa1jgzrmg4vn","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":1,"key":"kwkbihae0iunh2kdnnxu","children":[]},{"field":"steps","paramsType":"array","required":"","desc":"用例步骤","structType":"json","sub":1,"key":"kwkbiv37ihuyv1ugzs","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwkbjwoa4v710jbgcms","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:96;O:8:"stdClass":19:{s:2:"id";s:4:"1512";s:3:"doc";s:3:"455";s:6:"module";s:3:"114";s:5:"title";s:9:"修改Bug";s:4:"path";s:9:"/bugs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:97;O:8:"stdClass":19:{s:2:"id";s:4:"1513";s:3:"doc";s:3:"455";s:6:"module";s:3:"114";s:5:"title";s:9:"修改Bug";s:4:"path";s:9:"/bugs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:2501:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk8aqb89rtg6cglkie","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk8bltwrldt1wgchnm","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk8bvemkvpxfdwwxy","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk8c7sybpxtka3kowi","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwk8crrf3fiqj00xivb","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk8d0a47z72hrd0o9i","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk8ddaj9c4lek4vez","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk8dmjemjpf2bn97an","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk8f6cl5ykqt41zk7s","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk8fgo4lqfxxjvdn3e","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk8fpxtwg5me792glg","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk8g0hztx0ofv70fy","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk8gemtbllui458dm","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk8gutklfhqqj3ilkf","children":[]},{"field":"openedBuild","paramsType":"array","required":"","desc":"影响版本","structType":"json","sub":1,"key":"kwk8ib5qsuuqbsf1iur","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3251:"[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":1,"key":"kwk8xdeull75i2kwmsc","children":[]},{"field":"product","paramsType":"int","required":"","desc":"所属产品","structType":"json","sub":1,"key":"kwk8xmknfik26dkmycn","children":[]},{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk922tvb2h0uasmm08","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk92jra5kpmzq4jtj5","children":[]},{"field":"project","paramsType":"int","required":"","desc":"所属项目","structType":"json","sub":1,"key":"kwk92tvgygxc0o40qo","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk9337e0ptpx29g28ln","children":[]},{"field":"toTask","paramsType":"boolean","required":"","desc":"转为任务","structType":"json","sub":1,"key":"kwk93c39rt0sgpm82no","children":[]},{"field":"toStory","paramsType":"boolean","required":"","desc":"转为需求","structType":"json","sub":1,"key":"kwk93grgd74t8m9nild","children":[]},{"field":"title","paramsType":"string","required":"","desc":"Bug标题","structType":"json","sub":1,"key":"kwk93oo1wzuqt58wwp","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键字","structType":"json","sub":1,"key":"kwk93y5cozg5crw2uyf","children":[]},{"field":"severity","paramsType":"int","required":"","desc":"严重程度","structType":"json","sub":1,"key":"kwk9476xpfedgaf852g","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":1,"key":"kwk94fp1l7dy6hzh1qq","children":[]},{"field":"type","paramsType":"string","required":"","desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk94olautm2qx8bo0d","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk94xg2mnjnw4alypf","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk9566paqsrfqx9mk7","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk95fals8zmsirxa1","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk95o8svqhwas7tvp","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk95y26wdspfvfn33n","children":[]},{"field":"openedBy","paramsType":"string","required":"","desc":"创建人","structType":"json","sub":1,"key":"kwk967690ddf5geqegzg","children":[]},{"field":"openedDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":1,"key":"kwk96ggevpdw00iv46o","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk96nz9ct92dakrmq","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:98;O:8:"stdClass":19:{s:2:"id";s:4:"1503";s:3:"doc";s:3:"447";s:6:"module";s:3:"112";s:5:"title";s:24:"获取产品计划列表";s:4:"path";s:19:"/products/:id/plans";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1837:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwkdu9u3nq24026pwgg","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"计划总数","structType":"json","sub":1,"key":"kwkdxi22uneoz4p8x08","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页计划数","structType":"json","sub":1,"key":"kwkdxv7e0j0uy24giu5o","children":[]},{"field":"plans","paramsType":"array","required":true,"desc":"计划列表","structType":"json","sub":1,"key":"kwkdy4xe4p5q26x01rr","children":[{"field":"id","paramsType":"int","required":true,"desc":"计划ID","structType":"json","sub":2,"key":"kwlhip9vn4t9nfztco","parentKey":"kwkdy4xe4p5q26x01rr","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwlhjfmq70053oa8abu","parentKey":"kwkdy4xe4p5q26x01rr","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwlhkazknb10o404to","parentKey":"kwkdy4xe4p5q26x01rr","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"计划名称","structType":"json","sub":2,"key":"kwlhkqk9ciasdit96i9","parentKey":"kwkdy4xe4p5q26x01rr","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"计划描述","structType":"json","sub":2,"key":"kwlhp0xjdbokajs0khh","parentKey":"kwkdy4xe4p5q26x01rr","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"开始日期","structType":"json","sub":2,"key":"kwlhpa2osmeebpybzlm","parentKey":"kwkdy4xe4p5q26x01rr","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"结束日期","structType":"json","sub":2,"key":"kwlhpfi39kxh5o1tltq","parentKey":"kwkdy4xe4p5q26x01rr","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:99;O:8:"stdClass":19:{s:2:"id";s:4:"1504";s:3:"doc";s:3:"449";s:6:"module";s:3:"113";s:5:"title";s:18:"获取用例详情";s:4:"path";s:14:"/testcases/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:100;O:8:"stdClass":19:{s:2:"id";s:4:"1497";s:3:"doc";s:3:"442";s:6:"module";s:3:"112";s:5:"title";s:12:"删除计划";s:4:"path";s:17:"/productsplan/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:6:"DELETE";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:151:"[{"field":"message","paramsType":"string","required":true,"desc":"结果信息","structType":"json","sub":1,"key":"kwlxic3c6pbcuxjkqvj","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:101;O:8:"stdClass":19:{s:2:"id";s:4:"1498";s:3:"doc";s:3:"445";s:6:"module";s:3:"112";s:5:"title";s:18:"获取计划详情";s:4:"path";s:17:"/productplans/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:102;O:8:"stdClass":19:{s:2:"id";s:4:"1499";s:3:"doc";s:3:"448";s:6:"module";s:3:"112";s:5:"title";s:12:"创建计划";s:4:"path";s:19:"/products/:id/plans";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:851:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":false,"desc":"所属分支","structType":"json","sub":1,"key":"kwlofhasdc5r52f3zp7","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"计划名称","structType":"json","sub":1,"key":"kwlog1lmm7va7ihz6an","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"计划开始日期","structType":"json","sub":1,"key":"kwloh88yj5u3t8kq4a","children":[]},{"field":"end","paramsType":"date","required":"","desc":"计划结束日期","structType":"json","sub":1,"key":"kwlohkkne6ybkae8336","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"计划描述","structType":"json","sub":1,"key":"kwloho1edlbudimc34","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4860:"[{"field":"id","paramsType":"int","required":true,"desc":"计划ID","structType":"json","sub":1,"key":"kwlhrcrfi2xj4a62e","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwlmz4gitedfpssasja","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属计划","structType":"json","sub":1,"key":"kwlmzc773nvr59kw736","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父计划","structType":"json","sub":1,"key":"kwlmzjztqlfbdz67yjd","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"计划名称","structType":"json","sub":1,"key":"kwlmzrpuc5w1v5hdspt","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"计划描述","structType":"json","sub":1,"key":"kwln11j3ha0x59mb88i","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwln1eiso46b54s2ynk","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwln1lq8mh88c0mh9eb","children":[]},{"field":"stories","paramsType":"array","required":true,"desc":"关联需求","structType":"json","sub":1,"key":"kwln7u0pzbm5hejg55p","children":[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":2,"key":"kwlnv2b9eaqtv1opvi9","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":2,"key":"kwlnv1ckmcorf5xh5nh","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwlnuu1rrcji72o5bp","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwlnustvp5his9hg0k8","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"需求类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":2,"key":"kwlnusdi4n7tlyrxq5i","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"需求优先级","structType":"json","sub":2,"key":"kwlnugayc1hvz68y70n","parentKey":"kwln7u0pzbm5hejg55p","children":[]}]},{"field":"bugs","paramsType":"array","required":true,"desc":"关联Bug","structType":"json","sub":1,"key":"kwln7vth71prs7ovxyx","children":[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":2,"key":"kwlo0r00wprxatyh2rr","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":2,"key":"kwlo0qwez7pl64gduo","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwlo0qrzicutoh87hkp","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":2,"key":"kwlo0qnpw1evw5zyu1r","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwlo0qin2gc4tvq62ve","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"相关需求","structType":"json","sub":2,"key":"kwlo0qe0eefu1me7yi","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":2,"key":"kwlo0q8lxzh0wwfowsb","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":2,"key":"kwlo0q4lpj91nh6pb4","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"Bug优先级","structType":"json","sub":2,"key":"kwlo0pztvmii6tauqb","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型","structType":"json","sub":2,"key":"kwlo0pvam3ulnfcmgbh","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"steps","paramsType":"string","required":true,"desc":"Bug复现步骤","structType":"json","sub":2,"key":"kwlo0phljctpu1lvu7","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"Bug状态(active 激活 | resolved 已解决 | closed 已关闭)","structType":"json","sub":2,"key":"kwlo0p3iqvltmpqdw3","parentKey":"kwln7vth71prs7ovxyx","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:103;O:8:"stdClass":19:{s:2:"id";s:4:"1500";s:3:"doc";s:3:"448";s:6:"module";s:3:"112";s:5:"title";s:12:"创建计划";s:4:"path";s:19:"/products/:id/plans";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:851:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":false,"desc":"所属分支","structType":"json","sub":1,"key":"kwlofhasdc5r52f3zp7","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"计划名称","structType":"json","sub":1,"key":"kwlog1lmm7va7ihz6an","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"计划开始日期","structType":"json","sub":1,"key":"kwloh88yj5u3t8kq4a","children":[]},{"field":"end","paramsType":"date","required":"","desc":"计划结束日期","structType":"json","sub":1,"key":"kwlohkkne6ybkae8336","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"计划描述","structType":"json","sub":1,"key":"kwloho1edlbudimc34","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4860:"[{"field":"id","paramsType":"int","required":true,"desc":"计划ID","structType":"json","sub":1,"key":"kwlhrcrfi2xj4a62e","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwlmz4gitedfpssasja","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属计划","structType":"json","sub":1,"key":"kwlmzc773nvr59kw736","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父计划","structType":"json","sub":1,"key":"kwlmzjztqlfbdz67yjd","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"计划名称","structType":"json","sub":1,"key":"kwlmzrpuc5w1v5hdspt","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"计划描述","structType":"json","sub":1,"key":"kwln11j3ha0x59mb88i","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwln1eiso46b54s2ynk","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwln1lq8mh88c0mh9eb","children":[]},{"field":"stories","paramsType":"array","required":true,"desc":"关联需求","structType":"json","sub":1,"key":"kwln7u0pzbm5hejg55p","children":[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":2,"key":"kwlnv2b9eaqtv1opvi9","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":2,"key":"kwlnv1ckmcorf5xh5nh","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwlnuu1rrcji72o5bp","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwlnustvp5his9hg0k8","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"需求类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":2,"key":"kwlnusdi4n7tlyrxq5i","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"需求优先级","structType":"json","sub":2,"key":"kwlnugayc1hvz68y70n","parentKey":"kwln7u0pzbm5hejg55p","children":[]}]},{"field":"bugs","paramsType":"array","required":true,"desc":"关联Bug","structType":"json","sub":1,"key":"kwln7vth71prs7ovxyx","children":[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":2,"key":"kwlo0r00wprxatyh2rr","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":2,"key":"kwlo0qwez7pl64gduo","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwlo0qrzicutoh87hkp","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":2,"key":"kwlo0qnpw1evw5zyu1r","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwlo0qin2gc4tvq62ve","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"相关需求","structType":"json","sub":2,"key":"kwlo0qe0eefu1me7yi","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":2,"key":"kwlo0q8lxzh0wwfowsb","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":2,"key":"kwlo0q4lpj91nh6pb4","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"Bug优先级","structType":"json","sub":2,"key":"kwlo0pztvmii6tauqb","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型","structType":"json","sub":2,"key":"kwlo0pvam3ulnfcmgbh","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"steps","paramsType":"string","required":true,"desc":"Bug复现步骤","structType":"json","sub":2,"key":"kwlo0phljctpu1lvu7","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"Bug状态(active 激活 | resolved 已解决 | closed 已关闭)","structType":"json","sub":2,"key":"kwlo0p3iqvltmpqdw3","parentKey":"kwln7vth71prs7ovxyx","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:104;O:8:"stdClass":19:{s:2:"id";s:4:"1501";s:3:"doc";s:3:"448";s:6:"module";s:3:"112";s:5:"title";s:12:"创建计划";s:4:"path";s:19:"/products/:id/plans";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1170:"[{"field":"id","paramsType":"int","required":true,"desc":"计划ID","structType":"json","sub":1,"key":"kwlhrcrfi2xj4a62e","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwlmz4gitedfpssasja","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属计划","structType":"json","sub":1,"key":"kwlmzc773nvr59kw736","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父计划","structType":"json","sub":1,"key":"kwlmzjztqlfbdz67yjd","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"计划名称","structType":"json","sub":1,"key":"kwlmzrpuc5w1v5hdspt","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"计划描述","structType":"json","sub":1,"key":"kwln11j3ha0x59mb88i","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwln1eiso46b54s2ynk","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwln1lq8mh88c0mh9eb","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:105;O:8:"stdClass":19:{s:2:"id";s:4:"1502";s:3:"doc";s:3:"454";s:6:"module";s:3:"114";s:5:"title";s:15:"获取Bug详情";s:4:"path";s:9:"/bugs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3447:"[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":1,"key":"kwk8xdeull75i2kwmsc","children":[]},{"field":"product","paramsType":"int","required":"","desc":"所属产品","structType":"json","sub":1,"key":"kwk8xmknfik26dkmycn","children":[]},{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk922tvb2h0uasmm08","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk92jra5kpmzq4jtj5","children":[]},{"field":"project","paramsType":"int","required":"","desc":"所属项目","structType":"json","sub":1,"key":"kwk92tvgygxc0o40qo","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk9337e0ptpx29g28ln","children":[]},{"field":"toTask","paramsType":"boolean","required":"","desc":"转为任务","structType":"json","sub":1,"key":"kwk93c39rt0sgpm82no","children":[]},{"field":"toStory","paramsType":"boolean","required":"","desc":"转为需求","structType":"json","sub":1,"key":"kwk93grgd74t8m9nild","children":[]},{"field":"title","paramsType":"string","required":"","desc":"Bug标题","structType":"json","sub":1,"key":"kwk93oo1wzuqt58wwp","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键字","structType":"json","sub":1,"key":"kwk93y5cozg5crw2uyf","children":[]},{"field":"severity","paramsType":"int","required":"","desc":"严重程度","structType":"json","sub":1,"key":"kwk9476xpfedgaf852g","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":1,"key":"kwk94fp1l7dy6hzh1qq","children":[]},{"field":"type","paramsType":"string","required":"","desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk94olautm2qx8bo0d","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk94xg2mnjnw4alypf","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk9566paqsrfqx9mk7","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk95fals8zmsirxa1","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk95o8svqhwas7tvp","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk95y26wdspfvfn33n","children":[]},{"field":"openedBy","paramsType":"string","required":"","desc":"创建人","structType":"json","sub":1,"key":"kwk967690ddf5geqegzg","children":[]},{"field":"openedDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":1,"key":"kwk96ggevpdw00iv46o","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk96nz9ct92dakrmq","children":[]},{"field":"status","paramsType":"string","required":"","desc":"状态(active 激活 | resolved 已解决 | closed 已关闭)","structType":"json","sub":1,"key":"kwlo9u1dnswxyo677ic","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:106;O:8:"stdClass":19:{s:2:"id";s:4:"1493";s:3:"doc";s:3:"439";s:6:"module";s:1:"0";s:5:"title";s:27:"产品计划取消关联Bug";s:4:"path";s:28:"/productplans/:id/unlinkbugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:285:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"bugs","paramsType":"array","required":true,"desc":"取消关联的Bug ID,比如 [1, 2]","structType":"json","sub":1,"key":"kwmxfdfiy4iqik4b1x","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:107;O:8:"stdClass":19:{s:2:"id";s:4:"1494";s:3:"doc";s:3:"443";s:6:"module";s:3:"112";s:5:"title";s:24:"产品计划关联需求";s:4:"path";s:29:"/productplans/:id/linkstories";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:287:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"stories","paramsType":"array","required":"","desc":"新增关联的需求,比如 [1, 2]","structType":"json","sub":1,"key":"kwmx6dfdg2j09r3dkrg","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4860:"[{"field":"id","paramsType":"int","required":true,"desc":"计划ID","structType":"json","sub":1,"key":"kwlhrcrfi2xj4a62e","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwlmz4gitedfpssasja","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属计划","structType":"json","sub":1,"key":"kwlmzc773nvr59kw736","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父计划","structType":"json","sub":1,"key":"kwlmzjztqlfbdz67yjd","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"计划名称","structType":"json","sub":1,"key":"kwlmzrpuc5w1v5hdspt","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"计划描述","structType":"json","sub":1,"key":"kwln11j3ha0x59mb88i","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwln1eiso46b54s2ynk","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwln1lq8mh88c0mh9eb","children":[]},{"field":"stories","paramsType":"array","required":true,"desc":"关联需求","structType":"json","sub":1,"key":"kwln7u0pzbm5hejg55p","children":[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":2,"key":"kwlnv2b9eaqtv1opvi9","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":2,"key":"kwlnv1ckmcorf5xh5nh","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwlnuu1rrcji72o5bp","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwlnustvp5his9hg0k8","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"需求类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":2,"key":"kwlnusdi4n7tlyrxq5i","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"需求优先级","structType":"json","sub":2,"key":"kwlnugayc1hvz68y70n","parentKey":"kwln7u0pzbm5hejg55p","children":[]}]},{"field":"bugs","paramsType":"array","required":true,"desc":"关联Bug","structType":"json","sub":1,"key":"kwln7vth71prs7ovxyx","children":[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":2,"key":"kwlo0r00wprxatyh2rr","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":2,"key":"kwlo0qwez7pl64gduo","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwlo0qrzicutoh87hkp","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":2,"key":"kwlo0qnpw1evw5zyu1r","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwlo0qin2gc4tvq62ve","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"相关需求","structType":"json","sub":2,"key":"kwlo0qe0eefu1me7yi","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":2,"key":"kwlo0q8lxzh0wwfowsb","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":2,"key":"kwlo0q4lpj91nh6pb4","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"Bug优先级","structType":"json","sub":2,"key":"kwlo0pztvmii6tauqb","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型","structType":"json","sub":2,"key":"kwlo0pvam3ulnfcmgbh","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"steps","paramsType":"string","required":true,"desc":"Bug复现步骤","structType":"json","sub":2,"key":"kwlo0phljctpu1lvu7","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"Bug状态(active 激活 | resolved 已解决 | closed 已关闭)","structType":"json","sub":2,"key":"kwlo0p3iqvltmpqdw3","parentKey":"kwln7vth71prs7ovxyx","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:108;O:8:"stdClass":19:{s:2:"id";s:4:"1496";s:3:"doc";s:3:"444";s:6:"module";s:3:"112";s:5:"title";s:12:"修改计划";s:4:"path";s:17:"/productplans/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:116:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:109;O:8:"stdClass":19:{s:2:"id";s:4:"1495";s:3:"doc";s:3:"443";s:6:"module";s:1:"0";s:5:"title";s:24:"产品计划关联需求";s:4:"path";s:29:"/productplans/:id/linkstories";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:287:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"stories","paramsType":"array","required":"","desc":"新增关联的需求,比如 [1, 2]","structType":"json","sub":1,"key":"kwmx6dfdg2j09r3dkrg","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:110;O:8:"stdClass":19:{s:2:"id";s:4:"1491";s:3:"doc";s:3:"441";s:6:"module";s:1:"0";s:5:"title";s:30:"产品计划取消关联需求";s:4:"path";s:31:"/productplans/:id/unlinkstories";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:290:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"stories","paramsType":"array","required":true,"desc":"取消关联的需求ID,比如 [1, 2]","structType":"json","sub":1,"key":"kwmx9dutojxd449eo2","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:111;O:8:"stdClass":19:{s:2:"id";s:4:"1492";s:3:"doc";s:3:"440";s:6:"module";s:1:"0";s:5:"title";s:21:"产品计划关联Bug";s:4:"path";s:22:"/products/:id/linkBugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:219:"{"header":[],"params":[{"field":"bugs","paramsType":"array","required":true,"desc":"关联的Bug ID,比如 [1, 2]","structType":"formData","sub":1,"key":"kwmxbsyeboy1wo7i21","children":[]}],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:112;O:8:"stdClass":19:{s:2:"id";s:4:"1490";s:3:"doc";s:3:"441";s:6:"module";s:3:"112";s:5:"title";s:30:"产品计划取消关联需求";s:4:"path";s:31:"/productplans/:id/unlinkstories";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:290:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"stories","paramsType":"array","required":true,"desc":"取消关联的需求ID,比如 [1, 2]","structType":"json","sub":1,"key":"kwmx9dutojxd449eo2","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4860:"[{"field":"id","paramsType":"int","required":true,"desc":"计划ID","structType":"json","sub":1,"key":"kwlhrcrfi2xj4a62e","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwlmz4gitedfpssasja","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属计划","structType":"json","sub":1,"key":"kwlmzc773nvr59kw736","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父计划","structType":"json","sub":1,"key":"kwlmzjztqlfbdz67yjd","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"计划名称","structType":"json","sub":1,"key":"kwlmzrpuc5w1v5hdspt","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"计划描述","structType":"json","sub":1,"key":"kwln11j3ha0x59mb88i","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwln1eiso46b54s2ynk","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwln1lq8mh88c0mh9eb","children":[]},{"field":"stories","paramsType":"array","required":true,"desc":"关联需求","structType":"json","sub":1,"key":"kwln7u0pzbm5hejg55p","children":[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":2,"key":"kwlnv2b9eaqtv1opvi9","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":2,"key":"kwlnv1ckmcorf5xh5nh","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwlnuu1rrcji72o5bp","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwlnustvp5his9hg0k8","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"需求类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":2,"key":"kwlnusdi4n7tlyrxq5i","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"需求优先级","structType":"json","sub":2,"key":"kwlnugayc1hvz68y70n","parentKey":"kwln7u0pzbm5hejg55p","children":[]}]},{"field":"bugs","paramsType":"array","required":true,"desc":"关联Bug","structType":"json","sub":1,"key":"kwln7vth71prs7ovxyx","children":[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":2,"key":"kwlo0r00wprxatyh2rr","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":2,"key":"kwlo0qwez7pl64gduo","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwlo0qrzicutoh87hkp","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":2,"key":"kwlo0qnpw1evw5zyu1r","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwlo0qin2gc4tvq62ve","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"相关需求","structType":"json","sub":2,"key":"kwlo0qe0eefu1me7yi","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":2,"key":"kwlo0q8lxzh0wwfowsb","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":2,"key":"kwlo0q4lpj91nh6pb4","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"Bug优先级","structType":"json","sub":2,"key":"kwlo0pztvmii6tauqb","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型","structType":"json","sub":2,"key":"kwlo0pvam3ulnfcmgbh","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"steps","paramsType":"string","required":true,"desc":"Bug复现步骤","structType":"json","sub":2,"key":"kwlo0phljctpu1lvu7","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"Bug状态(active 激活 | resolved 已解决 | closed 已关闭)","structType":"json","sub":2,"key":"kwlo0p3iqvltmpqdw3","parentKey":"kwln7vth71prs7ovxyx","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:113;O:8:"stdClass":19:{s:2:"id";s:4:"1486";s:3:"doc";s:3:"437";s:6:"module";s:3:"109";s:5:"title";s:24:"获取项目版本列表";s:4:"path";s:20:"/projects/:id/builds";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2280:"[{"field":"total","paramsType":"int","required":true,"desc":"版本总数","structType":"json","sub":1,"key":"kwmyb8ah69n34ud7byj","children":[]},{"field":"builds","paramsType":"array","required":true,"desc":"版本列表","structType":"json","sub":1,"key":"kwmyfzso9xlwrewva09","children":[{"field":"id","paramsType":"int","required":true,"desc":"版本ID","structType":"json","sub":2,"key":"kwmyg8wtmjt3nozwbg","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwmygixbcmxd4muro6n","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwmyguwt460u2kk0prv","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwmyh5h4gmzu0a1wcfo","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwmytj1w34spkshhkvh","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"版本名称","structType":"json","sub":2,"key":"kwmytschv6r9wxvsyu","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"scmPath","paramsType":"string","required":false,"desc":"源代码地址","structType":"json","sub":2,"key":"kwmyu6z4bqhsow6lj85","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"filePath","paramsType":"string","required":"","desc":"下载地址","structType":"json","sub":2,"key":"kwmyup6xrfdcxg37ka9","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"date","paramsType":"date","required":true,"desc":"打包日期","structType":"json","sub":2,"key":"kwmyv13p7r29ufidypd","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"builder","paramsType":"string","required":true,"desc":"构建者","structType":"json","sub":2,"key":"kwn0gspeyiwvehtcoul","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"版本描述","structType":"json","sub":2,"key":"kwn0hyd6pgkz36ecip","parentKey":"kwmyfzso9xlwrewva09","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:114;O:8:"stdClass":19:{s:2:"id";s:4:"1489";s:3:"doc";s:3:"437";s:6:"module";s:3:"109";s:5:"title";s:24:"获取项目版本列表";s:4:"path";s:20:"/projects/:id/builds";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2271:"[{"field":"total","paramsType":"int","required":true,"desc":"版本总数","structType":"json","sub":1,"key":"kwmyb8ah69n34ud7byj","children":[]},{"field":"builds","paramsType":"array","required":true,"desc":"版本列表","structType":"json","sub":1,"key":"kwmyfzso9xlwrewva09","children":[{"field":"id","paramsType":"int","required":true,"desc":"版本ID","structType":"json","sub":2,"key":"kwmyg8wtmjt3nozwbg","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwmygixbcmxd4muro6n","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwmyguwt460u2kk0prv","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwmyh5h4gmzu0a1wcfo","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwmytj1w34spkshhkvh","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"版本名称","structType":"json","sub":2,"key":"kwmytschv6r9wxvsyu","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"scmPath","paramsType":"string","required":"","desc":"源代码地址","structType":"json","sub":2,"key":"kwmyu6z4bqhsow6lj85","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"filePath","paramsType":"string","required":"","desc":"下载地址","structType":"json","sub":2,"key":"kwmyup6xrfdcxg37ka9","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"date","paramsType":"date","required":"","desc":"打包日期","structType":"json","sub":2,"key":"kwmyv13p7r29ufidypd","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"builder","paramsType":"string","required":"","desc":"构建者","structType":"json","sub":2,"key":"kwn0gspeyiwvehtcoul","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"版本描述","structType":"json","sub":2,"key":"kwn0hyd6pgkz36ecip","parentKey":"kwmyfzso9xlwrewva09","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:115;O:8:"stdClass":19:{s:2:"id";s:4:"1487";s:3:"doc";s:3:"438";s:6:"module";s:3:"109";s:5:"title";s:24:"获取执行版本列表";s:4:"path";s:22:"/executions/:id/builds";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:116;O:8:"stdClass":19:{s:2:"id";s:4:"1488";s:3:"doc";s:3:"436";s:6:"module";s:3:"109";s:5:"title";s:12:"创建版本";s:4:"path";s:24:"/projects/:id/executions";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:1474:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"formData","sub":1,"key":"kwn2hke2m16i7h452cb","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"formData","sub":1,"key":"kwn2l3dui8vpwwx9y8f","children":[]},{"field":"branch","paramsType":"int","required":false,"desc":"所属分支","structType":"formData","sub":1,"key":"kwn2lkz5au17o6goi1o","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"版本名称","structType":"formData","sub":1,"key":"kwn2nomwzdoima7e2hb","children":[]},{"field":"builder","paramsType":"string","required":true,"desc":"构建者","structType":"formData","sub":1,"key":"kwn36kwqb4zzjppzwv7","children":[]},{"field":"date","paramsType":"date","required":"","desc":"打包日期","structType":"formData","sub":1,"key":"kwn374he8b8lbg24sze","children":[]},{"field":"scmPath","paramsType":"string","required":"","desc":"源代码地址","structType":"formData","sub":1,"key":"kwn37q7exee3380qxw","children":[]},{"field":"filePath","paramsType":"string","required":"","desc":"下载地址","structType":"formData","sub":1,"key":"kwn38kxvzw8oql3u0qh","children":[]},{"field":"desc","paramsType":"string","required":false,"desc":"版本描述","structType":"formData","sub":1,"key":"kwn39igbbcz2nsjctqr","children":[]}],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1643:"[{"field":"id","paramsType":"int","required":true,"desc":"版本ID","structType":"json","sub":1,"key":"kwn2hke96i5njkoy06m","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwn3iu5ilw20yqn6gao","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwn3jaea9a00bqeziw","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属产品分支(主分支为0)","structType":"json","sub":1,"key":"kwn3jkc5xrijl3g11rg","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwn3jzf0144tenen2fal","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"版本名称","structType":"json","sub":1,"key":"kwn3kjjk0v3i8tduutf","children":[]},{"field":"scmPath","paramsType":"string","required":true,"desc":"源代码地址","structType":"json","sub":1,"key":"kwn3kyosy9ygwek0o2s","children":[]},{"field":"filePath","paramsType":"string","required":true,"desc":"下载地址","structType":"json","sub":1,"key":"kwn3l8b97lgsvxg2xd5","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"版本描述","structType":"json","sub":1,"key":"kwn3lgm8punjni3qcdc","children":[]},{"field":"builder","paramsType":"string","required":true,"desc":"构建者","structType":"json","sub":1,"key":"kwn3m6hi7t4ywwrh596","children":[]},{"field":"date","paramsType":"date","required":true,"desc":"打包日期","structType":"json","sub":1,"key":"kwn3mcpyk6lwlh5msa8","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:117;O:8:"stdClass":19:{s:2:"id";s:4:"1475";s:3:"doc";s:3:"428";s:6:"module";s:3:"108";s:5:"title";s:18:"获取我的信息";s:4:"path";s:5:"/user";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2875:"[{"field":"profile","paramsType":"object","required":true,"desc":"","structType":"json","sub":1,"key":"kwojur4idf2tpw1bkbe","children":[{"field":"id","paramsType":"int","required":true,"desc":"用户编号","structType":"json","sub":2,"key":"kwok6cs05lxpmx6y6rr","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"类型(inside 内部用户 | outside 外部用户)","structType":"json","sub":2,"key":"kwok6og0ahx6f597mrd","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"dept","paramsType":"int","required":true,"desc":"所属部门","structType":"json","sub":2,"key":"kwok7dh7htxbxpri6vd","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"account","paramsType":"string","required":true,"desc":"用户名","structType":"json","sub":2,"key":"kwok7nqb31mthbt314r","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"realname","paramsType":"string","required":true,"desc":"真实姓名","structType":"json","sub":2,"key":"kwok7zsnesbib3xqyoe","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"nickname","paramsType":"string","required":"","desc":"昵称","structType":"json","sub":2,"key":"kwok8cwjolnijrajn1","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"avatar","paramsType":"string","required":"","desc":"头像","structType":"json","sub":2,"key":"kwok8rkw8a2qaxo6zmg","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"birthday","paramsType":"date","required":"","desc":"生日","structType":"json","sub":2,"key":"kwok8zxnqkju8zu00v","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"gender","paramsType":"string","required":"","desc":"性别(f 女性 | m 男性)","structType":"json","sub":2,"key":"kwok9agk5itm5fdge68","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"mobile","paramsType":"string","required":"","desc":"手机号码","structType":"json","sub":2,"key":"kwok9rg5pat2s9dtj1","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"phone","paramsType":"string","required":"","desc":"电话号码","structType":"json","sub":2,"key":"kwok9zaqjcudthvaepl","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"weixin","paramsType":"string","required":"","desc":"微信号码","structType":"json","sub":2,"key":"kwokab6bp730tfrb0d","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"address","paramsType":"string","required":"","desc":"住址","structType":"json","sub":2,"key":"kwokau91tuhpeglrsf8","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"join","paramsType":"date","required":"","desc":"加入日期","structType":"json","sub":2,"key":"kwokb1tdzkuodmano","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"admin","paramsType":"boolean","required":true,"desc":"是否管理员","structType":"json","sub":2,"key":"kwokby1uzx691aq2per","parentKey":"kwojur4idf2tpw1bkbe","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:118;O:8:"stdClass":19:{s:2:"id";s:4:"1484";s:3:"doc";s:3:"435";s:6:"module";s:3:"109";s:5:"title";s:12:"修改版本";s:4:"path";s:11:"/builds/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:116:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:119;O:8:"stdClass":19:{s:2:"id";s:4:"1485";s:3:"doc";s:3:"434";s:6:"module";s:3:"109";s:5:"title";s:18:"获取版本详情";s:4:"path";s:11:"/builds/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:116:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:120;O:8:"stdClass":19:{s:2:"id";s:4:"1483";s:3:"doc";s:3:"433";s:6:"module";s:3:"110";s:5:"title";s:21:"获取测试单列表";s:4:"path";s:17:"/producttesttasks";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:348:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[{"field":"page","required":false,"desc":"当前页数,默认为1"},{"field":"limit","required":false,"desc":"每页测试单数,默认20个"},{"field":"order","required":false,"desc":"排序,默认 id_desc 按照id倒序"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3134:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页面","structType":"json","sub":1,"key":"kwo8ucgi1qbiaae0r5g","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"Bug总数","structType":"json","sub":1,"key":"kwo8ylqaacg8y7cb8b","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页Bug数","structType":"json","sub":1,"key":"kwo9046hkmpcyzx2v4g","children":[]},{"field":"testtasks","paramsType":"array","required":true,"desc":"测试单列表","structType":"json","sub":1,"key":"kwo90jo2wiqkcj2scf","children":[{"field":"id","paramsType":"int","required":true,"desc":"测试单编号","structType":"json","sub":2,"key":"kwo9188usj7n1ypugb8","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwo91fs9wlmq36edrq","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwo91gbs4lbogx6x3n7","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"测试单名称","structType":"json","sub":2,"key":"kwo91goa75b2azrowyj","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwo923z994jrii35ild","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"build","paramsType":"int","required":true,"desc":"所属版本","structType":"json","sub":2,"key":"kwo9244im88g3ytyoji","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"type","paramsType":"string","required":"","desc":"类型","structType":"json","sub":2,"key":"kwo92gxzu39f8r2oec8","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"owner","paramsType":"string","required":"","desc":"负责人","structType":"json","sub":2,"key":"kwo92hhy3l0aft9p0ws","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":2,"key":"kwo93wl5werxqr8dobr","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"开始日期","structType":"json","sub":2,"key":"kwo94u9sz3j1xwiusrl","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"end","paramsType":"date","required":"","desc":"结束日期","structType":"json","sub":2,"key":"kwo950hwe55wyfih99t","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"描述","structType":"json","sub":2,"key":"kwo95vdgd2ftem8xbxq","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已关闭 | blocked 被阻塞)","structType":"json","sub":2,"key":"kwo968gmepovbs7hvxu","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwo986kmt9w834kdmzs","parentKey":"kwo90jo2wiqkcj2scf","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:121;O:8:"stdClass":19:{s:2:"id";s:4:"1479";s:3:"doc";s:3:"429";s:6:"module";s:3:"110";s:5:"title";s:21:"获取测试单详情";s:4:"path";s:14:"/testtasks/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:122;O:8:"stdClass":19:{s:2:"id";s:4:"1480";s:3:"doc";s:3:"429";s:6:"module";s:3:"110";s:5:"title";s:21:"获取测试单详情";s:4:"path";s:14:"/testtasks/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1849:"[{"field":"id","paramsType":"int","required":true,"desc":"测试单编号","structType":"json","sub":1,"key":"kwohs2y3qvmtjra64a","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwoi42b454iu4jm0gy2","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwoi4d86f1dtrl88ivw","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"测试单名称","structType":"json","sub":1,"key":"kwoi4y4umklckqtw02s","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwoi5dao0i9y2m9l7byb","children":[]},{"field":"build","paramsType":"int","required":true,"desc":"所属版本","structType":"json","sub":1,"key":"kwoi5pkrmti70ofie28","children":[]},{"field":"type","paramsType":"string","required":"","desc":"类型(integrate 集成测试 | system 系统测试 | acceptance 验收测试 | performance 性能测试 | safety 安全测试)","structType":"json","sub":1,"key":"kwoi60vq1qds4eic0tz","children":[]},{"field":"owner","paramsType":"string","required":"","desc":"负责人","structType":"json","sub":1,"key":"kwoi9orjbpmdakv07yl","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":1,"key":"kwoigqrt0dz13j7aaq4","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"开始日期","structType":"json","sub":1,"key":"kwoih8m0gxlep05qzd","children":[]},{"field":"end","paramsType":"date","required":"","desc":"结束日期","structType":"json","sub":1,"key":"kwoihh018oo0afnumpa","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"描述","structType":"json","sub":1,"key":"kwoihnqfavvu8h5qvgw","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:123;O:8:"stdClass":19:{s:2:"id";s:4:"1481";s:3:"doc";s:3:"432";s:6:"module";s:3:"109";s:5:"title";s:12:"删除版本";s:4:"path";s:11:"/builds/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:6:"DELETE";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:151:"[{"field":"message","paramsType":"string","required":true,"desc":"结果信息","structType":"json","sub":1,"key":"kwo7byji89l4i5wg66o","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:124;O:8:"stdClass":19:{s:2:"id";s:4:"1482";s:3:"doc";s:3:"433";s:6:"module";s:3:"110";s:5:"title";s:21:"获取测试单列表";s:4:"path";s:10:"/testtasks";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3134:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页面","structType":"json","sub":1,"key":"kwo8ucgi1qbiaae0r5g","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"Bug总数","structType":"json","sub":1,"key":"kwo8ylqaacg8y7cb8b","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页Bug数","structType":"json","sub":1,"key":"kwo9046hkmpcyzx2v4g","children":[]},{"field":"testtasks","paramsType":"array","required":true,"desc":"测试单列表","structType":"json","sub":1,"key":"kwo90jo2wiqkcj2scf","children":[{"field":"id","paramsType":"int","required":true,"desc":"测试单编号","structType":"json","sub":2,"key":"kwo9188usj7n1ypugb8","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwo91fs9wlmq36edrq","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwo91gbs4lbogx6x3n7","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"测试单名称","structType":"json","sub":2,"key":"kwo91goa75b2azrowyj","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwo923z994jrii35ild","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"build","paramsType":"int","required":true,"desc":"所属版本","structType":"json","sub":2,"key":"kwo9244im88g3ytyoji","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"type","paramsType":"string","required":"","desc":"类型","structType":"json","sub":2,"key":"kwo92gxzu39f8r2oec8","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"owner","paramsType":"string","required":"","desc":"负责人","structType":"json","sub":2,"key":"kwo92hhy3l0aft9p0ws","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":2,"key":"kwo93wl5werxqr8dobr","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"开始日期","structType":"json","sub":2,"key":"kwo94u9sz3j1xwiusrl","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"end","paramsType":"date","required":"","desc":"结束日期","structType":"json","sub":2,"key":"kwo950hwe55wyfih99t","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"描述","structType":"json","sub":2,"key":"kwo95vdgd2ftem8xbxq","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已关闭 | blocked 被阻塞)","structType":"json","sub":2,"key":"kwo968gmepovbs7hvxu","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwo986kmt9w834kdmzs","parentKey":"kwo90jo2wiqkcj2scf","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:125;O:8:"stdClass":19:{s:2:"id";s:4:"1476";s:3:"doc";s:3:"430";s:6:"module";s:3:"111";s:5:"title";s:24:"获取产品发布列表";s:4:"path";s:22:"/products/:id/releases";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1922:"[{"field":"total","paramsType":"int","required":true,"desc":"发布总数","structType":"json","sub":1,"key":"kwoitgd8i6d4ereus2r","children":[]},{"field":"releases","paramsType":"array","required":true,"desc":"发布列表","structType":"json","sub":1,"key":"kwoix2ay87a7rvwc50o","children":[{"field":"id","paramsType":"int","required":"","desc":"发布编号","structType":"json","sub":2,"key":"kwoixo68mf68m49r4","parentKey":"kwoix2ay87a7rvwc50o","children":[]},{"field":"project","paramsType":"int","required":"","desc":"所属项目","structType":"json","sub":2,"key":"kwoj0p620tjei4sseipn","parentKey":"kwoix2ay87a7rvwc50o","children":[]},{"field":"product","paramsType":"int","required":"","desc":"所属产品","structType":"json","sub":2,"key":"kwoj0yeg796dwhrt5i2","parentKey":"kwoix2ay87a7rvwc50o","children":[]},{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":2,"key":"kwoj166tm1vkys8lkdn","parentKey":"kwoix2ay87a7rvwc50o","children":[]},{"field":"build","paramsType":"int","required":"","desc":"所属版本","structType":"json","sub":2,"key":"kwoj1fhpegz8347bce","parentKey":"kwoix2ay87a7rvwc50o","children":[]},{"field":"name","paramsType":"string","required":"","desc":"发布名称","structType":"json","sub":2,"key":"kwoj1qcorzww56dwb","parentKey":"kwoix2ay87a7rvwc50o","children":[]},{"field":"date","paramsType":"date","required":"","desc":"发布日期","structType":"json","sub":2,"key":"kwoj1xztoy69p6pzbz8","parentKey":"kwoix2ay87a7rvwc50o","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"描述","structType":"json","sub":2,"key":"kwoj2nf2roxjds47o0a","parentKey":"kwoix2ay87a7rvwc50o","children":[]},{"field":"status","paramsType":"string","required":"","desc":"状态(normal 正常 | terminate 停止维护)","structType":"json","sub":2,"key":"kwoj3ep06mmsacezqxb","parentKey":"kwoix2ay87a7rvwc50o","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:126;O:8:"stdClass":19:{s:2:"id";s:4:"1477";s:3:"doc";s:3:"431";s:6:"module";s:3:"110";s:5:"title";s:24:"获取项目的测试单";s:4:"path";s:23:"/projects/:id/testtasks";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:127;O:8:"stdClass":19:{s:2:"id";s:4:"1478";s:3:"doc";s:3:"433";s:6:"module";s:3:"110";s:5:"title";s:21:"获取测试单列表";s:4:"path";s:17:"/producttesttasks";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:459:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[{"field":"page","required":false,"desc":"当前页数,默认为1"},{"field":"limit","required":false,"desc":"每页测试单数,默认20个"},{"field":"order","required":false,"desc":"排序,默认 id_desc 按照id倒序"},{"field":"product","required":"","desc":"所属产品"},{"field":"branch","required":"","desc":"所属分支"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3134:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页面","structType":"json","sub":1,"key":"kwo8ucgi1qbiaae0r5g","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"Bug总数","structType":"json","sub":1,"key":"kwo8ylqaacg8y7cb8b","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页Bug数","structType":"json","sub":1,"key":"kwo9046hkmpcyzx2v4g","children":[]},{"field":"testtasks","paramsType":"array","required":true,"desc":"测试单列表","structType":"json","sub":1,"key":"kwo90jo2wiqkcj2scf","children":[{"field":"id","paramsType":"int","required":true,"desc":"测试单编号","structType":"json","sub":2,"key":"kwo9188usj7n1ypugb8","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwo91fs9wlmq36edrq","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwo91gbs4lbogx6x3n7","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"测试单名称","structType":"json","sub":2,"key":"kwo91goa75b2azrowyj","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwo923z994jrii35ild","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"build","paramsType":"int","required":true,"desc":"所属版本","structType":"json","sub":2,"key":"kwo9244im88g3ytyoji","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"type","paramsType":"string","required":"","desc":"类型","structType":"json","sub":2,"key":"kwo92gxzu39f8r2oec8","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"owner","paramsType":"string","required":"","desc":"负责人","structType":"json","sub":2,"key":"kwo92hhy3l0aft9p0ws","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":2,"key":"kwo93wl5werxqr8dobr","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"开始日期","structType":"json","sub":2,"key":"kwo94u9sz3j1xwiusrl","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"end","paramsType":"date","required":"","desc":"结束日期","structType":"json","sub":2,"key":"kwo950hwe55wyfih99t","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"描述","structType":"json","sub":2,"key":"kwo95vdgd2ftem8xbxq","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已关闭 | blocked 被阻塞)","structType":"json","sub":2,"key":"kwo968gmepovbs7hvxu","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwo986kmt9w834kdmzs","parentKey":"kwo90jo2wiqkcj2scf","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:128;O:8:"stdClass":19:{s:2:"id";s:4:"1472";s:3:"doc";s:3:"426";s:6:"module";s:3:"108";s:5:"title";s:18:"获取用户信息";s:4:"path";s:10:"/users/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2208:"[{"field":"id","paramsType":"int","required":true,"desc":"用户编号","structType":"json","sub":1,"key":"kwokmq24kmolleus9x9","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"类型(inside 内部用户 | outside 外部用户)","structType":"json","sub":1,"key":"kwokrgreuuuyzj5c49","children":[]},{"field":"dept","paramsType":"int","required":true,"desc":"所属部门","structType":"json","sub":1,"key":"kwoks11oshvdjjpzmh","children":[]},{"field":"account","paramsType":"string","required":true,"desc":"用户名","structType":"json","sub":1,"key":"kwoksascw5wdxcs105","children":[]},{"field":"role","paramsType":"string","required":true,"desc":"角色","structType":"json","sub":1,"key":"kwoksp2qtxhke2b7cxg","children":[]},{"field":"realname","paramsType":"string","required":true,"desc":"真实姓名","structType":"json","sub":1,"key":"kwokt0i49jk6okyn5ka","children":[]},{"field":"nickname","paramsType":"string","required":"","desc":"昵称","structType":"json","sub":1,"key":"kwoktbs7holvbwi4jou","children":[]},{"field":"avatar","paramsType":"string","required":"","desc":"头像","structType":"json","sub":1,"key":"kwoktj7s3gj6nw8den1","children":[]},{"field":"birthday","paramsType":"date","required":"","desc":"生日","structType":"json","sub":1,"key":"kwoktuj281h3lt16ffh","children":[]},{"field":"gender","paramsType":"string","required":"","desc":"性别(f 女性 | m 男性)","structType":"json","sub":1,"key":"kwoku4lbjkh9agwwanj","children":[]},{"field":"email","paramsType":"string","required":"","desc":"邮箱","structType":"json","sub":1,"key":"kwokujyylq66r5u7ysr","children":[]},{"field":"mobile","paramsType":"string","required":"","desc":"手机号","structType":"json","sub":1,"key":"kwokus0te91bm0uvsyu","children":[]},{"field":"phone","paramsType":"string","required":"","desc":"电话号","structType":"json","sub":1,"key":"kwokvahwulyb6p9xi2p","children":[]},{"field":"weixin","paramsType":"string","required":"","desc":"微信号","structType":"json","sub":1,"key":"kwokx3nt6jded4mka4j","children":[]},{"field":"join","paramsType":"date","required":"","desc":"加入日期","structType":"json","sub":1,"key":"kwokxdwdqrd418iuh6","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:129;O:8:"stdClass":19:{s:2:"id";s:4:"1473";s:3:"doc";s:3:"424";s:6:"module";s:3:"108";s:5:"title";s:18:"修改用户信息";s:4:"path";s:10:"/users/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:993:"{"header":[{"field":"Token","required":true,"desc":"认证凭证"}],"params":[{"field":"dept","paramsType":"int","required":false,"desc":"所属部门","structType":"formData","sub":1,"key":"kwokybar4esd0jcjxnn","children":[]},{"field":"role","paramsType":"string","required":"","desc":"角色","structType":"formData","sub":1,"key":"kwolfs4ejv8rpfxwxi","children":[]},{"field":"mobile","paramsType":"string","required":"","desc":"手机号","structType":"formData","sub":1,"key":"kwolg35t6c62lq7xl3f","children":[]},{"field":"realname","paramsType":"string","required":"","desc":"真实姓名","structType":"formData","sub":1,"key":"kwolgbtpo9gn6aeyu1m","children":[]},{"field":"email","paramsType":"string","required":"","desc":"邮箱","structType":"formData","sub":1,"key":"kwolgncl0r147rnb6gpe","children":[]},{"field":"phone","paramsType":"string","required":"","desc":"电话号码","structType":"formData","sub":1,"key":"kwolgyqz0ps10l1rc4e","children":[]}],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:130;O:8:"stdClass":19:{s:2:"id";s:4:"1474";s:3:"doc";s:3:"427";s:6:"module";s:3:"111";s:5:"title";s:24:"获取项目发布列表";s:4:"path";s:22:"/projects/:id/releases";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:131;O:8:"stdClass":19:{s:2:"id";s:4:"1470";s:3:"doc";s:3:"422";s:6:"module";s:3:"108";s:5:"title";s:12:"删除用户";s:4:"path";s:10:"/users/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:6:"DELETE";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:151:"[{"field":"message","paramsType":"string","required":true,"desc":"结果信息","structType":"json","sub":1,"key":"kwon2kh7itd8zwes7no","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:132;O:8:"stdClass":19:{s:2:"id";s:4:"1471";s:3:"doc";s:3:"425";s:6:"module";s:3:"108";s:5:"title";s:18:"获取用户列表";s:4:"path";s:6:"/users";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:225:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[{"field":"page","required":true,"desc":"当前页数"},{"field":"limit","required":true,"desc":"每页用户数"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1649:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwokiko3tqr7zhsdid","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"用户总数","structType":"json","sub":1,"key":"kwokjkhdr8n8tswzih","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页用户数","structType":"json","sub":1,"key":"kwokjrgscuffi7jg4z","children":[]},{"field":"users","paramsType":"array","required":true,"desc":"用户列表","structType":"json","sub":1,"key":"kwokk4toesq4391ph7r","children":[{"field":"id","paramsType":"int","required":true,"desc":"用户编号","structType":"json","sub":2,"key":"kwokkfl6o5svxnpzula","parentKey":"kwokk4toesq4391ph7r","children":[]},{"field":"dept","paramsType":"int","required":true,"desc":"所属部门","structType":"json","sub":2,"key":"kwokkkhmgrv4fegsr9","parentKey":"kwokk4toesq4391ph7r","children":[]},{"field":"account","paramsType":"string","required":true,"desc":"用户名","structType":"json","sub":2,"key":"kwokl0ng7td5nvyc7gq","parentKey":"kwokk4toesq4391ph7r","children":[]},{"field":"realname","paramsType":"string","required":true,"desc":"真实姓名","structType":"json","sub":2,"key":"kwokl9uxlprwwwqh91r","parentKey":"kwokk4toesq4391ph7r","children":[]},{"field":"role","paramsType":"string","required":false,"desc":"角色","structType":"json","sub":2,"key":"kwokliwf9cm0f6f4k16","parentKey":"kwokk4toesq4391ph7r","children":[]},{"field":"email","paramsType":"string","required":"","desc":"邮箱","structType":"json","sub":2,"key":"kwoklrpr2krc5ajrbj","parentKey":"kwokk4toesq4391ph7r","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:133;O:8:"stdClass":19:{s:2:"id";s:4:"1468";s:3:"doc";s:3:"428";s:6:"module";s:3:"108";s:5:"title";s:24:"获取我的个人信息";s:4:"path";s:5:"/user";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2875:"[{"field":"profile","paramsType":"object","required":true,"desc":"","structType":"json","sub":1,"key":"kwojur4idf2tpw1bkbe","children":[{"field":"id","paramsType":"int","required":true,"desc":"用户编号","structType":"json","sub":2,"key":"kwok6cs05lxpmx6y6rr","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"类型(inside 内部用户 | outside 外部用户)","structType":"json","sub":2,"key":"kwok6og0ahx6f597mrd","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"dept","paramsType":"int","required":true,"desc":"所属部门","structType":"json","sub":2,"key":"kwok7dh7htxbxpri6vd","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"account","paramsType":"string","required":true,"desc":"用户名","structType":"json","sub":2,"key":"kwok7nqb31mthbt314r","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"realname","paramsType":"string","required":true,"desc":"真实姓名","structType":"json","sub":2,"key":"kwok7zsnesbib3xqyoe","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"nickname","paramsType":"string","required":"","desc":"昵称","structType":"json","sub":2,"key":"kwok8cwjolnijrajn1","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"avatar","paramsType":"string","required":"","desc":"头像","structType":"json","sub":2,"key":"kwok8rkw8a2qaxo6zmg","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"birthday","paramsType":"date","required":"","desc":"生日","structType":"json","sub":2,"key":"kwok8zxnqkju8zu00v","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"gender","paramsType":"string","required":"","desc":"性别(f 女性 | m 男性)","structType":"json","sub":2,"key":"kwok9agk5itm5fdge68","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"mobile","paramsType":"string","required":"","desc":"手机号码","structType":"json","sub":2,"key":"kwok9rg5pat2s9dtj1","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"phone","paramsType":"string","required":"","desc":"电话号码","structType":"json","sub":2,"key":"kwok9zaqjcudthvaepl","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"weixin","paramsType":"string","required":"","desc":"微信号码","structType":"json","sub":2,"key":"kwokab6bp730tfrb0d","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"address","paramsType":"string","required":"","desc":"住址","structType":"json","sub":2,"key":"kwokau91tuhpeglrsf8","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"join","paramsType":"date","required":"","desc":"加入日期","structType":"json","sub":2,"key":"kwokb1tdzkuodmano","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"admin","paramsType":"boolean","required":true,"desc":"是否管理员","structType":"json","sub":2,"key":"kwokby1uzx691aq2per","parentKey":"kwojur4idf2tpw1bkbe","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:134;O:8:"stdClass":19:{s:2:"id";s:4:"1469";s:3:"doc";s:3:"490";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集列表";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"9";s:6:"params";s:215:"{"header":[{"field":"Token","required":true,"desc":"访问凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"order","required":"","desc":"排序,默认order_asc;排序字段+下划线+asc/desc"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3993:"[{"field":"programs","paramsType":"array","required":true,"desc":"项目集列表","structType":"json","sub":1,"key":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":true,"desc":"项目集ID","structType":"json","sub":2,"key":"kw5oko39ful5ibh4xos","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目集名称","structType":"json","sub":2,"key":"kwbijc4xmi7da0s2v3h","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":2,"key":"kwbijs25uh1oerv14o","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY/USD)","structType":"json","sub":2,"key":"kwbiljpvwx1s9subl6h","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":2,"key":"kwbim4qiu70li1lj2sg","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"预计结束日期","structType":"json","sub":2,"key":"kwbin0zq2jnrf2hheqk","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":2,"key":"kwbin1zr9rft0cqsn7","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":2,"key":"kwbinosclp6c0ziw75b","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父项目集,顶层项目集的parent为0","structType":"json","sub":2,"key":"kwbivepwxrt80u7jdnj","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"openedBy","paramsType":"object","required":true,"desc":"由谁创建","structType":"json","sub":2,"key":"kwbiwzxpqpd682l27ke","parentKey":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":"","desc":"用户ID","structType":"json","sub":3,"key":"kwopi2wws0ddwmos2bk","parentKey":"kwbiwzxpqpd682l27ke","children":[]},{"field":"account","paramsType":"string","required":"","desc":"用户名","structType":"json","sub":3,"key":"kwopi2l2iodsea0my7o","parentKey":"kwbiwzxpqpd682l27ke","children":[]},{"field":"avatar","paramsType":"string","required":"","desc":"头像","structType":"json","sub":3,"key":"kwopi1wtyve0w4yt3rj","parentKey":"kwbiwzxpqpd682l27ke","children":[]},{"field":"realname","paramsType":"string","required":"","desc":"真实姓名","structType":"json","sub":3,"key":"kwopi0s2pja7h71d2ti","parentKey":"kwbiwzxpqpd682l27ke","children":[]}]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwbixdfmz87xqj9c6dm","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"PM","paramsType":"object","required":true,"desc":"项目集负责人","structType":"json","sub":2,"key":"kwbiy8g88gdd05pvdom","parentKey":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":"","desc":"用户ID","structType":"json","sub":3,"key":"kwopgz4i1060sf427paf","parentKey":"kwbiy8g88gdd05pvdom","children":[]},{"field":"account","paramsType":"string","required":"","desc":"用户名","structType":"json","sub":3,"key":"kwopgyl848xmhjscro3","parentKey":"kwbiy8g88gdd05pvdom","children":[]},{"field":"avatar","paramsType":"string","required":"","desc":"头像","structType":"json","sub":3,"key":"kwopgxumikuyewjtd2b","parentKey":"kwbiy8g88gdd05pvdom","children":[]},{"field":"realname","paramsType":"string","required":"","desc":"真实姓名","structType":"json","sub":3,"key":"kwopgrd26t2xxz5rd0l","parentKey":"kwbiy8g88gdd05pvdom","children":[]}]},{"field":"progress","paramsType":"int","required":true,"desc":"进度","structType":"json","sub":2,"key":"kwbiyml3zn2zd5mdv0c","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:135;O:8:"stdClass":19:{s:2:"id";s:4:"1467";s:3:"doc";s:3:"481";s:6:"module";s:3:"104";s:5:"title";s:15:"修改项目集";s:4:"path";s:13:"/programs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"6";s:6:"params";s:1650:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":false,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrrcafi41oii1yyu","children":[]},{"field":"parent","paramsType":"string","required":"","desc":"父项目集,0表示没有父项目集","structType":"json","sub":1,"key":"kwfrrjy5fy9cr7cbhxt","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwfrrp78h46nsupgqg","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"预算金额","structType":"json","sub":1,"key":"kwg2zi8y395k1sa5qw","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwg2zu8lqoggv7wrofn","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"项目集描述","structType":"json","sub":1,"key":"kwg32uanzx7ssr24qb","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"预计开始日期","structType":"json","sub":1,"key":"kwg331xpdglirubloc","children":[]},{"field":"end","paramsType":"date","required":"","desc":"预计结束日期","structType":"json","sub":1,"key":"kwg339ez5y4fapvyz02","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwg387hniakqx94yjh","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg38nt998kadpp0kk7","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2260:"[{"field":"id","paramsType":"int","required":true,"desc":"","structType":"json","sub":1,"key":"kwfrq9ewoxebsfy1yc","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrt5svntvrbex1a1","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kwfrufdxs4insbwp7os","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwfrupqa2is097je3r1","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父项目集","structType":"json","sub":1,"key":"kwfrv68kj5pq1ev7y1a","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwfrvpa06s9odxqr733","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwfrvwl8yp43br33c0j","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwfrw1x78s1r66etxjn","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwfrw6lojs101m01t6","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目集描述","structType":"json","sub":1,"key":"kwfrwkdf096g5nvumqrp","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwfrx6jpg8tpusd54te","children":[]},{"field":"openedDate","paramsType":"string","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwfrxh8vp3p541ha0q","children":[]},{"field":"PM","paramsType":"string","required":false,"desc":"负责人","structType":"json","sub":1,"key":"kwfrxyttm6qlete3n3h","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwfry99qckte6qguao","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwfryty0hgpjch2k40u","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:136;O:8:"stdClass":19:{s:2:"id";s:4:"1466";s:3:"doc";s:3:"490";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集列表";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:2:"10";s:6:"params";s:215:"{"header":[{"field":"Token","required":true,"desc":"访问凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"order","required":"","desc":"排序,默认order_asc;排序字段+下划线+asc/desc"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2570:"[{"field":"programs","paramsType":"array","required":true,"desc":"项目集列表","structType":"json","sub":1,"key":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":true,"desc":"项目集ID","structType":"json","sub":2,"key":"kw5oko39ful5ibh4xos","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目集名称","structType":"json","sub":2,"key":"kwbijc4xmi7da0s2v3h","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":2,"key":"kwbijs25uh1oerv14o","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY/USD)","structType":"json","sub":2,"key":"kwbiljpvwx1s9subl6h","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":2,"key":"kwbim4qiu70li1lj2sg","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"预计结束日期","structType":"json","sub":2,"key":"kwbin0zq2jnrf2hheqk","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":2,"key":"kwbin1zr9rft0cqsn7","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":2,"key":"kwbinosclp6c0ziw75b","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父项目集,顶层项目集的parent为0","structType":"json","sub":2,"key":"kwbivepwxrt80u7jdnj","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"由谁创建","structType":"json","sub":2,"key":"kwbiwzxpqpd682l27ke","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwbixdfmz87xqj9c6dm","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"PM","paramsType":"1","required":true,"desc":"项目集负责人","structType":"json","sub":2,"key":"kwbiy8g88gdd05pvdom","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"progress","paramsType":"int","required":true,"desc":"进度","structType":"json","sub":2,"key":"kwbiyml3zn2zd5mdv0c","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:137;O:8:"stdClass":19:{s:2:"id";s:4:"1465";s:3:"doc";s:3:"481";s:6:"module";s:3:"104";s:5:"title";s:15:"修改项目集";s:4:"path";s:13:"/programs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"7";s:6:"params";s:1650:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":false,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrrcafi41oii1yyu","children":[]},{"field":"parent","paramsType":"string","required":"","desc":"父项目集,0表示没有父项目集","structType":"json","sub":1,"key":"kwfrrjy5fy9cr7cbhxt","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwfrrp78h46nsupgqg","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"预算金额","structType":"json","sub":1,"key":"kwg2zi8y395k1sa5qw","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwg2zu8lqoggv7wrofn","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"项目集描述","structType":"json","sub":1,"key":"kwg32uanzx7ssr24qb","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"预计开始日期","structType":"json","sub":1,"key":"kwg331xpdglirubloc","children":[]},{"field":"end","paramsType":"date","required":"","desc":"预计结束日期","structType":"json","sub":1,"key":"kwg339ez5y4fapvyz02","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwg387hniakqx94yjh","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg38nt998kadpp0kk7","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2250:"[{"field":"id","paramsType":"int","required":true,"desc":"","structType":"json","sub":1,"key":"kwfrq9ewoxebsfy1yc","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrt5svntvrbex1a1","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kwfrufdxs4insbwp7os","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwfrupqa2is097je3r1","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父项目集","structType":"json","sub":1,"key":"kwfrv68kj5pq1ev7y1a","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwfrvpa06s9odxqr733","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwfrvwl8yp43br33c0j","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwfrw1x78s1r66etxjn","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwfrw6lojs101m01t6","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目集描述","structType":"json","sub":1,"key":"kwfrwkdf096g5nvumqrp","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwfrx6jpg8tpusd54te","children":[]},{"field":"openedDate","paramsType":"string","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwfrxh8vp3p541ha0q","children":[]},{"field":"PM","paramsType":"1","required":false,"desc":"负责人","structType":"json","sub":1,"key":"kwfrxyttm6qlete3n3h","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwfry99qckte6qguao","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwfryty0hgpjch2k40u","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:138;O:8:"stdClass":19:{s:2:"id";s:4:"1463";s:3:"doc";s:3:"476";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集详情";s:4:"path";s:13:"/programs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2264:"[{"field":"id","paramsType":"int","required":true,"desc":"项目集ID","structType":"json","sub":1,"key":"kwj8m09ldh61qyuvm0i","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目集名称","structType":"json","sub":1,"key":"kwj8n4tt3bns0zay97x","children":[]},{"field":"PM","paramsType":"string","required":true,"desc":"负责人","structType":"json","sub":1,"key":"kwj8o0cl9hp8wndzcuj","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kwj8oc20vnok8xd1sq","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwj8oldpyvgy82o6xk","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwj8p80rykze7d8f1nq","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwj8pv6l3t4gggocbrt","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwj8qc97rkkuiiwht","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwj8qfwqmbns6nnn7o","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目集描述","structType":"json","sub":1,"key":"kwj8qxwggzcmnlu9mji","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwj8rbp90dreozj1a1x5","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwj8rhee6ww3gy35x4q","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwj8s8pc8uk89exry8i","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwj8sovnzv5fweyv8dq","children":[]},{"field":"PM","paramsType":"1","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwpqwwrxn0q9ffdgu1","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:139;O:8:"stdClass":19:{s:2:"id";s:4:"1464";s:3:"doc";s:3:"475";s:6:"module";s:3:"104";s:5:"title";s:15:"创建项目集";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"5";s:6:"params";s:1681:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":false,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrrcafi41oii1yyu","children":[]},{"field":"parent","paramsType":"string","required":"","desc":"父项目集,0表示没有父项目集","structType":"json","sub":1,"key":"kwfrrjy5fy9cr7cbhxt","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwfrrp78h46nsupgqg","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"预算金额","structType":"json","sub":1,"key":"kwg2zi8y395k1sa5qw","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwg2zu8lqoggv7wrofn","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"项目集描述","structType":"json","sub":1,"key":"kwg32uanzx7ssr24qb","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"预计开始日期","structType":"json","sub":1,"key":"kwg331xpdglirubloc","children":[]},{"field":"end","paramsType":"date","required":"","desc":"预计结束日期","structType":"json","sub":1,"key":"kwg339ez5y4fapvyz02","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwg387hniakqx94yjh","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单,只有acl = private才生效","structType":"json","sub":1,"key":"kwg38nt998kadpp0kk7","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2250:"[{"field":"id","paramsType":"int","required":true,"desc":"","structType":"json","sub":1,"key":"kwfrq9ewoxebsfy1yc","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrt5svntvrbex1a1","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kwfrufdxs4insbwp7os","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwfrupqa2is097je3r1","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父项目集","structType":"json","sub":1,"key":"kwfrv68kj5pq1ev7y1a","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwfrvpa06s9odxqr733","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwfrvwl8yp43br33c0j","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwfrw1x78s1r66etxjn","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwfrw6lojs101m01t6","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目集描述","structType":"json","sub":1,"key":"kwfrwkdf096g5nvumqrp","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwfrx6jpg8tpusd54te","children":[]},{"field":"openedDate","paramsType":"string","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwfrxh8vp3p541ha0q","children":[]},{"field":"PM","paramsType":"1","required":false,"desc":"负责人","structType":"json","sub":1,"key":"kwfrxyttm6qlete3n3h","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwfry99qckte6qguao","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwfryty0hgpjch2k40u","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:140;O:8:"stdClass":19:{s:2:"id";s:4:"1461";s:3:"doc";s:3:"487";s:6:"module";s:3:"105";s:5:"title";s:18:"获取产品详情";s:4:"path";s:13:"/products/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"6";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2120:"[{"field":"id","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":1,"key":"kwbr4qcbgcop3s3ohg5","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":1,"key":"kwbr6h84h8rp18cru57","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"产品代号","structType":"json","sub":1,"key":"kwbs6sx5bpk1z0kf7ak","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwellfvj3lxhcmg4wfo","children":[]},{"field":"line","paramsType":"int","required":true,"desc":"所属产品线","structType":"json","sub":1,"key":"kwelm02uvxu130ubux","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwelnh4d6pqibi436x9","children":[]},{"field":"PO","paramsType":"1","required":false,"desc":"产品负责人","structType":"json","sub":1,"key":"kwembkw9f5tak8d1gtg","children":[]},{"field":"QD","paramsType":"1","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwemckatgwyg58ed9ic","children":[]},{"field":"RD","paramsType":"1","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwemo4zyvvjyf5lpte","children":[]},{"field":"desc","paramsType":"object","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwemrk1txqrm14ww5c","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwemrs7sej0jr0cdabb","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwemsftfsdxa86i4dq","children":[]},{"field":"createdBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwemsw3yed4knmaqwwr","children":[]},{"field":"createdDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwemu7xhxrhubvtg1i","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:141;O:8:"stdClass":19:{s:2:"id";s:4:"1462";s:3:"doc";s:3:"489";s:6:"module";s:3:"105";s:5:"title";s:18:"获取产品列表";s:4:"path";s:9:"/products";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"5";s:6:"params";s:118:"{"header":[{"field":"Token","required":"","desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2737:"[{"field":"products","paramsType":"array","required":true,"desc":"","structType":"json","sub":1,"key":"kwaewshi65nnjs135n3","children":[{"field":"id","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":2,"key":"kwaey51uz6sfrk555m","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":2,"key":"kwbj1dqg65pvugs5h2s","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":2,"key":"kwbj2a1ihackyh03q49","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"产品代号","structType":"json","sub":2,"key":"kwbj2h0rn057wustk7o","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"line","paramsType":"int","required":true,"desc":"所属产品线","structType":"json","sub":2,"key":"kwbnpypoba6t1ms7oaf","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"PO","paramsType":"1","required":"","desc":"产品负责人","structType":"json","sub":2,"key":"kwbp9dclulc73a3tg","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"QD","paramsType":"1","required":"","desc":"测试负责人","structType":"json","sub":2,"key":"kwbp9pc1t1nvj4j2wd","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"RD","paramsType":"1","required":"","desc":"发布负责人","structType":"json","sub":2,"key":"kwbpalk5bnobb0mtp98","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":2,"key":"kwbpb2vft6si1ctgwf","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"产品描述","structType":"json","sub":2,"key":"kwbpdiepohshkv3sx2","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":2,"key":"kwbpdpivj06ph39fui","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":2,"key":"kwbpf2zg4f4bms64ubf","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"createdBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwbpfo85ji5yl8vqee","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"createdDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwbpfwmgpdtmdxctovi","parentKey":"kwaewshi65nnjs135n3","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:142;O:8:"stdClass":19:{s:2:"id";s:4:"1460";s:3:"doc";s:3:"488";s:6:"module";s:3:"105";s:5:"title";s:12:"创建产品";s:4:"path";s:9:"/products";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:1775:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":1,"key":"kwbq19ffg59cbooyb","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwbq1dizm75sgcgnd9f","children":[]},{"field":"code","paramsType":"int","required":true,"desc":"产品代号","structType":"json","sub":1,"key":"kwbq1xl9s30o2e1awjo","children":[]},{"field":"line","paramsType":"int","required":false,"desc":"所属产品线","structType":"json","sub":1,"key":"kwbq2ftqrqrmg8cyj7t","children":[]},{"field":"PO","paramsType":"1","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwbq33qsopavnj72ntb","children":[]},{"field":"QD","paramsType":"1","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwbq3kbijyjhoy0se99","children":[]},{"field":"RD","paramsType":"1","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwbq412yll94vpa635p","children":[]},{"field":"type","paramsType":"string","required":"","desc":"产品类型(normal 正常 | branch 多分支 | )","structType":"json","sub":1,"key":"kwbq49zapa2fswh58f","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwbqcmbo088hh0l8o91","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwbqdai6v9pl61o6xab","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwbqe9ye70wc961572o","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2289:"[{"field":"id","paramsType":"int","required":"","desc":"产品ID","structType":"json","sub":1,"key":"kwbpz5jh94vauhx9ga6","children":[]},{"field":"name","paramsType":"string","required":"","desc":"产品名称","structType":"json","sub":1,"key":"kwbqhljxnscdsph7jh","children":[]},{"field":"program","paramsType":"int","required":"","desc":"所属项目集","structType":"json","sub":1,"key":"kwbqhueedi6o9jyr80g","children":[]},{"field":"code","paramsType":"string","required":"","desc":"产品代号","structType":"json","sub":1,"key":"kwbqi7fmwnjsrds8i3j","children":[]},{"field":"line","paramsType":"int","required":"","desc":"产品线","structType":"json","sub":1,"key":"kwbqk1pemf4rfcleksf","children":[]},{"field":"type","paramsType":"string","required":"","desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwbqo9fjuslzzbejx6","children":[]},{"field":"status","paramsType":"string","required":"","desc":"状态(normal 正常 | closed 结束)","structType":"json","sub":1,"key":"kwbqqfgzincm6qkym3","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwbr0v2vhqrrqh8y6l","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwbr107xvu791yqyaxk","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwbr10vxlfbpvdlvor9","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwbr1lszosgjhp2c0zh","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwbr1uny368imqpppbd","children":[]},{"field":"createdBy","paramsType":"string","required":"","desc":"创建人","structType":"json","sub":1,"key":"kwbr24x72kgwwnbt8jh","children":[]},{"field":"createdDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":1,"key":"kwbr2agkwi1th2cc9l","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwbr2x4zzb1jbw5g5qk","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:143;O:8:"stdClass":19:{s:2:"id";s:4:"1459";s:3:"doc";s:3:"486";s:6:"module";s:3:"105";s:5:"title";s:12:"编辑产品";s:4:"path";s:12:"/product/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:1230:"{"header":[{"field":"Token","required":"","desc":"访问凭证Token"}],"params":[{"field":"name","paramsType":"string","required":"","desc":"产品名称","structType":"json","sub":1,"key":"kwen3dckicyphhnz","children":[]},{"field":"code","paramsType":"string","required":"","desc":"产品代号","structType":"json","sub":1,"key":"kwen3izzrkun21x6ga","children":[]},{"field":"type","paramsType":"string","required":"","desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwen45d40m14utr25tg","children":[]},{"field":"line","paramsType":"int","required":"","desc":"所属产品线","structType":"json","sub":1,"key":"kwen8jf7leyksxip3f8","children":[]},{"field":"program","paramsType":"int","required":"","desc":"所属项目集","structType":"json","sub":1,"key":"kwen8ty05syldw0juiy","children":[]},{"field":"status","paramsType":"string","required":"","desc":"产品状态(normal 正常 | closed 已关闭)","structType":"json","sub":1,"key":"kwencqbvtud2pfbrfjp","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"产品描述,富文本","structType":"json","sub":1,"key":"kwenfpizvxhggi9clqj","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2120:"[{"field":"id","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":1,"key":"kwbr4qcbgcop3s3ohg5","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":1,"key":"kwbr6h84h8rp18cru57","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"产品代号","structType":"json","sub":1,"key":"kwbs6sx5bpk1z0kf7ak","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwellfvj3lxhcmg4wfo","children":[]},{"field":"line","paramsType":"int","required":true,"desc":"所属产品线","structType":"json","sub":1,"key":"kwelm02uvxu130ubux","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwelnh4d6pqibi436x9","children":[]},{"field":"PO","paramsType":"1","required":false,"desc":"产品负责人","structType":"json","sub":1,"key":"kwembkw9f5tak8d1gtg","children":[]},{"field":"QD","paramsType":"1","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwemckatgwyg58ed9ic","children":[]},{"field":"RD","paramsType":"1","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwemo4zyvvjyf5lpte","children":[]},{"field":"desc","paramsType":"object","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwemrk1txqrm14ww5c","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwemrs7sej0jr0cdabb","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwemsftfsdxa86i4dq","children":[]},{"field":"createdBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwemsw3yed4knmaqwwr","children":[]},{"field":"createdDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwemu7xhxrhubvtg1i","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:144;O:8:"stdClass":19:{s:2:"id";s:4:"1458";s:3:"doc";s:3:"448";s:6:"module";s:3:"112";s:5:"title";s:12:"创建计划";s:4:"path";s:19:"/products/:id/plans";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:997:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":false,"desc":"所属分支","structType":"json","sub":1,"key":"kwlofhasdc5r52f3zp7","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"计划名称","structType":"json","sub":1,"key":"kwlog1lmm7va7ihz6an","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"计划开始日期","structType":"json","sub":1,"key":"kwloh88yj5u3t8kq4a","children":[]},{"field":"end","paramsType":"date","required":"","desc":"计划结束日期","structType":"json","sub":1,"key":"kwlohkkne6ybkae8336","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"计划描述","structType":"json","sub":1,"key":"kwloho1edlbudimc34","children":[]},{"field":"parent","paramsType":"int","required":"","desc":"所属父计划","structType":"json","sub":1,"key":"kwpt6y4rnazkel3pod","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4860:"[{"field":"id","paramsType":"int","required":true,"desc":"计划ID","structType":"json","sub":1,"key":"kwlhrcrfi2xj4a62e","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwlmz4gitedfpssasja","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属计划","structType":"json","sub":1,"key":"kwlmzc773nvr59kw736","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父计划","structType":"json","sub":1,"key":"kwlmzjztqlfbdz67yjd","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"计划名称","structType":"json","sub":1,"key":"kwlmzrpuc5w1v5hdspt","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"计划描述","structType":"json","sub":1,"key":"kwln11j3ha0x59mb88i","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwln1eiso46b54s2ynk","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwln1lq8mh88c0mh9eb","children":[]},{"field":"stories","paramsType":"array","required":true,"desc":"关联需求","structType":"json","sub":1,"key":"kwln7u0pzbm5hejg55p","children":[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":2,"key":"kwlnv2b9eaqtv1opvi9","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":2,"key":"kwlnv1ckmcorf5xh5nh","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwlnuu1rrcji72o5bp","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwlnustvp5his9hg0k8","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"需求类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":2,"key":"kwlnusdi4n7tlyrxq5i","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"需求优先级","structType":"json","sub":2,"key":"kwlnugayc1hvz68y70n","parentKey":"kwln7u0pzbm5hejg55p","children":[]}]},{"field":"bugs","paramsType":"array","required":true,"desc":"关联Bug","structType":"json","sub":1,"key":"kwln7vth71prs7ovxyx","children":[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":2,"key":"kwlo0r00wprxatyh2rr","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":2,"key":"kwlo0qwez7pl64gduo","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwlo0qrzicutoh87hkp","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":2,"key":"kwlo0qnpw1evw5zyu1r","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwlo0qin2gc4tvq62ve","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"相关需求","structType":"json","sub":2,"key":"kwlo0qe0eefu1me7yi","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":2,"key":"kwlo0q8lxzh0wwfowsb","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":2,"key":"kwlo0q4lpj91nh6pb4","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"Bug优先级","structType":"json","sub":2,"key":"kwlo0pztvmii6tauqb","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型","structType":"json","sub":2,"key":"kwlo0pvam3ulnfcmgbh","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"steps","paramsType":"string","required":true,"desc":"Bug复现步骤","structType":"json","sub":2,"key":"kwlo0phljctpu1lvu7","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"Bug状态(active 激活 | resolved 已解决 | closed 已关闭)","structType":"json","sub":2,"key":"kwlo0p3iqvltmpqdw3","parentKey":"kwln7vth71prs7ovxyx","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:145;O:8:"stdClass":19:{s:2:"id";s:4:"1456";s:3:"doc";s:3:"470";s:6:"module";s:3:"116";s:5:"title";s:24:"获取产品需求列表";s:4:"path";s:21:"/products/:id/stories";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3926:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页面","structType":"json","sub":1,"key":"kwjy2s87db9a596fbgb","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"需求总数","structType":"json","sub":1,"key":"kwjy7hkvjkmtt0mkcy","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页需求数","structType":"json","sub":1,"key":"kwjy7ld0ndd1vxicpo","children":[]},{"field":"stories","paramsType":"array","required":true,"desc":"需求列表","structType":"json","sub":1,"key":"kwjy8zyh4dzndly12en","children":[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":2,"key":"kwjy99j7nbctxlys6e","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwjyact3snp2jqp3tn","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwjyaun7ybre2f0dmep","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属产品模块","structType":"json","sub":2,"key":"kwjyb9uzo2dcbc3hmn","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来自于Bug","structType":"json","sub":2,"key":"kwjybqd5ld21pj2rnx7","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"source","paramsType":"string","required":true,"desc":"需求来源(customer 客户 | user 用户 | po 产品经理 | market 市场)","structType":"json","sub":2,"key":"kwjyccenpnjohdldyyp","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"sourceNote","paramsType":"string","required":true,"desc":"来源备注","structType":"json","sub":2,"key":"kwjyhkx6iqoqjdcagt","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":2,"key":"kwjyi8ihn1ufbkfpy0j","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":2,"key":"kwjyixbqtw6vvzlpae","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"阶段(wait 未开始 | planned 已计划 | projected 已立项 | developing 研发中 | developed 研发完毕 | testing 测试中 | tested 测试完毕 | verified 已验收 | released 已发布 | closed 已关闭)","structType":"json","sub":2,"key":"kwjyquptlmh4pfyzo9a","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":2,"key":"kwjyrsb3vu6gxup5vpa","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"estimate","paramsType":"int","required":true,"desc":"预计工时","structType":"json","sub":2,"key":"kwjz0s2pc0sv9wzyh1b","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(draft 草稿 | active 激活 | closed 已关闭 | changed 已变更)","structType":"json","sub":2,"key":"kwjz15ozrkdagpj8dfe","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwjz2eyko6qx1ixausl","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwjz2oj2beho2ph9fug","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"toBug","paramsType":"int","required":true,"desc":"转为Bug","structType":"json","sub":2,"key":"kwjz341v9rmo4xdxt9m","parentKey":"kwjy8zyh4dzndly12en","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:146;O:8:"stdClass":19:{s:2:"id";s:4:"1457";s:3:"doc";s:3:"487";s:6:"module";s:3:"105";s:5:"title";s:18:"获取产品详情";s:4:"path";s:13:"/products/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"7";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2120:"[{"field":"id","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":1,"key":"kwbr4qcbgcop3s3ohg5","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":1,"key":"kwbr6h84h8rp18cru57","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"产品代号","structType":"json","sub":1,"key":"kwbs6sx5bpk1z0kf7ak","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwellfvj3lxhcmg4wfo","children":[]},{"field":"line","paramsType":"int","required":true,"desc":"所属产品线","structType":"json","sub":1,"key":"kwelm02uvxu130ubux","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwelnh4d6pqibi436x9","children":[]},{"field":"PO","paramsType":"1","required":false,"desc":"产品负责人","structType":"json","sub":1,"key":"kwembkw9f5tak8d1gtg","children":[]},{"field":"QD","paramsType":"1","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwemckatgwyg58ed9ic","children":[]},{"field":"RD","paramsType":"1","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwemo4zyvvjyf5lpte","children":[]},{"field":"desc","paramsType":"object","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwemrk1txqrm14ww5c","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwemrs7sej0jr0cdabb","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwemsftfsdxa86i4dq","children":[]},{"field":"createdBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwemsw3yed4knmaqwwr","children":[]},{"field":"createdDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwemu7xhxrhubvtg1i","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:147;O:8:"stdClass":19:{s:2:"id";s:4:"1455";s:3:"doc";s:3:"467";s:6:"module";s:3:"116";s:5:"title";s:24:"获取执行需求列表";s:4:"path";s:23:"/executions/:id/stories";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3926:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页面","structType":"json","sub":1,"key":"kwjy2s87db9a596fbgb","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"需求总数","structType":"json","sub":1,"key":"kwjy7hkvjkmtt0mkcy","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页需求数","structType":"json","sub":1,"key":"kwjy7ld0ndd1vxicpo","children":[]},{"field":"stories","paramsType":"array","required":true,"desc":"需求列表","structType":"json","sub":1,"key":"kwjy8zyh4dzndly12en","children":[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":2,"key":"kwjy99j7nbctxlys6e","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwjyact3snp2jqp3tn","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwjyaun7ybre2f0dmep","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属产品模块","structType":"json","sub":2,"key":"kwjyb9uzo2dcbc3hmn","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来自于Bug","structType":"json","sub":2,"key":"kwjybqd5ld21pj2rnx7","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"source","paramsType":"string","required":true,"desc":"需求来源(customer 客户 | user 用户 | po 产品经理 | market 市场)","structType":"json","sub":2,"key":"kwjyccenpnjohdldyyp","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"sourceNote","paramsType":"string","required":true,"desc":"来源备注","structType":"json","sub":2,"key":"kwjyhkx6iqoqjdcagt","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":2,"key":"kwjyi8ihn1ufbkfpy0j","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":2,"key":"kwjyixbqtw6vvzlpae","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"阶段(wait 未开始 | planned 已计划 | projected 已立项 | developing 研发中 | developed 研发完毕 | testing 测试中 | tested 测试完毕 | verified 已验收 | released 已发布 | closed 已关闭)","structType":"json","sub":2,"key":"kwjyquptlmh4pfyzo9a","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":2,"key":"kwjyrsb3vu6gxup5vpa","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"estimate","paramsType":"int","required":true,"desc":"预计工时","structType":"json","sub":2,"key":"kwjz0s2pc0sv9wzyh1b","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(draft 草稿 | active 激活 | closed 已关闭 | changed 已变更)","structType":"json","sub":2,"key":"kwjz15ozrkdagpj8dfe","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwjz2eyko6qx1ixausl","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwjz2oj2beho2ph9fug","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"toBug","paramsType":"int","required":true,"desc":"转为Bug","structType":"json","sub":2,"key":"kwjz341v9rmo4xdxt9m","parentKey":"kwjy8zyh4dzndly12en","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:148;O:8:"stdClass":19:{s:2:"id";s:4:"1454";s:3:"doc";s:3:"471";s:6:"module";s:3:"116";s:5:"title";s:24:"获取项目需求列表";s:4:"path";s:21:"/projects/:id/stories";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3926:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页面","structType":"json","sub":1,"key":"kwjy2s87db9a596fbgb","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"需求总数","structType":"json","sub":1,"key":"kwjy7hkvjkmtt0mkcy","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页需求数","structType":"json","sub":1,"key":"kwjy7ld0ndd1vxicpo","children":[]},{"field":"stories","paramsType":"array","required":true,"desc":"需求列表","structType":"json","sub":1,"key":"kwjy8zyh4dzndly12en","children":[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":2,"key":"kwjy99j7nbctxlys6e","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwjyact3snp2jqp3tn","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwjyaun7ybre2f0dmep","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属产品模块","structType":"json","sub":2,"key":"kwjyb9uzo2dcbc3hmn","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来自于Bug","structType":"json","sub":2,"key":"kwjybqd5ld21pj2rnx7","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"source","paramsType":"string","required":true,"desc":"需求来源(customer 客户 | user 用户 | po 产品经理 | market 市场)","structType":"json","sub":2,"key":"kwjyccenpnjohdldyyp","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"sourceNote","paramsType":"string","required":true,"desc":"来源备注","structType":"json","sub":2,"key":"kwjyhkx6iqoqjdcagt","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":2,"key":"kwjyi8ihn1ufbkfpy0j","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":2,"key":"kwjyixbqtw6vvzlpae","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"阶段(wait 未开始 | planned 已计划 | projected 已立项 | developing 研发中 | developed 研发完毕 | testing 测试中 | tested 测试完毕 | verified 已验收 | released 已发布 | closed 已关闭)","structType":"json","sub":2,"key":"kwjyquptlmh4pfyzo9a","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":2,"key":"kwjyrsb3vu6gxup5vpa","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"estimate","paramsType":"int","required":true,"desc":"预计工时","structType":"json","sub":2,"key":"kwjz0s2pc0sv9wzyh1b","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(draft 草稿 | active 激活 | closed 已关闭 | changed 已变更)","structType":"json","sub":2,"key":"kwjz15ozrkdagpj8dfe","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwjz2eyko6qx1ixausl","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwjz2oj2beho2ph9fug","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"toBug","paramsType":"int","required":true,"desc":"转为Bug","structType":"json","sub":2,"key":"kwjz341v9rmo4xdxt9m","parentKey":"kwjy8zyh4dzndly12en","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:149;O:8:"stdClass":19:{s:2:"id";s:4:"1453";s:3:"doc";s:3:"468";s:6:"module";s:3:"116";s:5:"title";s:12:"创建需求";s:4:"path";s:8:"/stories";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:1591:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":1,"key":"kwjzb7t7r80zxre07ar","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwjzfpcu6lw92hz2ypn","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwjzfpzyj9dm3wtixpi","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"需求类型","structType":"json","sub":1,"key":"kwjzfqrjtzrsmg53nlp","children":[]},{"field":"spec","paramsType":"string","required":false,"desc":"需求描述","structType":"json","sub":1,"key":"kwjzj6ur2wul1s780xf","children":[]},{"field":"verify","paramsType":"string","required":false,"desc":"验收标准","structType":"json","sub":1,"key":"kwjzjwan8b55385dp7u","children":[]},{"field":"source","paramsType":"string","required":"","desc":"需求来源","structType":"json","sub":1,"key":"kwjzlbfd0s6dmbypy9gr","children":[]},{"field":"sourceNote","paramsType":"string","required":"","desc":"来源备注","structType":"json","sub":1,"key":"kwjzm2bpuz7rpwww18o","children":[]},{"field":"estimate","paramsType":"float","required":"","desc":"预计工时","structType":"json","sub":1,"key":"kwjzmbg8o60ltfbezl","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwjzn2tj3muq5pd3hh3","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2949:"[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":1,"key":"kwjzak1x6332sumet2x","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwjzqgmor28xkpxto2","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":1,"key":"kwjzqh9m591hxaz9r75","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属产品模块","structType":"json","sub":1,"key":"kwjzqhdz9o96s49biap","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来自于Bug","structType":"json","sub":1,"key":"kwjzqhisj4xgerdefa","children":[]},{"field":"source","paramsType":"string","required":true,"desc":"需求来源(customer 客户 | user 用户 | po 产品经理 | market 市场)","structType":"json","sub":1,"key":"kwjzqhnjwye1lyvbs7s","children":[]},{"field":"sourceNote","paramsType":"string","required":true,"desc":"来源备注","structType":"json","sub":1,"key":"kwjzqhs1sci48ds40c","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":1,"key":"kwjzqhvzgnhlyglh3wl","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":1,"key":"kwjzqi0g6kz5b3qtqyj","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"阶段(wait 未开始 | planned 已计划 | projected 已立项 | developing 研发中 | developed 研发完毕 | testing 测试中 | tested 测试完毕 | verified 已验收 | released 已发布 | closed 已关闭)","structType":"json","sub":1,"key":"kwjzqi5fa420z4rcoz9","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwjzsm7e02zv28lg7woq","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":1,"key":"kwjzsmcosfo5u84ljn","children":[]},{"field":"verify","paramsType":"string","required":true,"desc":"验收标准","structType":"json","sub":1,"key":"kwjzsz8r796vs9psimw","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(draft 草稿 | active 激活 | closed 已关闭 | changed 已变更)","structType":"json","sub":1,"key":"kwjzszdgvko3irxwjg","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwjzszihkde9vnt4gu","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwjzszwssmv2dzhyad","children":[]},{"field":"toBug","paramsType":"int","required":true,"desc":"转为Bug","structType":"json","sub":1,"key":"kwjzu1eeg2nbghkse4e","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:150;O:8:"stdClass":19:{s:2:"id";s:4:"1452";s:3:"doc";s:3:"466";s:6:"module";s:3:"116";s:5:"title";s:12:"变更需求";s:4:"path";s:19:"/stories/:id/change";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:554:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"title","paramsType":"string","required":false,"desc":"需求标题","structType":"json","sub":1,"key":"kwk00sadykqdnjov0b","children":[]},{"field":"spec","paramsType":"string","required":"","desc":"需求描述","structType":"json","sub":1,"key":"kwk056l687emefzib2d","children":[]},{"field":"verify","paramsType":"string","required":"","desc":"验收标准","structType":"json","sub":1,"key":"kwk0752wcpdf6vob37","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2949:"[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":1,"key":"kwjzak1x6332sumet2x","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwjzqgmor28xkpxto2","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":1,"key":"kwjzqh9m591hxaz9r75","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属产品模块","structType":"json","sub":1,"key":"kwjzqhdz9o96s49biap","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来自于Bug","structType":"json","sub":1,"key":"kwjzqhisj4xgerdefa","children":[]},{"field":"source","paramsType":"string","required":true,"desc":"需求来源(customer 客户 | user 用户 | po 产品经理 | market 市场)","structType":"json","sub":1,"key":"kwjzqhnjwye1lyvbs7s","children":[]},{"field":"sourceNote","paramsType":"string","required":true,"desc":"来源备注","structType":"json","sub":1,"key":"kwjzqhs1sci48ds40c","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":1,"key":"kwjzqhvzgnhlyglh3wl","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":1,"key":"kwjzqi0g6kz5b3qtqyj","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"阶段(wait 未开始 | planned 已计划 | projected 已立项 | developing 研发中 | developed 研发完毕 | testing 测试中 | tested 测试完毕 | verified 已验收 | released 已发布 | closed 已关闭)","structType":"json","sub":1,"key":"kwjzqi5fa420z4rcoz9","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwjzsm7e02zv28lg7woq","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":1,"key":"kwjzsmcosfo5u84ljn","children":[]},{"field":"verify","paramsType":"string","required":true,"desc":"验收标准","structType":"json","sub":1,"key":"kwjzsz8r796vs9psimw","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(draft 草稿 | active 激活 | closed 已关闭 | changed 已变更)","structType":"json","sub":1,"key":"kwjzszdgvko3irxwjg","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwjzszihkde9vnt4gu","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwjzszwssmv2dzhyad","children":[]},{"field":"toBug","paramsType":"int","required":true,"desc":"转为Bug","structType":"json","sub":1,"key":"kwjzu1eeg2nbghkse4e","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:151;O:8:"stdClass":19:{s:2:"id";s:4:"1451";s:3:"doc";s:3:"465";s:6:"module";s:3:"116";s:5:"title";s:18:"获取需求详情";s:4:"path";s:12:"/stories/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2949:"[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":1,"key":"kwjzak1x6332sumet2x","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwjzqgmor28xkpxto2","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":1,"key":"kwjzqh9m591hxaz9r75","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属产品模块","structType":"json","sub":1,"key":"kwjzqhdz9o96s49biap","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来自于Bug","structType":"json","sub":1,"key":"kwjzqhisj4xgerdefa","children":[]},{"field":"source","paramsType":"string","required":true,"desc":"需求来源(customer 客户 | user 用户 | po 产品经理 | market 市场)","structType":"json","sub":1,"key":"kwjzqhnjwye1lyvbs7s","children":[]},{"field":"sourceNote","paramsType":"string","required":true,"desc":"来源备注","structType":"json","sub":1,"key":"kwjzqhs1sci48ds40c","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":1,"key":"kwjzqhvzgnhlyglh3wl","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":1,"key":"kwjzqi0g6kz5b3qtqyj","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"阶段(wait 未开始 | planned 已计划 | projected 已立项 | developing 研发中 | developed 研发完毕 | testing 测试中 | tested 测试完毕 | verified 已验收 | released 已发布 | closed 已关闭)","structType":"json","sub":1,"key":"kwjzqi5fa420z4rcoz9","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwjzsm7e02zv28lg7woq","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":1,"key":"kwjzsmcosfo5u84ljn","children":[]},{"field":"verify","paramsType":"string","required":true,"desc":"验收标准","structType":"json","sub":1,"key":"kwjzsz8r796vs9psimw","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(draft 草稿 | active 激活 | closed 已关闭 | changed 已变更)","structType":"json","sub":1,"key":"kwjzszdgvko3irxwjg","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwjzszihkde9vnt4gu","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwjzszwssmv2dzhyad","children":[]},{"field":"toBug","paramsType":"int","required":true,"desc":"转为Bug","structType":"json","sub":1,"key":"kwjzu1eeg2nbghkse4e","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:152;O:8:"stdClass":19:{s:2:"id";s:4:"1449";s:3:"doc";s:3:"479";s:6:"module";s:3:"106";s:5:"title";s:12:"修改项目";s:4:"path";s:13:"/projects/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:1846:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":"","desc":"项目名称","structType":"formData","sub":1,"key":"kwfzx1b9z1ojzx148v8","children":[]},{"field":"code","paramsType":"string","required":"","desc":"项目代号","structType":"formData","sub":1,"key":"kwg07xvv8hp8q72a70p","children":[]},{"field":"parent","paramsType":"int","required":false,"desc":"所属项目集","structType":"formData","sub":1,"key":"kwg0876le09j7dkyxjq","children":[]},{"field":"PM","paramsType":"int","required":"","desc":"项目负责人","structType":"formData","sub":1,"key":"kwg0fzqc762wxgjyyxl","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"项目预算金额","structType":"formData","sub":1,"key":"kwg0j7akglo9o1sdd8g","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY | USD)","structType":"formData","sub":1,"key":"kwg0jl5ymm7o4x0k5ta","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"formData","sub":1,"key":"kwg0ka6ohdjnpp56c","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"项目描述","structType":"formData","sub":1,"key":"kwg0kyn82ahibxdaa3p","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"formData","sub":1,"key":"kwg0m88gcrace3xs9ha","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"formData","sub":1,"key":"kwg0mvcgpb19a34lxz8","children":[]},{"field":"auth","paramsType":"string","required":"","desc":"权限控制(extend 继承 | reset 重新定义)","structType":"formData","sub":1,"key":"kwg0nw28t57nw6ls9g","children":[]}],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1818:"[{"field":"id","paramsType":"int","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfzx1bfez3bi3z1uh8","children":[]},{"field":"name","paramsType":"string","required":"","desc":"项目名称","structType":"json","sub":1,"key":"kwg0qqa1i6liuc5na2","children":[]},{"field":"parent","paramsType":"int","required":"","desc":"所属项目集","structType":"json","sub":1,"key":"kwg0qz7loa7d85ykp7s","children":[]},{"field":"code","paramsType":"string","required":"","desc":"项目代号","structType":"json","sub":1,"key":"kwg0r91vhgfn2bfb9p7","children":[]},{"field":"PM","paramsType":"1","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwg0rpuoxyjz9pqxgt","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"项目预算金额","structType":"json","sub":1,"key":"kwg0rzy9s219ge93f3","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwg0s9wyql076w7sul","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"json","sub":1,"key":"kwg0sk1ewbnq8cubqut","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"项目描述","structType":"json","sub":1,"key":"kwg0srchfyqmpfcw8n4","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwg0syv0vmyry7bpo99","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg0t6hoeif88dy86s","children":[]},{"field":"auth","paramsType":"string","required":"","desc":"权限控制(extend 继承 | reset 重新定义)","structType":"json","sub":1,"key":"kwg0td9u9zcfm6pbbp","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:153;O:8:"stdClass":19:{s:2:"id";s:4:"1450";s:3:"doc";s:3:"483";s:6:"module";s:3:"106";s:5:"title";s:12:"创建项目";s:4:"path";s:9:"/projects";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:1217:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kweqeeu4uyul5ro6o7","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kweqeneavf594nhj4cm","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kweqeulf61fh20gafsy","children":[]},{"field":"products","paramsType":"array","required":true,"desc":"关联产品,比如 [1, 2],不能为空。","structType":"json","sub":1,"key":"kweqfbdfm7z71875r1l","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"项目编号","structType":"json","sub":1,"key":"kweqlpdkud5rs421do9","children":[]},{"field":"model","paramsType":"string","required":"","desc":"项目模型,默认为scrum","structType":"json","sub":1,"key":"kweqndhs3nd3a1jd9r4","children":[]},{"field":"parent","paramsType":"int","required":"","desc":"所属项目集,默认为0","structType":"json","sub":1,"key":"kweqvrk6mjr9vygujza","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1979:"[{"field":"id","paramsType":"int","required":true,"desc":"项目编号","structType":"json","sub":1,"key":"kweqd0yk9o8xi8kyi4i","children":[]},{"field":"model","paramsType":"string","required":true,"desc":"项目模型(scrum 敏捷 | waterfall 瀑布)","structType":"json","sub":1,"key":"kweqn4iti067eqz5d2m","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kweqols3u9m0s05ylyk","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kweque9jrz74gf76dh","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kweqv1x01dpu3by4dfb","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kweqvb5i8r2yr4640yh","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"项目代号","structType":"json","sub":1,"key":"kweqwlz88yba26zd50g","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kweqwvifjrxbgg1l76j","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kweqy196dogt0m3o9ge","children":[]},{"field":"realBegan","paramsType":"date","required":"","desc":"实际开始日期","structType":"json","sub":1,"key":"kweqyb2s8lsmedm0pa","children":[]},{"field":"realEnd","paramsType":"date","required":"","desc":"实际结束日期","structType":"json","sub":1,"key":"kweqympfb0h7cuwvrhk","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kweqzck8664cy70yxx","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwer3319sfmmlqu6bj","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:154;O:8:"stdClass":19:{s:2:"id";s:4:"1446";s:3:"doc";s:3:"438";s:6:"module";s:3:"109";s:5:"title";s:24:"获取执行版本列表";s:4:"path";s:22:"/executions/:id/builds";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2275:"[{"field":"total","paramsType":"int","required":true,"desc":"版本总数","structType":"json","sub":1,"key":"kwmyb8ah69n34ud7byj","children":[]},{"field":"builds","paramsType":"array","required":true,"desc":"版本列表","structType":"json","sub":1,"key":"kwmyfzso9xlwrewva09","children":[{"field":"id","paramsType":"int","required":true,"desc":"版本ID","structType":"json","sub":2,"key":"kwmyg8wtmjt3nozwbg","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwmygixbcmxd4muro6n","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwmyguwt460u2kk0prv","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwmyh5h4gmzu0a1wcfo","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwmytj1w34spkshhkvh","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"版本名称","structType":"json","sub":2,"key":"kwmytschv6r9wxvsyu","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"scmPath","paramsType":"string","required":false,"desc":"源代码地址","structType":"json","sub":2,"key":"kwmyu6z4bqhsow6lj85","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"filePath","paramsType":"string","required":"","desc":"下载地址","structType":"json","sub":2,"key":"kwmyup6xrfdcxg37ka9","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"date","paramsType":"date","required":true,"desc":"打包日期","structType":"json","sub":2,"key":"kwmyv13p7r29ufidypd","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"builder","paramsType":"1","required":true,"desc":"构建者","structType":"json","sub":2,"key":"kwn0gspeyiwvehtcoul","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"版本描述","structType":"json","sub":2,"key":"kwn0hyd6pgkz36ecip","parentKey":"kwmyfzso9xlwrewva09","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:155;O:8:"stdClass":19:{s:2:"id";s:4:"1447";s:3:"doc";s:3:"437";s:6:"module";s:3:"109";s:5:"title";s:24:"获取项目版本列表";s:4:"path";s:20:"/projects/:id/builds";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2275:"[{"field":"total","paramsType":"int","required":true,"desc":"版本总数","structType":"json","sub":1,"key":"kwmyb8ah69n34ud7byj","children":[]},{"field":"builds","paramsType":"array","required":true,"desc":"版本列表","structType":"json","sub":1,"key":"kwmyfzso9xlwrewva09","children":[{"field":"id","paramsType":"int","required":true,"desc":"版本ID","structType":"json","sub":2,"key":"kwmyg8wtmjt3nozwbg","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwmygixbcmxd4muro6n","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwmyguwt460u2kk0prv","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwmyh5h4gmzu0a1wcfo","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwmytj1w34spkshhkvh","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"版本名称","structType":"json","sub":2,"key":"kwmytschv6r9wxvsyu","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"scmPath","paramsType":"string","required":false,"desc":"源代码地址","structType":"json","sub":2,"key":"kwmyu6z4bqhsow6lj85","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"filePath","paramsType":"string","required":"","desc":"下载地址","structType":"json","sub":2,"key":"kwmyup6xrfdcxg37ka9","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"date","paramsType":"date","required":true,"desc":"打包日期","structType":"json","sub":2,"key":"kwmyv13p7r29ufidypd","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"builder","paramsType":"1","required":true,"desc":"构建者","structType":"json","sub":2,"key":"kwn0gspeyiwvehtcoul","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"版本描述","structType":"json","sub":2,"key":"kwn0hyd6pgkz36ecip","parentKey":"kwmyfzso9xlwrewva09","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:156;O:8:"stdClass":19:{s:2:"id";s:4:"1448";s:3:"doc";s:3:"482";s:6:"module";s:3:"106";s:5:"title";s:18:"获取项目详情";s:4:"path";s:13:"/projects/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2824:"[{"field":"id","paramsType":"int","required":true,"desc":"项目编号","structType":"json","sub":1,"key":"kwfo61d427ebc01qyw8","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwfo750e6nu14s1mpxo","children":[]},{"field":"model","paramsType":"string","required":true,"desc":"项目模型(scrum 敏捷 | waterfall 瀑布)","structType":"json","sub":1,"key":"kwfo7gn93qxvrutdfuv","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"项目预算金额","structType":"json","sub":1,"key":"kwfosq5ey0h0ssr36vg","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwfosy3p0juy0e9og43l","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfotny2ubdkbqbpiip","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"项目编号","structType":"json","sub":1,"key":"kwfouazlja2v88n8g5d","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwfoul4jhmzjlurvua","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwfouql1fu3zun911pt","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwfoutlhiryhz2e5g6","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwfovhzh6k9cbh96xck","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"项目状态(wait 未开始 | doing 进行中 | suspend 已挂起 | closed 已关闭)","structType":"json","sub":1,"key":"kwfow3wzv9ad5nj9k7","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目描述","structType":"json","sub":1,"key":"kwfoxh13qwv0h2xg86","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwfoxsionkxeggc337","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwfoy1iw9f2sicm3xcd","children":[]},{"field":"PM","paramsType":"1","required":true,"desc":"项目负责人","structType":"json","sub":1,"key":"kwfoynhiwfkyhof0x8a","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwfoz9lmw38ehk68bh","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwfp0tsvhw6xxldplua","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:157;O:8:"stdClass":19:{s:2:"id";s:4:"1444";s:3:"doc";s:3:"435";s:6:"module";s:3:"109";s:5:"title";s:12:"修改版本";s:4:"path";s:11:"/builds/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:116:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1638:"[{"field":"id","paramsType":"int","required":true,"desc":"版本ID","structType":"json","sub":1,"key":"kwn2hke96i5njkoy06m","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwn3iu5ilw20yqn6gao","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwn3jaea9a00bqeziw","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属产品分支(主分支为0)","structType":"json","sub":1,"key":"kwn3jkc5xrijl3g11rg","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwn3jzf0144tenen2fal","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"版本名称","structType":"json","sub":1,"key":"kwn3kjjk0v3i8tduutf","children":[]},{"field":"scmPath","paramsType":"string","required":true,"desc":"源代码地址","structType":"json","sub":1,"key":"kwn3kyosy9ygwek0o2s","children":[]},{"field":"filePath","paramsType":"string","required":true,"desc":"下载地址","structType":"json","sub":1,"key":"kwn3l8b97lgsvxg2xd5","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"版本描述","structType":"json","sub":1,"key":"kwn3lgm8punjni3qcdc","children":[]},{"field":"builder","paramsType":"1","required":true,"desc":"构建者","structType":"json","sub":1,"key":"kwn3m6hi7t4ywwrh596","children":[]},{"field":"date","paramsType":"date","required":true,"desc":"打包日期","structType":"json","sub":1,"key":"kwn3mcpyk6lwlh5msa8","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:158;O:8:"stdClass":19:{s:2:"id";s:4:"1445";s:3:"doc";s:3:"434";s:6:"module";s:3:"109";s:5:"title";s:18:"获取版本详情";s:4:"path";s:11:"/builds/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:116:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1638:"[{"field":"id","paramsType":"int","required":true,"desc":"版本ID","structType":"json","sub":1,"key":"kwn2hke96i5njkoy06m","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwn3iu5ilw20yqn6gao","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwn3jaea9a00bqeziw","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属产品分支(主分支为0)","structType":"json","sub":1,"key":"kwn3jkc5xrijl3g11rg","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwn3jzf0144tenen2fal","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"版本名称","structType":"json","sub":1,"key":"kwn3kjjk0v3i8tduutf","children":[]},{"field":"scmPath","paramsType":"string","required":true,"desc":"源代码地址","structType":"json","sub":1,"key":"kwn3kyosy9ygwek0o2s","children":[]},{"field":"filePath","paramsType":"string","required":true,"desc":"下载地址","structType":"json","sub":1,"key":"kwn3l8b97lgsvxg2xd5","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"版本描述","structType":"json","sub":1,"key":"kwn3lgm8punjni3qcdc","children":[]},{"field":"builder","paramsType":"1","required":true,"desc":"构建者","structType":"json","sub":1,"key":"kwn3m6hi7t4ywwrh596","children":[]},{"field":"date","paramsType":"date","required":true,"desc":"打包日期","structType":"json","sub":1,"key":"kwn3mcpyk6lwlh5msa8","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:159;O:8:"stdClass":19:{s:2:"id";s:4:"1443";s:3:"doc";s:3:"436";s:6:"module";s:3:"109";s:5:"title";s:12:"创建版本";s:4:"path";s:24:"/projects/:id/executions";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:1482:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"formData","sub":1,"key":"kwn2hke2m16i7h452cb","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"formData","sub":1,"key":"kwn2l3dui8vpwwx9y8f","children":[]},{"field":"branch","paramsType":"int","required":false,"desc":"所属分支","structType":"formData","sub":1,"key":"kwn2lkz5au17o6goi1o","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"版本名称","structType":"formData","sub":1,"key":"kwn2nomwzdoima7e2hb","children":[]},{"field":"builder","paramsType":"string","required":true,"desc":"构建者","structType":"formData","sub":1,"key":"kwn36kwqb4zzjppzwv7","children":[]},{"field":"date","paramsType":"date","required":"","desc":"打包日期","structType":"formData","sub":1,"key":"kwn374he8b8lbg24sze","children":[]},{"field":"scmPath","paramsType":"string","required":"","desc":"源代码地址","structType":"formData","sub":1,"key":"kwn37q7exee3380qxw","children":[]},{"field":"filePath","paramsType":"string","required":"","desc":"下载地址","structType":"formData","sub":1,"key":"kwn38kxvzw8oql3u0qh","children":[]},{"field":"desc","paramsType":"string","required":false,"desc":"版本描述","structType":"formData","sub":1,"key":"kwn39igbbcz2nsjctqr","children":[]}],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1638:"[{"field":"id","paramsType":"int","required":true,"desc":"版本ID","structType":"json","sub":1,"key":"kwn2hke96i5njkoy06m","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwn3iu5ilw20yqn6gao","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwn3jaea9a00bqeziw","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属产品分支(主分支为0)","structType":"json","sub":1,"key":"kwn3jkc5xrijl3g11rg","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwn3jzf0144tenen2fal","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"版本名称","structType":"json","sub":1,"key":"kwn3kjjk0v3i8tduutf","children":[]},{"field":"scmPath","paramsType":"string","required":true,"desc":"源代码地址","structType":"json","sub":1,"key":"kwn3kyosy9ygwek0o2s","children":[]},{"field":"filePath","paramsType":"string","required":true,"desc":"下载地址","structType":"json","sub":1,"key":"kwn3l8b97lgsvxg2xd5","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"版本描述","structType":"json","sub":1,"key":"kwn3lgm8punjni3qcdc","children":[]},{"field":"builder","paramsType":"1","required":true,"desc":"构建者","structType":"json","sub":1,"key":"kwn3m6hi7t4ywwrh596","children":[]},{"field":"date","paramsType":"date","required":true,"desc":"打包日期","structType":"json","sub":1,"key":"kwn3mcpyk6lwlh5msa8","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:160;O:8:"stdClass":19:{s:2:"id";s:4:"1441";s:3:"doc";s:3:"480";s:6:"module";s:3:"107";s:5:"title";s:27:"获取项目的执行列表";s:4:"path";s:23:"/project/:id/executions";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2213:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwfmsr4svpcdc2c2ip","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"执行总数","structType":"json","sub":1,"key":"kwfs34t9ez00cfhwvtb","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页执行数","structType":"json","sub":1,"key":"kwfs38d1l0cv32ltd5g","children":[]},{"field":"executions","paramsType":"array","required":true,"desc":"执行列表","structType":"json","sub":1,"key":"kwfs3bkjolf2peoxqw","children":[{"field":"id","paramsType":"int","required":true,"desc":"执行ID","structType":"json","sub":2,"key":"kwfs4vl61prpc0matzc","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":2,"key":"kwfs62skb2z6s4c97b8","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":2,"key":"kwfs6fsdl1n419fikci","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":2,"key":"kwfs6s8xhzflp7mj1es","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":2,"key":"kwfs6ysbrdp5gen40zl","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"执行状态()","structType":"json","sub":2,"key":"kwfs7dvazclp95vjg7i","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwfs7xcoz84e7aykmq","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwfs81w4lltagz6uys","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"progress","paramsType":"int","required":true,"desc":"当前进度","structType":"json","sub":2,"key":"kwfs8lc8in8pr5m7sib","parentKey":"kwfs3bkjolf2peoxqw","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:161;O:8:"stdClass":19:{s:2:"id";s:4:"1442";s:3:"doc";s:3:"478";s:6:"module";s:3:"107";s:5:"title";s:12:"创建执行";s:4:"path";s:24:"/projects/:id/executions";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"5";s:6:"params";s:2401:"{"header":[{"field":"Token","required":true,"desc":"认证凭证"}],"params":[{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwg1ms08tbuujh4amd","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwg1oztyy48dm8m7ykk","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwg1pb011jy7te3dhil","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwg1piwmz4iad8atw8g","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwg1po8c6g02wciwc8k","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"json","sub":1,"key":"kwg1py9vcmy6q1qt3vs","children":[]},{"field":"lifetime","paramsType":"string","required":"","desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwg1qxpt6mhzoy5sxm","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwg1rogihd6h959v8en","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"迭代负责人","structType":"json","sub":1,"key":"kwg1u5uwk6dty43r8yq","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwg1ud1wtozclb1wa7","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwg1ujvuqtad5zav3z","children":[]},{"field":"teamMembers","paramsType":"array","required":"","desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwg1ur6sq8cfjlizc8m","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"迭代描述","structType":"json","sub":1,"key":"kwg1vny7cdpckj9m7w5","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwg1wz0cs5bpn14c1x","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg21q5ul24mkz2654r","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2760:"[{"field":"id","paramsType":"int","required":true,"desc":"执行ID","structType":"json","sub":1,"key":"kwje93s0z2ssy5ly0fe","children":[]},{"field":"project","paramsType":"boolean","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwje9v54b34cthkc1of","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwjea30ar0z9hsc1urn","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwjeabewhizyxsjf4cg","children":[]},{"field":"days","paramsType":"int","required":true,"desc":"可用工作日","structType":"json","sub":1,"key":"kwjearrn1hjcssfmckq","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwjeb0e477czkhdc37b","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwjeb7kflmn5w24jp7r","children":[]},{"field":"lifetime","paramsType":"string","required":true,"desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwjebm589usadvn8bd","children":[]},{"field":"PO","paramsType":"1","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwjebvvo35mmg93g23t","children":[]},{"field":"PM","paramsType":"1","required":false,"desc":"迭代负责人","structType":"json","sub":1,"key":"kwjec64i8fbsgsk6o16","children":[]},{"field":"QD","paramsType":"1","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwjec75526g0hq0afpu","children":[]},{"field":"RD","paramsType":"1","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwjeckfrxddq94il8xn","children":[]},{"field":"teamMembers","paramsType":"array","required":true,"desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwjecwu03ma77kxt3a5","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"迭代描述","structType":"json","sub":1,"key":"kwjedoygiwsq148p2kg","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwjedzd69dldudhd355","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单,acl = private时生效","structType":"json","sub":1,"key":"kwjee3inl8cabnd73lj","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwjgyer9dnn0cdmvfbg","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwjgyibi4lkkpze9ru","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:162;O:8:"stdClass":19:{s:2:"id";s:4:"1440";s:3:"doc";s:3:"464";s:6:"module";s:3:"115";s:5:"title";s:24:"获取执行任务列表";s:4:"path";s:21:"/executions/:id/tasks";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4978:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwk22il6ih0mk45ynee","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"任务总数","structType":"json","sub":1,"key":"kwk25yw9h6c88on2gs","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页任务数","structType":"json","sub":1,"key":"kwk26cwonr1ceb1x48c","children":[]},{"field":"tasks","paramsType":"array","required":true,"desc":"任务列表","structType":"json","sub":1,"key":"kwk26oe1cfci0axln9","children":[{"field":"id","paramsType":"int","required":true,"desc":"任务ID","structType":"json","sub":2,"key":"kwk271yyl81fr3z1csq","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwk274lazo9w2l9j6n","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwk27pzko2gd2knetm","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":2,"key":"kwk280tgjkgb3bfaq4f","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"关联需求","structType":"json","sub":2,"key":"kwk28a0ibuxaqm0lsfk","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"任务名称","structType":"json","sub":2,"key":"kwk29366nqs15bgkvzf","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"json","sub":2,"key":"kwk29dnj11da7xaxn1dd","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":2,"key":"kwk2ekkj0nkpzt8y9i8","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":2,"key":"kwk2esg1kesozl3y0cr","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"left","paramsType":"float","required":true,"desc":"剩余工时","structType":"json","sub":2,"key":"kwk2f2t8bulpj1shv5i","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"deadline","paramsType":"date","required":true,"desc":"截止日期","structType":"json","sub":2,"key":"kwk2fb47qitn6rfvpl","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"consumed","paramsType":"float","required":true,"desc":"消耗工时","structType":"json","sub":2,"key":"kwk2gjlv6yypt7pdt1q","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已完成 | closed 已关闭 | cancel 已取消)","structType":"json","sub":2,"key":"kwk2h2nkp8vdklny1rb","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"任务详情","structType":"json","sub":2,"key":"kwk2iravy5agz6tuyg8","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwk2jsnk9ia94nzmczp","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwk2k5d9vo25bjb9hpc","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"assignedTo","paramsType":"1","required":true,"desc":"指派给","structType":"json","sub":2,"key":"kwk2mi8pqtelze3sods","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"estStarted","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":2,"key":"kwk2mv8g9w191nzqwd5","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"realStarted","paramsType":"datetime","required":true,"desc":"实际开始时间","structType":"json","sub":2,"key":"kwk2n31558xty9l48p6","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"finishedBy","paramsType":"1","required":false,"desc":"由谁完成","structType":"json","sub":2,"key":"kwk2rp61lk5obs480gq","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"finishedDate","paramsType":"datetime","required":false,"desc":"完成时间","structType":"json","sub":2,"key":"kwk2rq9q421wtd219ci","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"closedBy","paramsType":"1","required":false,"desc":"由谁关闭","structType":"json","sub":2,"key":"kwk2tiw1ld6srch5jl","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"closedDate","paramsType":"datetime","required":false,"desc":"关闭时间","structType":"json","sub":2,"key":"kwk2tozwkawb70vq2da","parentKey":"kwk26oe1cfci0axln9","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:163;O:8:"stdClass":19:{s:2:"id";s:4:"1439";s:3:"doc";s:3:"473";s:6:"module";s:3:"107";s:5:"title";s:18:"查看执行详情";s:4:"path";s:15:"/executions/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2713:"[{"field":"id","paramsType":"int","required":true,"desc":"执行ID","structType":"json","sub":1,"key":"kwjf8jyxc2bl5hv8aj","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwjf92n2g29wmh5ksod","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwjf93oiywvp8qfjso8","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwjf94h8eksswfob90d","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwjf94n4h5rwsrx9jav","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwjf94t8t1k232wb97k","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"json","sub":1,"key":"kwjf95ea8g3jtdwqbhm","children":[]},{"field":"lifetime","paramsType":"string","required":"","desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwjfak4falp1oiafj0r","children":[]},{"field":"PO","paramsType":"1","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwjfakg8r1npyuij5vr","children":[]},{"field":"PM","paramsType":"1","required":"","desc":"迭代负责人","structType":"json","sub":1,"key":"kwjfakm4mre55vpxd3s","children":[]},{"field":"QD","paramsType":"1","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwjfay8pduj3pwg4ni","children":[]},{"field":"RD","paramsType":"1","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwjfaye22chyvo2td35","children":[]},{"field":"teamMembers","paramsType":"array","required":"","desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwjfayiuu0rcwpgnzt","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"迭代描述","structType":"json","sub":1,"key":"kwjfbfsr0ew9qa91j58k","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwjfbfx3nzyg61vz4s","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwjfbp66qz2vh1h4ib","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwjfbpav4pod9grs3p6","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwjfdqkkbnm8q6il7rl","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:164;O:8:"stdClass":19:{s:2:"id";s:4:"1438";s:3:"doc";s:3:"464";s:6:"module";s:3:"115";s:5:"title";s:24:"获取执行任务列表";s:4:"path";s:21:"/executions/:id/tasks";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:5154:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwk22il6ih0mk45ynee","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"任务总数","structType":"json","sub":1,"key":"kwk25yw9h6c88on2gs","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页任务数","structType":"json","sub":1,"key":"kwk26cwonr1ceb1x48c","children":[]},{"field":"tasks","paramsType":"array","required":true,"desc":"任务列表","structType":"json","sub":1,"key":"kwk26oe1cfci0axln9","children":[{"field":"id","paramsType":"int","required":true,"desc":"任务ID","structType":"json","sub":2,"key":"kwk271yyl81fr3z1csq","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwk274lazo9w2l9j6n","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwk27pzko2gd2knetm","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":2,"key":"kwk280tgjkgb3bfaq4f","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"关联需求","structType":"json","sub":2,"key":"kwk28a0ibuxaqm0lsfk","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"任务名称","structType":"json","sub":2,"key":"kwk29366nqs15bgkvzf","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"json","sub":2,"key":"kwk29dnj11da7xaxn1dd","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":2,"key":"kwk2ekkj0nkpzt8y9i8","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":2,"key":"kwk2esg1kesozl3y0cr","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"left","paramsType":"float","required":true,"desc":"剩余工时","structType":"json","sub":2,"key":"kwk2f2t8bulpj1shv5i","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"deadline","paramsType":"date","required":true,"desc":"截止日期","structType":"json","sub":2,"key":"kwk2fb47qitn6rfvpl","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"consumed","paramsType":"float","required":true,"desc":"消耗工时","structType":"json","sub":2,"key":"kwk2gjlv6yypt7pdt1q","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已完成 | closed 已关闭 | cancel 已取消)","structType":"json","sub":2,"key":"kwk2h2nkp8vdklny1rb","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"任务详情","structType":"json","sub":2,"key":"kwk2iravy5agz6tuyg8","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwk2jsnk9ia94nzmczp","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwk2k5d9vo25bjb9hpc","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"assignedTo","paramsType":"1","required":true,"desc":"指派给","structType":"json","sub":2,"key":"kwk2mi8pqtelze3sods","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"estStarted","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":2,"key":"kwk2mv8g9w191nzqwd5","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"realStarted","paramsType":"datetime","required":true,"desc":"实际开始时间","structType":"json","sub":2,"key":"kwk2n31558xty9l48p6","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"finishedBy","paramsType":"1","required":false,"desc":"由谁完成","structType":"json","sub":2,"key":"kwk2rp61lk5obs480gq","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"finishedDate","paramsType":"datetime","required":false,"desc":"完成时间","structType":"json","sub":2,"key":"kwk2rq9q421wtd219ci","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"closedBy","paramsType":"1","required":false,"desc":"由谁关闭","structType":"json","sub":2,"key":"kwk2tiw1ld6srch5jl","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"closedDate","paramsType":"datetime","required":false,"desc":"关闭时间","structType":"json","sub":2,"key":"kwk2tozwkawb70vq2da","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"mailto","paramsType":"array","required":"","desc":"抄送给","structType":"json","sub":2,"key":"kwt666j22gcx1g3sx63","parentKey":"kwk26oe1cfci0axln9","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:165;O:8:"stdClass":19:{s:2:"id";s:4:"1437";s:3:"doc";s:3:"460";s:6:"module";s:3:"115";s:5:"title";s:12:"创建任务";s:4:"path";s:21:"/executions/:id/tasks";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:2067:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"formData","sub":1,"key":"kwk2vtnfxn98pr2h8yf","children":[]},{"field":"story","paramsType":"int","required":"","desc":"关联需求","structType":"formData","sub":1,"key":"kwk2xlvcr1gkg6izip","children":[]},{"field":"fromBug","paramsType":"int","required":"","desc":"来自于Bug","structType":"formData","sub":1,"key":"kwk2xviqx2ak237g4yi","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"任务名称","structType":"formData","sub":1,"key":"kwk2yavrfjddi4941np","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"formData","sub":1,"key":"kwk2yhq6v5epv4ino7","children":[]},{"field":"assignedTo","paramsType":"array","required":true,"desc":"指派给","structType":"formData","sub":1,"key":"kwk2zis5zbu6jepnl5","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"formData","sub":1,"key":"kwk2zvwesy6jyygqm2","children":[]},{"field":"estimate","paramsType":"float","required":"","desc":"预计工时","structType":"formData","sub":1,"key":"kwk305ekgwbjv0gzb4p","children":[]},{"field":"estStarted","paramsType":"date","required":true,"desc":"预计开始日期","structType":"formData","sub":1,"key":"kwk32zmfpl4kmya3l5h","children":[]},{"field":"deadline","paramsType":"date","required":true,"desc":"预计结束日期","structType":"formData","sub":1,"key":"kwk335gooe4o9gndxb","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"formData","sub":1,"key":"kwt6a17uomk2c6xhjs","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"formData","sub":1,"key":"kwt6a1sp0c8naqpkajj","children":[]}],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4244:"[{"field":"id","paramsType":"int","required":true,"desc":"任务ID","structType":"json","sub":1,"key":"kwk2vtnjuurgha4gkcc","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属任务","structType":"json","sub":1,"key":"kwk37ng942x5k9g1xxm","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父任务","structType":"json","sub":1,"key":"kwk382nnpny9ddvyndg","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwk38e5so8kannzevsl","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwk3imzj095g74m8ff5k","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"关联需求","structType":"json","sub":1,"key":"kwk3iw6rp6bbt5gq3kh","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来源于Bug","structType":"json","sub":1,"key":"kwk3j8pscep4xnuzprg","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"任务名称","structType":"json","sub":1,"key":"kwk3mzbxzc62ksy2659","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"json","sub":1,"key":"kwk3sprxj3d2vj0mat","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk3ukxrnn0ie0rc3oh","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":1,"key":"kwk3v3epr2gpzmkdcmk","children":[]},{"field":"consumed","paramsType":"float","required":true,"desc":"消耗工时","structType":"json","sub":1,"key":"kwk3vjxjszs3uqmmvvm","children":[]},{"field":"left","paramsType":"float","required":true,"desc":"剩余工时","structType":"json","sub":1,"key":"kwk3vu4gwz2vrlwpqd","children":[]},{"field":"deadline","paramsType":"date","required":true,"desc":"预计结束日期","structType":"json","sub":1,"key":"kwk3w6k2qqt6ad9fj6f","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已完成 | closed 已关闭 | cancel 已取消)","structType":"json","sub":1,"key":"kwk3wq0acq6kcla9bxl","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"任务描述","structType":"json","sub":1,"key":"kwk3zv7ssgfg2nko2d","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwk407dr61cugmxhlyv","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwk40d9j5001v5ztro","children":[]},{"field":"assignedTo","paramsType":"1","required":true,"desc":"指派给","structType":"json","sub":1,"key":"kwk40sbi2gb6wlayec8","children":[]},{"field":"assignedDate","paramsType":"datetime","required":true,"desc":"指派时间","structType":"json","sub":1,"key":"kwk40wjuji9duwfxwg","children":[]},{"field":"estStarted","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":1,"key":"kwk41sqvjzmwj2l6k0c","children":[]},{"field":"realStarted","paramsType":"datetime","required":"","desc":"实际开始时间","structType":"json","sub":1,"key":"kwk41tggydumzmjjov","children":[]},{"field":"finishedBy","paramsType":"string","required":"","desc":"由谁完成","structType":"json","sub":1,"key":"kwk41tldxm6egute0hf","children":[]},{"field":"finishedDate","paramsType":"datetime","required":"","desc":"完成时间","structType":"json","sub":1,"key":"kwk41tq3oy1wfxwdm0a","children":[]},{"field":"closedBy","paramsType":"1","required":"","desc":"由谁关闭","structType":"json","sub":1,"key":"kwk42tximh8mftw3o2h","children":[]},{"field":"closedDate","paramsType":"datetime","required":"","desc":"关闭时间","structType":"json","sub":1,"key":"kwk42u2nz10u8prmjqe","children":[]},{"field":"team","paramsType":"array","required":true,"desc":"团队,应用于多人任务","structType":"json","sub":1,"key":"kwt8yls7al1zdn067zn","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:166;O:8:"stdClass":19:{s:2:"id";s:4:"1436";s:3:"doc";s:3:"461";s:6:"module";s:3:"115";s:5:"title";s:18:"获取任务详情";s:4:"path";s:10:"/tasks/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4095:"[{"field":"id","paramsType":"int","required":true,"desc":"任务ID","structType":"json","sub":1,"key":"kwk2vtnjuurgha4gkcc","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属任务","structType":"json","sub":1,"key":"kwk37ng942x5k9g1xxm","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父任务","structType":"json","sub":1,"key":"kwk382nnpny9ddvyndg","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwk38e5so8kannzevsl","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwk3imzj095g74m8ff5k","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"关联需求","structType":"json","sub":1,"key":"kwk3iw6rp6bbt5gq3kh","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来源于Bug","structType":"json","sub":1,"key":"kwk3j8pscep4xnuzprg","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"任务名称","structType":"json","sub":1,"key":"kwk3mzbxzc62ksy2659","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"json","sub":1,"key":"kwk3sprxj3d2vj0mat","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk3ukxrnn0ie0rc3oh","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":1,"key":"kwk3v3epr2gpzmkdcmk","children":[]},{"field":"consumed","paramsType":"float","required":true,"desc":"消耗工时","structType":"json","sub":1,"key":"kwk3vjxjszs3uqmmvvm","children":[]},{"field":"left","paramsType":"float","required":true,"desc":"剩余工时","structType":"json","sub":1,"key":"kwk3vu4gwz2vrlwpqd","children":[]},{"field":"deadline","paramsType":"date","required":true,"desc":"预计结束日期","structType":"json","sub":1,"key":"kwk3w6k2qqt6ad9fj6f","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已完成 | closed 已关闭 | cancel 已取消)","structType":"json","sub":1,"key":"kwk3wq0acq6kcla9bxl","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"任务描述","structType":"json","sub":1,"key":"kwk3zv7ssgfg2nko2d","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwk407dr61cugmxhlyv","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwk40d9j5001v5ztro","children":[]},{"field":"assignedTo","paramsType":"string","required":true,"desc":"指派给","structType":"json","sub":1,"key":"kwk40sbi2gb6wlayec8","children":[]},{"field":"assignedDate","paramsType":"datetime","required":true,"desc":"指派时间","structType":"json","sub":1,"key":"kwk40wjuji9duwfxwg","children":[]},{"field":"estStarted","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":1,"key":"kwk41sqvjzmwj2l6k0c","children":[]},{"field":"realStarted","paramsType":"datetime","required":"","desc":"实际开始时间","structType":"json","sub":1,"key":"kwk41tggydumzmjjov","children":[]},{"field":"finishedBy","paramsType":"string","required":"","desc":"由谁完成","structType":"json","sub":1,"key":"kwk41tldxm6egute0hf","children":[]},{"field":"finishedDate","paramsType":"datetime","required":"","desc":"完成时间","structType":"json","sub":1,"key":"kwk41tq3oy1wfxwdm0a","children":[]},{"field":"closedBy","paramsType":"string","required":"","desc":"由谁关闭","structType":"json","sub":1,"key":"kwk42tximh8mftw3o2h","children":[]},{"field":"closedDate","paramsType":"datetime","required":"","desc":"关闭时间","structType":"json","sub":1,"key":"kwk42u2nz10u8prmjqe","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:167;O:8:"stdClass":19:{s:2:"id";s:4:"1435";s:3:"doc";s:3:"457";s:6:"module";s:3:"115";s:5:"title";s:12:"修改任务";s:4:"path";s:10:"/tasks/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:1781:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"formData","sub":1,"key":"kwk2vtnfxn98pr2h8yf","children":[]},{"field":"story","paramsType":"int","required":"","desc":"关联需求","structType":"formData","sub":1,"key":"kwk2xlvcr1gkg6izip","children":[]},{"field":"fromBug","paramsType":"int","required":"","desc":"来自于Bug","structType":"formData","sub":1,"key":"kwk2xviqx2ak237g4yi","children":[]},{"field":"name","paramsType":"string","required":false,"desc":"任务名称","structType":"formData","sub":1,"key":"kwk2yavrfjddi4941np","children":[]},{"field":"type","paramsType":"string","required":false,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"formData","sub":1,"key":"kwk2yhq6v5epv4ino7","children":[]},{"field":"assignedTo","paramsType":"array","required":false,"desc":"指派给,[\"admin\"]","structType":"formData","sub":1,"key":"kwk2zis5zbu6jepnl5","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"formData","sub":1,"key":"kwk2zvwesy6jyygqm2","children":[]},{"field":"estimate","paramsType":"float","required":"","desc":"预计工时","structType":"formData","sub":1,"key":"kwk305ekgwbjv0gzb4p","children":[]},{"field":"estStarted","paramsType":"date","required":false,"desc":"预计开始日期","structType":"formData","sub":1,"key":"kwk32zmfpl4kmya3l5h","children":[]},{"field":"deadline","paramsType":"date","required":false,"desc":"预计结束日期","structType":"formData","sub":1,"key":"kwk335gooe4o9gndxb","children":[]}],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4075:"[{"field":"id","paramsType":"int","required":true,"desc":"任务ID","structType":"json","sub":1,"key":"kwk2vtnjuurgha4gkcc","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属任务","structType":"json","sub":1,"key":"kwk37ng942x5k9g1xxm","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父任务","structType":"json","sub":1,"key":"kwk382nnpny9ddvyndg","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwk38e5so8kannzevsl","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwk3imzj095g74m8ff5k","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"关联需求","structType":"json","sub":1,"key":"kwk3iw6rp6bbt5gq3kh","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来源于Bug","structType":"json","sub":1,"key":"kwk3j8pscep4xnuzprg","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"任务名称","structType":"json","sub":1,"key":"kwk3mzbxzc62ksy2659","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"json","sub":1,"key":"kwk3sprxj3d2vj0mat","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk3ukxrnn0ie0rc3oh","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":1,"key":"kwk3v3epr2gpzmkdcmk","children":[]},{"field":"consumed","paramsType":"float","required":true,"desc":"消耗工时","structType":"json","sub":1,"key":"kwk3vjxjszs3uqmmvvm","children":[]},{"field":"left","paramsType":"float","required":true,"desc":"剩余工时","structType":"json","sub":1,"key":"kwk3vu4gwz2vrlwpqd","children":[]},{"field":"deadline","paramsType":"date","required":true,"desc":"预计结束日期","structType":"json","sub":1,"key":"kwk3w6k2qqt6ad9fj6f","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已完成 | closed 已关闭 | cancel 已取消)","structType":"json","sub":1,"key":"kwk3wq0acq6kcla9bxl","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"任务描述","structType":"json","sub":1,"key":"kwk3zv7ssgfg2nko2d","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwk407dr61cugmxhlyv","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwk40d9j5001v5ztro","children":[]},{"field":"assignedTo","paramsType":"1","required":true,"desc":"指派给","structType":"json","sub":1,"key":"kwk40sbi2gb6wlayec8","children":[]},{"field":"assignedDate","paramsType":"datetime","required":true,"desc":"指派时间","structType":"json","sub":1,"key":"kwk40wjuji9duwfxwg","children":[]},{"field":"estStarted","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":1,"key":"kwk41sqvjzmwj2l6k0c","children":[]},{"field":"realStarted","paramsType":"datetime","required":"","desc":"实际开始时间","structType":"json","sub":1,"key":"kwk41tggydumzmjjov","children":[]},{"field":"finishedBy","paramsType":"1","required":"","desc":"由谁完成","structType":"json","sub":1,"key":"kwk41tldxm6egute0hf","children":[]},{"field":"finishedDate","paramsType":"datetime","required":"","desc":"完成时间","structType":"json","sub":1,"key":"kwk41tq3oy1wfxwdm0a","children":[]},{"field":"closedBy","paramsType":"1","required":"","desc":"由谁关闭","structType":"json","sub":1,"key":"kwk42tximh8mftw3o2h","children":[]},{"field":"closedDate","paramsType":"datetime","required":"","desc":"关闭时间","structType":"json","sub":1,"key":"kwk42u2nz10u8prmjqe","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:168;O:8:"stdClass":19:{s:2:"id";s:4:"1434";s:3:"doc";s:3:"459";s:6:"module";s:3:"114";s:5:"title";s:21:"获取产品Bug列表";s:4:"path";s:18:"/products/:id/bugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4563:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwk7eduw8zanbk9e6ht","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"Bug总数","structType":"json","sub":1,"key":"kwk7pmjg8bx9ks5nsdk","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页Bug数","structType":"json","sub":1,"key":"kwk7pp5rjiki3jhrqle","children":[]},{"field":"bugs","paramsType":"array","required":true,"desc":"Bug列表","structType":"json","sub":1,"key":"kwk7q10gli3djouo26c","children":[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":2,"key":"kwk7qqlrf6qsab9fmhm","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwk7qzuq0oj0uidcf22","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwk7rseae435am146u","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":2,"key":"kwk7s28age0knpphuk8","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwk7sbfgc2u9vfys535","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwk7ssk9hsnhc1jacyb","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"toTask","paramsType":"int","required":true,"desc":"转为任务","structType":"json","sub":2,"key":"kwk7t6cv3ijumgtosse","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"toStory","paramsType":"int","required":true,"desc":"转为需求","structType":"json","sub":2,"key":"kwk7u9hhuk9imxkru49","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":2,"key":"kwk7uqb51qjre1zitzb","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"keywords","paramsType":"string","required":true,"desc":"关键字","structType":"json","sub":2,"key":"kwk7vlp4zqjj0c4imok","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":2,"key":"kwk7vvdcae2kc4wvix9","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":2,"key":"kwk7w5ganzfmj1j1x1","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":2,"key":"kwk7wk6xujzgiw0wo48","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":2,"key":"kwk803zry1ramko62gs","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":2,"key":"kwk848lg0liivvjhbc8p","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"steps","paramsType":"string","required":true,"desc":"重现步骤","structType":"json","sub":2,"key":"kwk84q6nkrbk25cc99q","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":2,"key":"kwk857q69enhdu23efr","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":2,"key":"kwk85lg2fc6z3rexd4","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwk86fotnf13zmf0en","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwk87b3qoug8jgtbdjg","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"deadline","paramsType":"date","required":false,"desc":"截止日期","structType":"json","sub":2,"key":"kwk87tq3dxyomivkxs6","parentKey":"kwk7q10gli3djouo26c","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:169;O:8:"stdClass":19:{s:2:"id";s:4:"1433";s:3:"doc";s:3:"459";s:6:"module";s:3:"114";s:5:"title";s:21:"获取产品Bug列表";s:4:"path";s:18:"/products/:id/bugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:5844:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwk7eduw8zanbk9e6ht","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"Bug总数","structType":"json","sub":1,"key":"kwk7pmjg8bx9ks5nsdk","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页Bug数","structType":"json","sub":1,"key":"kwk7pp5rjiki3jhrqle","children":[]},{"field":"bugs","paramsType":"array","required":true,"desc":"Bug列表","structType":"json","sub":1,"key":"kwk7q10gli3djouo26c","children":[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":2,"key":"kwk7qqlrf6qsab9fmhm","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwk7qzuq0oj0uidcf22","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwk7rseae435am146u","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":2,"key":"kwk7s28age0knpphuk8","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwk7sbfgc2u9vfys535","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwk7ssk9hsnhc1jacyb","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"toTask","paramsType":"int","required":true,"desc":"转为任务","structType":"json","sub":2,"key":"kwk7t6cv3ijumgtosse","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"toStory","paramsType":"int","required":true,"desc":"转为需求","structType":"json","sub":2,"key":"kwk7u9hhuk9imxkru49","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":2,"key":"kwk7uqb51qjre1zitzb","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"keywords","paramsType":"string","required":true,"desc":"关键字","structType":"json","sub":2,"key":"kwk7vlp4zqjj0c4imok","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":2,"key":"kwk7vvdcae2kc4wvix9","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":2,"key":"kwk7w5ganzfmj1j1x1","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":2,"key":"kwk7wk6xujzgiw0wo48","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":2,"key":"kwk803zry1ramko62gs","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":2,"key":"kwk848lg0liivvjhbc8p","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"steps","paramsType":"string","required":true,"desc":"重现步骤","structType":"json","sub":2,"key":"kwk84q6nkrbk25cc99q","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":2,"key":"kwk857q69enhdu23efr","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":2,"key":"kwk85lg2fc6z3rexd4","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwk86fotnf13zmf0en","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwk87b3qoug8jgtbdjg","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"deadline","paramsType":"date","required":false,"desc":"截止日期","structType":"json","sub":2,"key":"kwk87tq3dxyomivkxs6","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"assignedTo","paramsType":"1","required":"","desc":"指派给","structType":"json","sub":2,"key":"kwtbqoa9vqb7f21srse","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"assignedDate","paramsType":"datetime","required":"","desc":"指派时间","structType":"json","sub":2,"key":"kwtbr15ttoimxdswkrp","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"resolvedBy","paramsType":"1","required":"","desc":"由谁解决","structType":"json","sub":2,"key":"kwtbrhatv8b7tmo9ku","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"resolvedDate","paramsType":"datetime","required":"","desc":"解决时间","structType":"json","sub":2,"key":"kwtbrwq0a2lla3pd2o","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"resolvedBuild","paramsType":"string","required":"","desc":"解决版本","structType":"json","sub":2,"key":"kwtbsjcl1go23ol6x9n","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"closedBy","paramsType":"1","required":"","desc":"由谁关闭","structType":"json","sub":2,"key":"kwtbsrk3rnmf8jsrllp","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"closedDate","paramsType":"datetime","required":"","desc":"关闭时间","structType":"json","sub":2,"key":"kwtbts64oocm7bnt20m","parentKey":"kwk7q10gli3djouo26c","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:170;O:8:"stdClass":19:{s:2:"id";s:4:"1432";s:3:"doc";s:3:"456";s:6:"module";s:3:"114";s:5:"title";s:9:"创建Bug";s:4:"path";s:18:"/products/:id/bugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"5";s:6:"params";s:2501:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk8aqb89rtg6cglkie","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk8bltwrldt1wgchnm","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk8bvemkvpxfdwwxy","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk8c7sybpxtka3kowi","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwk8crrf3fiqj00xivb","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk8d0a47z72hrd0o9i","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk8ddaj9c4lek4vez","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk8dmjemjpf2bn97an","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk8f6cl5ykqt41zk7s","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk8fgo4lqfxxjvdn3e","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk8fpxtwg5me792glg","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk8g0hztx0ofv70fy","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk8gemtbllui458dm","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk8gutklfhqqj3ilkf","children":[]},{"field":"openedBuild","paramsType":"array","required":"","desc":"影响版本","structType":"json","sub":1,"key":"kwk8ib5qsuuqbsf1iur","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4317:"[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":1,"key":"kwk8xdeull75i2kwmsc","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwk8xmknfik26dkmycn","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":1,"key":"kwk922tvb2h0uasmm08","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwk92jra5kpmzq4jtj5","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwk92tvgygxc0o40qo","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwk9337e0ptpx29g28ln","children":[]},{"field":"toTask","paramsType":"boolean","required":"","desc":"转为任务","structType":"json","sub":1,"key":"kwk93c39rt0sgpm82no","children":[]},{"field":"toStory","paramsType":"boolean","required":"","desc":"转为需求","structType":"json","sub":1,"key":"kwk93grgd74t8m9nild","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk93oo1wzuqt58wwp","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键字","structType":"json","sub":1,"key":"kwk93y5cozg5crw2uyf","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk9476xpfedgaf852g","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk94fp1l7dy6hzh1qq","children":[]},{"field":"type","paramsType":"string","required":"","desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk94olautm2qx8bo0d","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk94xg2mnjnw4alypf","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk9566paqsrfqx9mk7","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk95fals8zmsirxa1","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk95o8svqhwas7tvp","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk95y26wdspfvfn33n","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwk967690ddf5geqegzg","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwk96ggevpdw00iv46o","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk96nz9ct92dakrmq","children":[]},{"field":"assignedTo","paramsType":"1","required":"","desc":"指派给","structType":"json","sub":1,"key":"kwtbxz7soft90d6fnke","children":[]},{"field":"assgnedDate","paramsType":"datetime","required":"","desc":"指派时间","structType":"json","sub":1,"key":"kwtby03fouineb88qc","children":[]},{"field":"resolvedBy","paramsType":"1","required":"","desc":"由谁解决","structType":"json","sub":1,"key":"kwtby0lkg4929a72gjs","children":[]},{"field":"resolvedDate","paramsType":"datetime","required":"","desc":"解决时间","structType":"json","sub":1,"key":"kwtbynzmtg2sre0lwps","children":[]},{"field":"resolvedBuild","paramsType":"string","required":"","desc":"解决版本","structType":"json","sub":1,"key":"kwtbyokpoegco7yc8d","children":[]},{"field":"closedBy","paramsType":"1","required":"","desc":"由谁关闭","structType":"json","sub":1,"key":"kwtc0ep34n5r0k2f8cf","children":[]},{"field":"closedDate","paramsType":"datetime","required":"","desc":"关闭时间","structType":"json","sub":1,"key":"kwtc0fquc5yf55mpcm","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:171;O:8:"stdClass":19:{s:2:"id";s:4:"1431";s:3:"doc";s:3:"456";s:6:"module";s:3:"114";s:5:"title";s:9:"创建Bug";s:4:"path";s:18:"/products/:id/bugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"6";s:6:"params";s:2501:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk8aqb89rtg6cglkie","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk8bltwrldt1wgchnm","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk8bvemkvpxfdwwxy","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk8c7sybpxtka3kowi","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwk8crrf3fiqj00xivb","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk8d0a47z72hrd0o9i","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk8ddaj9c4lek4vez","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk8dmjemjpf2bn97an","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk8f6cl5ykqt41zk7s","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk8fgo4lqfxxjvdn3e","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk8fpxtwg5me792glg","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk8g0hztx0ofv70fy","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk8gemtbllui458dm","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk8gutklfhqqj3ilkf","children":[]},{"field":"openedBuild","paramsType":"array","required":"","desc":"影响版本","structType":"json","sub":1,"key":"kwk8ib5qsuuqbsf1iur","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4317:"[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":1,"key":"kwk8xdeull75i2kwmsc","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwk8xmknfik26dkmycn","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":1,"key":"kwk922tvb2h0uasmm08","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwk92jra5kpmzq4jtj5","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwk92tvgygxc0o40qo","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwk9337e0ptpx29g28ln","children":[]},{"field":"toTask","paramsType":"boolean","required":"","desc":"转为任务","structType":"json","sub":1,"key":"kwk93c39rt0sgpm82no","children":[]},{"field":"toStory","paramsType":"boolean","required":"","desc":"转为需求","structType":"json","sub":1,"key":"kwk93grgd74t8m9nild","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk93oo1wzuqt58wwp","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键字","structType":"json","sub":1,"key":"kwk93y5cozg5crw2uyf","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk9476xpfedgaf852g","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk94fp1l7dy6hzh1qq","children":[]},{"field":"type","paramsType":"string","required":"","desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk94olautm2qx8bo0d","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk94xg2mnjnw4alypf","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk9566paqsrfqx9mk7","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk95fals8zmsirxa1","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk95o8svqhwas7tvp","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk95y26wdspfvfn33n","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwk967690ddf5geqegzg","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwk96ggevpdw00iv46o","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk96nz9ct92dakrmq","children":[]},{"field":"assignedTo","paramsType":"1","required":"","desc":"指派给","structType":"json","sub":1,"key":"kwtbxz7soft90d6fnke","children":[]},{"field":"assgnedDate","paramsType":"datetime","required":"","desc":"指派时间","structType":"json","sub":1,"key":"kwtby03fouineb88qc","children":[]},{"field":"resolvedBy","paramsType":"1","required":"","desc":"由谁解决","structType":"json","sub":1,"key":"kwtby0lkg4929a72gjs","children":[]},{"field":"resolvedDate","paramsType":"datetime","required":"","desc":"解决时间","structType":"json","sub":1,"key":"kwtbynzmtg2sre0lwps","children":[]},{"field":"resolvedBuild","paramsType":"string","required":"","desc":"解决版本","structType":"json","sub":1,"key":"kwtbyokpoegco7yc8d","children":[]},{"field":"closedBy","paramsType":"1","required":"","desc":"由谁关闭","structType":"json","sub":1,"key":"kwtc0ep34n5r0k2f8cf","children":[]},{"field":"closedDate","paramsType":"datetime","required":"","desc":"关闭时间","structType":"json","sub":1,"key":"kwtc0fquc5yf55mpcm","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:172;O:8:"stdClass":19:{s:2:"id";s:4:"1430";s:3:"doc";s:3:"456";s:6:"module";s:3:"114";s:5:"title";s:9:"创建Bug";s:4:"path";s:18:"/products/:id/bugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"7";s:6:"params";s:2501:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk8aqb89rtg6cglkie","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk8bltwrldt1wgchnm","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk8bvemkvpxfdwwxy","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk8c7sybpxtka3kowi","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwk8crrf3fiqj00xivb","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk8d0a47z72hrd0o9i","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk8ddaj9c4lek4vez","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk8dmjemjpf2bn97an","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk8f6cl5ykqt41zk7s","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk8fgo4lqfxxjvdn3e","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk8fpxtwg5me792glg","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk8g0hztx0ofv70fy","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk8gemtbllui458dm","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk8gutklfhqqj3ilkf","children":[]},{"field":"openedBuild","paramsType":"array","required":"","desc":"影响版本","structType":"json","sub":1,"key":"kwk8ib5qsuuqbsf1iur","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4514:"[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":1,"key":"kwk8xdeull75i2kwmsc","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwk8xmknfik26dkmycn","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":1,"key":"kwk922tvb2h0uasmm08","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwk92jra5kpmzq4jtj5","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwk92tvgygxc0o40qo","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwk9337e0ptpx29g28ln","children":[]},{"field":"toTask","paramsType":"boolean","required":"","desc":"转为任务","structType":"json","sub":1,"key":"kwk93c39rt0sgpm82no","children":[]},{"field":"toStory","paramsType":"boolean","required":"","desc":"转为需求","structType":"json","sub":1,"key":"kwk93grgd74t8m9nild","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk93oo1wzuqt58wwp","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键字","structType":"json","sub":1,"key":"kwk93y5cozg5crw2uyf","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk9476xpfedgaf852g","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk94fp1l7dy6hzh1qq","children":[]},{"field":"type","paramsType":"string","required":"","desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk94olautm2qx8bo0d","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk94xg2mnjnw4alypf","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk9566paqsrfqx9mk7","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk95fals8zmsirxa1","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk95o8svqhwas7tvp","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk95y26wdspfvfn33n","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwk967690ddf5geqegzg","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwk96ggevpdw00iv46o","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk96nz9ct92dakrmq","children":[]},{"field":"assignedTo","paramsType":"1","required":"","desc":"指派给","structType":"json","sub":1,"key":"kwtbxz7soft90d6fnke","children":[]},{"field":"assgnedDate","paramsType":"datetime","required":"","desc":"指派时间","structType":"json","sub":1,"key":"kwtby03fouineb88qc","children":[]},{"field":"resolvedBy","paramsType":"1","required":"","desc":"由谁解决","structType":"json","sub":1,"key":"kwtby0lkg4929a72gjs","children":[]},{"field":"resolvedDate","paramsType":"datetime","required":"","desc":"解决时间","structType":"json","sub":1,"key":"kwtbynzmtg2sre0lwps","children":[]},{"field":"resolvedBuild","paramsType":"string","required":"","desc":"解决版本","structType":"json","sub":1,"key":"kwtbyokpoegco7yc8d","children":[]},{"field":"closedBy","paramsType":"1","required":"","desc":"由谁关闭","structType":"json","sub":1,"key":"kwtc0ep34n5r0k2f8cf","children":[]},{"field":"closedDate","paramsType":"datetime","required":"","desc":"关闭时间","structType":"json","sub":1,"key":"kwtc0fquc5yf55mpcm","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(active 激活 | resolved 已解决 | closed 已关闭)","structType":"json","sub":1,"key":"kwtdcy67h7ab3mrs7r","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:173;O:8:"stdClass":19:{s:2:"id";s:4:"1429";s:3:"doc";s:3:"452";s:6:"module";s:3:"113";s:5:"title";s:24:"获取产品用例列表";s:4:"path";s:23:"/products/:id/testcases";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4343:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwk9g1dojwbroymrcws","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"用例总数","structType":"json","sub":1,"key":"kwkahlaakbout0bp6fn","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页用例数","structType":"json","sub":1,"key":"kwkahlgmogbrc7psek","children":[]},{"field":"testcases","paramsType":"array","required":true,"desc":"用例列表","structType":"json","sub":1,"key":"kwkai7c6gyotx0jcuyo","children":[{"field":"id","paramsType":"int","required":true,"desc":"用例ID","structType":"json","sub":2,"key":"kwkaimzfdgn2x7b9m8r","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"product","paramsType":"int","required":"","desc":"所属产品","structType":"json","sub":2,"key":"kwkaiwknw27spdo17d","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":2,"key":"kwkamrbw5phoosjotue","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所有模块","structType":"json","sub":2,"key":"kwkan7k2pxrj00bk8ak","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关研发需求","structType":"json","sub":2,"key":"kwkanjh2c1x7mpvmsqo","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"storyVersion","paramsType":"int","required":"","desc":"需求版本","structType":"json","sub":2,"key":"kwkao2n2ft4n19f1jcu","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"title","paramsType":"string","required":"","desc":"用例标题","structType":"json","sub":2,"key":"kwkarhs99mt7mbrg2gs","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"precondition","paramsType":"string","required":"","desc":"前置条件","structType":"json","sub":2,"key":"kwkas0x38pi6gs6z4cj","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":2,"key":"kwkasbwzd2tn1leos8u","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":2,"key":"kwkaskmf0g3yfcecg0x","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"type","paramsType":"string","required":"","desc":"用例类型(feature 功能测试 | performance 性能测试 | config 配置相关 | install 安装部署 | security 安全相关 | interface 接口测试 | unit 单元测试 | other 其他)","structType":"json","sub":2,"key":"kwkassfkmsmqc55n94m","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"stage","paramsType":"string","required":"","desc":"适用阶段(unittest 单元测试阶段 | feature 功能测试阶段 | intergrate 集成测试阶段 | system 系统测试阶段 | smoke 冒烟测试阶段 | bvt 版本验证阶段)","structType":"json","sub":2,"key":"kwkavbir1xzs1p0zat8","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"status","paramsType":"object","required":"","desc":"状态","structType":"json","sub":2,"key":"kwkax2enp5573iuu8ba","parentKey":"kwkai7c6gyotx0jcuyo","children":[{"field":"code","paramsType":"string","required":"","desc":"状态编号","structType":"json","sub":3,"key":"kwkaxv4ydl52rkoa88q","parentKey":"kwkax2enp5573iuu8ba","children":[]},{"field":"name","paramsType":"string","required":"","desc":"状态名称","structType":"json","sub":3,"key":"kwkay6a25nug5uorjc9","parentKey":"kwkax2enp5573iuu8ba","children":[]}]},{"field":"openedBy","paramsType":"1","required":"","desc":"创建人","structType":"json","sub":2,"key":"kwkayfdu351ai2383im","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"openedDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":2,"key":"kwkayqk5u0rb5qof06m","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"fromBug","paramsType":"int","required":"","desc":"来自于Bug","structType":"json","sub":2,"key":"kwkaz9zrf2m6ossk686","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"fromCaseID","paramsType":"int","required":"","desc":"来自于用例","structType":"json","sub":2,"key":"kwkazwf5s3mg7p8fyr","parentKey":"kwkai7c6gyotx0jcuyo","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:174;O:8:"stdClass":19:{s:2:"id";s:4:"1428";s:3:"doc";s:3:"450";s:6:"module";s:3:"113";s:5:"title";s:12:"修改用例";s:4:"path";s:14:"/testcases/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:2277:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":false,"desc":"所属分支","structType":"json","sub":1,"key":"kwkb585nh9kq7cvquwf","children":[]},{"field":"module","paramsType":"int","required":false,"desc":"所属模块","structType":"json","sub":1,"key":"kwkb5gnh9rqsunyb7w","children":[]},{"field":"story","paramsType":"int","required":false,"desc":"所属需求","structType":"json","sub":1,"key":"kwkb5vnpernt7n7qr1","children":[]},{"field":"title","paramsType":"string","required":false,"desc":"用例标题","structType":"json","sub":1,"key":"kwkb67fcgbtqwt9t1n","children":[]},{"field":"type","paramsType":"string","required":false,"desc":"用例类型(feature 功能测试 | performance 性能测试 | config 配置相关 | install 安装部署 | security 安全相关 | interface 接口测试 | unit 单元测试 | other 其他)","structType":"json","sub":1,"key":"kwkbdbba1q8y7ciotzw","children":[]},{"field":"stage","paramsType":"string","required":"","desc":"适用阶段(unittest 单元测试阶段 | feature 功能测试阶段 | intergrate 集成测试阶段 | system 系统测试阶段 | smoke 冒烟测试阶段 | bvt 版本验证阶段)","structType":"json","sub":1,"key":"kwkbgfsltq5w0sv7p9c","children":[]},{"field":"precondition","paramsType":"string","required":"","desc":"前置条件","structType":"json","sub":1,"key":"kwkbgqjsa1jgzrmg4vn","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":1,"key":"kwkbihae0iunh2kdnnxu","children":[]},{"field":"steps","paramsType":"array","required":false,"desc":"用例步骤","structType":"json","sub":1,"key":"kwkbiv37ihuyv1ugzs","children":[{"field":"desc","paramsType":"string","required":false,"desc":"步骤","structType":"json","sub":2,"key":"kwkc323gs0rax2k3dr","parentKey":"kwkbiv37ihuyv1ugzs","children":[]},{"field":"expect","paramsType":"string","required":false,"desc":"期望","structType":"json","sub":2,"key":"kwkc2unsakue1k30x9","parentKey":"kwkbiv37ihuyv1ugzs","children":[]}]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwkbjwoa4v710jbgcms","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3054:"[{"field":"id","paramsType":"int","required":true,"desc":"用例ID","structType":"json","sub":1,"key":"kwkc2rk8pm0jqqb5p4e","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwkcew5dn6k84l1b2w","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":1,"key":"kwkcfe0icj4821ilk0a","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwkcfnyket632bglf8d","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"相关需求","structType":"json","sub":1,"key":"kwkcfxczmv2ceuh1fr","children":[]},{"field":"storyVersion","paramsType":"int","required":true,"desc":"需求版本","structType":"json","sub":1,"key":"kwkcgcbnskreyy1oltq","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":1,"key":"kwkcgtezpflujhz1lg8","children":[]},{"field":"precondition","paramsType":"string","required":true,"desc":"前置条件","structType":"json","sub":1,"key":"kwkch57jxjil6a7eise","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwkchabrzuz0zbf84b","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"用例类型(feature 功能测试 | performance 性能测试 | config 配置相关 | install 安装部署 | security 安全相关 | interface 接口测试 | unit 单元测试 | other 其他)","structType":"json","sub":1,"key":"kwkchpw4m40vhbp5z9","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"适用阶段(unittest 单元测试阶段 | feature 功能测试阶段 | intergrate 集成测试阶段 | system 系统测试阶段 | smoke 冒烟测试阶段 | bvt 版本验证阶段)","structType":"json","sub":1,"key":"kwkcihgaceclorkxpy","children":[]},{"field":"steps","paramsType":"array","required":true,"desc":"用例步骤列表","structType":"json","sub":1,"key":"kwkcissin2l8deqtjo","children":[{"field":"desc","paramsType":"string","required":true,"desc":"步骤","structType":"json","sub":2,"key":"kwkck2mbvdyprzp4ji","parentKey":"kwkcissin2l8deqtjo","children":[]},{"field":"expect","paramsType":"string","required":true,"desc":"期望","structType":"json","sub":2,"key":"kwkcjt8o3jey849nf2n","parentKey":"kwkcissin2l8deqtjo","children":[]}]},{"field":"fromBug","paramsType":"int","required":"","desc":"来自于Bug","structType":"json","sub":1,"key":"kwkcm29boc0ev1phqul","children":[]},{"field":"fromCaseID","paramsType":"int","required":"","desc":"来自于用例","structType":"json","sub":1,"key":"kwkcm7yt26ijdjj8rum","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwkcmxk7j2t3yftrf7","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwkcmxxoua9sk0sgagd","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:175;O:8:"stdClass":19:{s:2:"id";s:4:"1427";s:3:"doc";s:3:"433";s:6:"module";s:3:"110";s:5:"title";s:21:"获取测试单列表";s:4:"path";s:10:"/testtasks";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:459:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[{"field":"page","required":false,"desc":"当前页数,默认为1"},{"field":"limit","required":false,"desc":"每页测试单数,默认20个"},{"field":"order","required":false,"desc":"排序,默认 id_desc 按照id倒序"},{"field":"product","required":"","desc":"所属产品"},{"field":"branch","required":"","desc":"所属分支"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3134:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页面","structType":"json","sub":1,"key":"kwo8ucgi1qbiaae0r5g","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"Bug总数","structType":"json","sub":1,"key":"kwo8ylqaacg8y7cb8b","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页Bug数","structType":"json","sub":1,"key":"kwo9046hkmpcyzx2v4g","children":[]},{"field":"testtasks","paramsType":"array","required":true,"desc":"测试单列表","structType":"json","sub":1,"key":"kwo90jo2wiqkcj2scf","children":[{"field":"id","paramsType":"int","required":true,"desc":"测试单编号","structType":"json","sub":2,"key":"kwo9188usj7n1ypugb8","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwo91fs9wlmq36edrq","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwo91gbs4lbogx6x3n7","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"测试单名称","structType":"json","sub":2,"key":"kwo91goa75b2azrowyj","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwo923z994jrii35ild","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"build","paramsType":"int","required":true,"desc":"所属版本","structType":"json","sub":2,"key":"kwo9244im88g3ytyoji","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"type","paramsType":"string","required":"","desc":"类型","structType":"json","sub":2,"key":"kwo92gxzu39f8r2oec8","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"owner","paramsType":"string","required":"","desc":"负责人","structType":"json","sub":2,"key":"kwo92hhy3l0aft9p0ws","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":2,"key":"kwo93wl5werxqr8dobr","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"开始日期","structType":"json","sub":2,"key":"kwo94u9sz3j1xwiusrl","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"end","paramsType":"date","required":"","desc":"结束日期","structType":"json","sub":2,"key":"kwo950hwe55wyfih99t","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"描述","structType":"json","sub":2,"key":"kwo95vdgd2ftem8xbxq","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已关闭 | blocked 被阻塞)","structType":"json","sub":2,"key":"kwo968gmepovbs7hvxu","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwo986kmt9w834kdmzs","parentKey":"kwo90jo2wiqkcj2scf","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:176;O:8:"stdClass":19:{s:2:"id";s:4:"1426";s:3:"doc";s:3:"433";s:6:"module";s:3:"110";s:5:"title";s:21:"获取测试单列表";s:4:"path";s:10:"/testtasks";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"5";s:6:"params";s:459:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[{"field":"page","required":false,"desc":"当前页数,默认为1"},{"field":"limit","required":false,"desc":"每页测试单数,默认20个"},{"field":"order","required":false,"desc":"排序,默认 id_desc 按照id倒序"},{"field":"product","required":"","desc":"所属产品"},{"field":"branch","required":"","desc":"所属分支"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3129:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页面","structType":"json","sub":1,"key":"kwo8ucgi1qbiaae0r5g","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"Bug总数","structType":"json","sub":1,"key":"kwo8ylqaacg8y7cb8b","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页Bug数","structType":"json","sub":1,"key":"kwo9046hkmpcyzx2v4g","children":[]},{"field":"testtasks","paramsType":"array","required":true,"desc":"测试单列表","structType":"json","sub":1,"key":"kwo90jo2wiqkcj2scf","children":[{"field":"id","paramsType":"int","required":true,"desc":"测试单编号","structType":"json","sub":2,"key":"kwo9188usj7n1ypugb8","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwo91fs9wlmq36edrq","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwo91gbs4lbogx6x3n7","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"测试单名称","structType":"json","sub":2,"key":"kwo91goa75b2azrowyj","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwo923z994jrii35ild","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"build","paramsType":"int","required":true,"desc":"所属版本","structType":"json","sub":2,"key":"kwo9244im88g3ytyoji","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"type","paramsType":"string","required":"","desc":"类型","structType":"json","sub":2,"key":"kwo92gxzu39f8r2oec8","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"owner","paramsType":"1","required":"","desc":"负责人","structType":"json","sub":2,"key":"kwo92hhy3l0aft9p0ws","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":2,"key":"kwo93wl5werxqr8dobr","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"开始日期","structType":"json","sub":2,"key":"kwo94u9sz3j1xwiusrl","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"end","paramsType":"date","required":"","desc":"结束日期","structType":"json","sub":2,"key":"kwo950hwe55wyfih99t","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"描述","structType":"json","sub":2,"key":"kwo95vdgd2ftem8xbxq","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已关闭 | blocked 被阻塞)","structType":"json","sub":2,"key":"kwo968gmepovbs7hvxu","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwo986kmt9w834kdmzs","parentKey":"kwo90jo2wiqkcj2scf","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:177;O:8:"stdClass":19:{s:2:"id";s:4:"1424";s:3:"doc";s:3:"429";s:6:"module";s:3:"110";s:5:"title";s:21:"获取测试单详情";s:4:"path";s:14:"/testtasks/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1844:"[{"field":"id","paramsType":"int","required":true,"desc":"测试单编号","structType":"json","sub":1,"key":"kwohs2y3qvmtjra64a","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwoi42b454iu4jm0gy2","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwoi4d86f1dtrl88ivw","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"测试单名称","structType":"json","sub":1,"key":"kwoi4y4umklckqtw02s","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwoi5dao0i9y2m9l7byb","children":[]},{"field":"build","paramsType":"int","required":true,"desc":"所属版本","structType":"json","sub":1,"key":"kwoi5pkrmti70ofie28","children":[]},{"field":"type","paramsType":"string","required":"","desc":"类型(integrate 集成测试 | system 系统测试 | acceptance 验收测试 | performance 性能测试 | safety 安全测试)","structType":"json","sub":1,"key":"kwoi60vq1qds4eic0tz","children":[]},{"field":"owner","paramsType":"1","required":"","desc":"负责人","structType":"json","sub":1,"key":"kwoi9orjbpmdakv07yl","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":1,"key":"kwoigqrt0dz13j7aaq4","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"开始日期","structType":"json","sub":1,"key":"kwoih8m0gxlep05qzd","children":[]},{"field":"end","paramsType":"date","required":"","desc":"结束日期","structType":"json","sub":1,"key":"kwoihh018oo0afnumpa","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"描述","structType":"json","sub":1,"key":"kwoihnqfavvu8h5qvgw","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:178;O:8:"stdClass":19:{s:2:"id";s:4:"1425";s:3:"doc";s:3:"431";s:6:"module";s:3:"110";s:5:"title";s:24:"获取项目的测试单";s:4:"path";s:23:"/projects/:id/testtasks";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3129:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页面","structType":"json","sub":1,"key":"kwo8ucgi1qbiaae0r5g","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"Bug总数","structType":"json","sub":1,"key":"kwo8ylqaacg8y7cb8b","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页Bug数","structType":"json","sub":1,"key":"kwo9046hkmpcyzx2v4g","children":[]},{"field":"testtasks","paramsType":"array","required":true,"desc":"测试单列表","structType":"json","sub":1,"key":"kwo90jo2wiqkcj2scf","children":[{"field":"id","paramsType":"int","required":true,"desc":"测试单编号","structType":"json","sub":2,"key":"kwo9188usj7n1ypugb8","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwo91fs9wlmq36edrq","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwo91gbs4lbogx6x3n7","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"测试单名称","structType":"json","sub":2,"key":"kwo91goa75b2azrowyj","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwo923z994jrii35ild","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"build","paramsType":"int","required":true,"desc":"所属版本","structType":"json","sub":2,"key":"kwo9244im88g3ytyoji","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"type","paramsType":"string","required":"","desc":"类型","structType":"json","sub":2,"key":"kwo92gxzu39f8r2oec8","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"owner","paramsType":"1","required":"","desc":"负责人","structType":"json","sub":2,"key":"kwo92hhy3l0aft9p0ws","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":2,"key":"kwo93wl5werxqr8dobr","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"开始日期","structType":"json","sub":2,"key":"kwo94u9sz3j1xwiusrl","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"end","paramsType":"date","required":"","desc":"结束日期","structType":"json","sub":2,"key":"kwo950hwe55wyfih99t","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"描述","structType":"json","sub":2,"key":"kwo95vdgd2ftem8xbxq","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已关闭 | blocked 被阻塞)","structType":"json","sub":2,"key":"kwo968gmepovbs7hvxu","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwo986kmt9w834kdmzs","parentKey":"kwo90jo2wiqkcj2scf","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:179;O:8:"stdClass":19:{s:2:"id";s:4:"1422";s:3:"doc";s:3:"449";s:6:"module";s:3:"113";s:5:"title";s:18:"获取用例详情";s:4:"path";s:14:"/testcases/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3271:"[{"field":"id","paramsType":"int","required":true,"desc":"用例ID","structType":"json","sub":1,"key":"kwkc2rk8pm0jqqb5p4e","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwkcew5dn6k84l1b2w","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":1,"key":"kwkcfe0icj4821ilk0a","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwkcfnyket632bglf8d","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"相关需求","structType":"json","sub":1,"key":"kwkcfxczmv2ceuh1fr","children":[]},{"field":"storyVersion","paramsType":"int","required":true,"desc":"需求版本","structType":"json","sub":1,"key":"kwkcgcbnskreyy1oltq","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":1,"key":"kwkcgtezpflujhz1lg8","children":[]},{"field":"precondition","paramsType":"string","required":true,"desc":"前置条件","structType":"json","sub":1,"key":"kwkch57jxjil6a7eise","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwkchabrzuz0zbf84b","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"用例类型(feature 功能测试 | performance 性能测试 | config 配置相关 | install 安装部署 | security 安全相关 | interface 接口测试 | unit 单元测试 | other 其他)","structType":"json","sub":1,"key":"kwkchpw4m40vhbp5z9","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"适用阶段(unittest 单元测试阶段 | feature 功能测试阶段 | intergrate 集成测试阶段 | system 系统测试阶段 | smoke 冒烟测试阶段 | bvt 版本验证阶段)","structType":"json","sub":1,"key":"kwkcihgaceclorkxpy","children":[]},{"field":"steps","paramsType":"array","required":true,"desc":"用例步骤列表","structType":"json","sub":1,"key":"kwkcissin2l8deqtjo","children":[{"field":"desc","paramsType":"string","required":true,"desc":"步骤","structType":"json","sub":2,"key":"kwkck2mbvdyprzp4ji","parentKey":"kwkcissin2l8deqtjo","children":[]},{"field":"expect","paramsType":"string","required":true,"desc":"期望","structType":"json","sub":2,"key":"kwkcjt8o3jey849nf2n","parentKey":"kwkcissin2l8deqtjo","children":[]}]},{"field":"fromBug","paramsType":"int","required":"","desc":"来自于Bug","structType":"json","sub":1,"key":"kwkcm29boc0ev1phqul","children":[]},{"field":"fromCaseID","paramsType":"int","required":"","desc":"来自于用例","structType":"json","sub":1,"key":"kwkcm7yt26ijdjj8rum","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwkcmxk7j2t3yftrf7","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwkcmxxoua9sk0sgagd","children":[]},{"field":"status","paramsType":"string","required":"","desc":"状态(wait 待评审 | normal 正常 | blocked 被阻塞 | investigate 研究中)","structType":"json","sub":1,"key":"kwtxzea0ytpl9vcbwgf","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:180;O:8:"stdClass":19:{s:2:"id";s:4:"1423";s:3:"doc";s:3:"452";s:6:"module";s:3:"113";s:5:"title";s:24:"获取产品用例列表";s:4:"path";s:23:"/products/:id/testcases";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4076:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwk9g1dojwbroymrcws","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"用例总数","structType":"json","sub":1,"key":"kwkahlaakbout0bp6fn","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页用例数","structType":"json","sub":1,"key":"kwkahlgmogbrc7psek","children":[]},{"field":"testcases","paramsType":"array","required":true,"desc":"用例列表","structType":"json","sub":1,"key":"kwkai7c6gyotx0jcuyo","children":[{"field":"id","paramsType":"int","required":true,"desc":"用例ID","structType":"json","sub":2,"key":"kwkaimzfdgn2x7b9m8r","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwkaiwknw27spdo17d","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":2,"key":"kwkamrbw5phoosjotue","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所有模块","structType":"json","sub":2,"key":"kwkan7k2pxrj00bk8ak","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关研发需求","structType":"json","sub":2,"key":"kwkanjh2c1x7mpvmsqo","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"storyVersion","paramsType":"int","required":"","desc":"需求版本","structType":"json","sub":2,"key":"kwkao2n2ft4n19f1jcu","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"title","paramsType":"string","required":"","desc":"用例标题","structType":"json","sub":2,"key":"kwkarhs99mt7mbrg2gs","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"precondition","paramsType":"string","required":"","desc":"前置条件","structType":"json","sub":2,"key":"kwkas0x38pi6gs6z4cj","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":2,"key":"kwkasbwzd2tn1leos8u","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":2,"key":"kwkaskmf0g3yfcecg0x","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"用例类型(feature 功能测试 | performance 性能测试 | config 配置相关 | install 安装部署 | security 安全相关 | interface 接口测试 | unit 单元测试 | other 其他)","structType":"json","sub":2,"key":"kwkassfkmsmqc55n94m","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"适用阶段(unittest 单元测试阶段 | feature 功能测试阶段 | intergrate 集成测试阶段 | system 系统测试阶段 | smoke 冒烟测试阶段 | bvt 版本验证阶段)","structType":"json","sub":2,"key":"kwkavbir1xzs1p0zat8","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 待评审 | normal 正常 | blocked 被阻塞 | investigate 研究中)","structType":"json","sub":2,"key":"kwkax2enp5573iuu8ba","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwkayfdu351ai2383im","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwkayqk5u0rb5qof06m","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"fromBug","paramsType":"int","required":"","desc":"来自于Bug","structType":"json","sub":2,"key":"kwkaz9zrf2m6ossk686","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"fromCaseID","paramsType":"int","required":"","desc":"来自于用例","structType":"json","sub":2,"key":"kwkazwf5s3mg7p8fyr","parentKey":"kwkai7c6gyotx0jcuyo","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:181;O:8:"stdClass":19:{s:2:"id";s:4:"1418";s:3:"doc";s:3:"423";s:6:"module";s:3:"108";s:5:"title";s:12:"创建用户";s:4:"path";s:6:"/users";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:777:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"account","paramsType":"string","required":true,"desc":"账号","structType":"json","sub":1,"key":"l41zlm7syi7tpslnib","children":[]},{"field":"password","paramsType":"string","required":true,"desc":"密码","structType":"json","sub":1,"key":"l41zteb0u7pqb5432d","children":[]},{"field":"realname","paramsType":"string","required":"","desc":"真实姓名","structType":"json","sub":1,"key":"l41zthpk4jhr9vixiz3","children":[]},{"field":"visions","paramsType":"array","required":"","desc":"界面 [“rnd”, “lite”],(综合研发界面 rnd, 迅捷界面 lite)。默认是rnd","structType":"json","sub":1,"key":"l41ztwgamfcn0dxx40s","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:136:"{"account": "usertest", "password": "123qwe!@#", "realname": "测试用户"}";s:15:"responseExample";s:1648:"{ +}";s:8:"response";s:2289:"[{"field":"id","paramsType":"int","required":"","desc":"产品ID","structType":"json","sub":1,"key":"kwbpz5jh94vauhx9ga6","children":[]},{"field":"name","paramsType":"string","required":"","desc":"产品名称","structType":"json","sub":1,"key":"kwbqhljxnscdsph7jh","children":[]},{"field":"program","paramsType":"int","required":"","desc":"所属项目集","structType":"json","sub":1,"key":"kwbqhueedi6o9jyr80g","children":[]},{"field":"code","paramsType":"string","required":"","desc":"产品代号","structType":"json","sub":1,"key":"kwbqi7fmwnjsrds8i3j","children":[]},{"field":"line","paramsType":"int","required":"","desc":"产品线","structType":"json","sub":1,"key":"kwbqk1pemf4rfcleksf","children":[]},{"field":"type","paramsType":"string","required":"","desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwbqo9fjuslzzbejx6","children":[]},{"field":"status","paramsType":"string","required":"","desc":"状态(normal 正常 | closed 结束)","structType":"json","sub":1,"key":"kwbqqfgzincm6qkym3","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwbr0v2vhqrrqh8y6l","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwbr107xvu791yqyaxk","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwbr10vxlfbpvdlvor9","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwbr1lszosgjhp2c0zh","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwbr1uny368imqpppbd","children":[]},{"field":"createdBy","paramsType":"string","required":"","desc":"创建人","structType":"json","sub":1,"key":"kwbr24x72kgwwnbt8jh","children":[]},{"field":"createdDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":1,"key":"kwbr2agkwi1th2cc9l","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwbr2x4zzb1jbw5g5qk","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:52:44";}i:8;O:8:"stdClass":19:{s:2:"id";s:4:"1594";s:3:"doc";s:3:"490";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集列表";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"5";s:6:"params";s:223:"{"header":[{"field":"Authorization","required":true,"desc":"访问凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"order","required":"","desc":"排序,默认order_asc;排序字段+下划线+asc/desc"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:506:"[{"field":"programs","paramsType":"array","required":"","desc":"项目集列表","structType":"json","sub":1,"key":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":"","desc":"项目集ID","structType":"json","sub":2,"key":"kw5oko39ful5ibh4xos","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"name","paramsType":"string","required":"","desc":"项目集名称","structType":"json","sub":2,"key":"kwbijc4xmi7da0s2v3h","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:9;O:8:"stdClass":19:{s:2:"id";s:4:"1593";s:3:"doc";s:3:"490";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集列表";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:223:"{"header":[{"field":"Authorization","required":true,"desc":"访问凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"order","required":"","desc":"排序,默认order_asc;排序字段+下划线+asc/desc"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:324:"[{"field":"programs","paramsType":"array","required":"","desc":"项目集列表","structType":"json","sub":1,"key":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":"","desc":"项目集ID","structType":"json","sub":2,"key":"kw5oko39ful5ibh4xos","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:10;O:8:"stdClass":19:{s:2:"id";s:4:"1592";s:3:"doc";s:3:"489";s:6:"module";s:3:"105";s:5:"title";s:18:"获取产品列表";s:4:"path";s:9:"/products";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:118:"{"header":[{"field":"Authorization","required":"","desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:306:"[{"field":"products","paramsType":"object","required":"","desc":"","structType":"json","sub":1,"key":"kwaewshi65nnjs135n3","children":[{"field":"id","paramsType":"int","required":"","desc":"产品ID","structType":"json","sub":2,"key":"kwaey51uz6sfrk555m","parentKey":"kwaewshi65nnjs135n3","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:11;O:8:"stdClass":19:{s:2:"id";s:4:"1591";s:3:"doc";s:3:"490";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集列表";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:223:"{"header":[{"field":"Authorization","required":true,"desc":"访问凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"order","required":"","desc":"排序,默认order_asc;排序字段+下划线+asc/desc"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:309:"[{"field":"programs","paramsType":"array","required":"","desc":"","structType":"json","sub":1,"key":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":"","desc":"项目集ID","structType":"json","sub":2,"key":"kw5oko39ful5ibh4xos","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:12;O:8:"stdClass":19:{s:2:"id";s:4:"1590";s:3:"doc";s:3:"490";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集列表";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:223:"{"header":[{"field":"Authorization","required":true,"desc":"访问凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"order","required":"","desc":"排序,默认order_asc;排序字段+下划线+asc/desc"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:309:"[{"field":"programs","paramsType":"array","required":"","desc":"","structType":"json","sub":1,"key":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":"","desc":"项目集ID","structType":"json","sub":2,"key":"kw5oko39ful5ibh4xos","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:13;O:8:"stdClass":19:{s:2:"id";s:4:"1589";s:3:"doc";s:3:"490";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集列表";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:223:"{"header":[{"field":"Authorization","required":true,"desc":"访问凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"order","required":"","desc":"排序,默认order_asc;排序字段+下划线+asc/desc"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:309:"[{"field":"programs","paramsType":"array","required":"","desc":"","structType":"json","sub":1,"key":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":"","desc":"项目集ID","structType":"json","sub":2,"key":"kw5oko39ful5ibh4xos","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:14;O:8:"stdClass":19:{s:2:"id";s:4:"1588";s:3:"doc";s:3:"490";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集列表";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:223:"{"header":[{"field":"Authorization","required":true,"desc":"访问凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"order","required":"","desc":"排序,默认order_asc;排序字段+下划线+asc/desc"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:310:"[{"field":"programs","paramsType":"object","required":"","desc":"","structType":"json","sub":1,"key":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":"","desc":"项目集ID","structType":"json","sub":2,"key":"kw5oko39ful5ibh4xos","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:15;O:8:"stdClass":19:{s:2:"id";s:4:"1585";s:3:"doc";s:3:"491";s:6:"module";s:3:"117";s:5:"title";s:11:"获取Token";s:4:"path";s:7:"/tokens";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:343:"{"header":[],"params":[{"field":"account","paramsType":"string","required":"","desc":"登录名","structType":"json","sub":1,"key":"kw4dijiqp90k7dq8qbf","children":[]},{"field":"password","paramsType":"string","required":"","desc":"密码","structType":"json","sub":1,"key":"kw4dizdkfwino1m0kro","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:135:"[{"field":"token","paramsType":"string","required":"","desc":"","structType":"json","sub":1,"key":"kw4dg646mwx29eklxea","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:16;O:8:"stdClass":19:{s:2:"id";s:4:"1586";s:3:"doc";s:3:"491";s:6:"module";s:3:"117";s:5:"title";s:11:"获取Token";s:4:"path";s:7:"/tokens";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:343:"{"header":[],"params":[{"field":"account","paramsType":"string","required":"","desc":"登录名","structType":"json","sub":1,"key":"kw4dijiqp90k7dq8qbf","children":[]},{"field":"password","paramsType":"string","required":"","desc":"密码","structType":"json","sub":1,"key":"kw4dizdkfwino1m0kro","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:135:"[{"field":"token","paramsType":"string","required":"","desc":"","structType":"json","sub":1,"key":"kw4dg646mwx29eklxea","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:17;O:8:"stdClass":19:{s:2:"id";s:4:"1587";s:3:"doc";s:3:"490";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集列表";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:221:"{"header":[{"field":"Authorization","required":"","desc":"访问凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"order","required":"","desc":"排序,默认order_asc;排序字段+下划线+asc/desc"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:310:"[{"field":"programs","paramsType":"object","required":"","desc":"","structType":"json","sub":1,"key":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":"","desc":"项目集ID","structType":"json","sub":2,"key":"kw5oko39ful5ibh4xos","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:18;O:8:"stdClass":19:{s:2:"id";s:4:"1583";s:3:"doc";s:3:"490";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集列表";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"6";s:6:"params";s:223:"{"header":[{"field":"Authorization","required":true,"desc":"访问凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"order","required":"","desc":"排序,默认order_asc;排序字段+下划线+asc/desc"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2552:"[{"field":"programs","paramsType":"array","required":"","desc":"项目集列表","structType":"json","sub":1,"key":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":"","desc":"项目集ID","structType":"json","sub":2,"key":"kw5oko39ful5ibh4xos","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"name","paramsType":"string","required":"","desc":"项目集名称","structType":"json","sub":2,"key":"kwbijc4xmi7da0s2v3h","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"预算金额","structType":"json","sub":2,"key":"kwbijs25uh1oerv14o","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY/USD)","structType":"json","sub":2,"key":"kwbiljpvwx1s9subl6h","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"预计开始日期","structType":"json","sub":2,"key":"kwbim4qiu70li1lj2sg","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"end","paramsType":"date","required":"","desc":"预计结束日期","structType":"json","sub":2,"key":"kwbin0zq2jnrf2hheqk","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"realBegan","paramsType":"date","required":"","desc":"实际开始日期","structType":"json","sub":2,"key":"kwbin1zr9rft0cqsn7","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"realEnd","paramsType":"date","required":"","desc":"实际结束日期","structType":"json","sub":2,"key":"kwbinosclp6c0ziw75b","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"parent","paramsType":"int","required":"","desc":"父项目集,顶层项目集的parent为0","structType":"json","sub":2,"key":"kwbivepwxrt80u7jdnj","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"openedBy","paramsType":"string","required":"","desc":"由谁创建","structType":"json","sub":2,"key":"kwbiwzxpqpd682l27ke","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"openedDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":2,"key":"kwbixdfmz87xqj9c6dm","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目集负责人","structType":"json","sub":2,"key":"kwbiy8g88gdd05pvdom","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"progress","paramsType":"int","required":"","desc":"进度","structType":"json","sub":2,"key":"kwbiyml3zn2zd5mdv0c","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:19;O:8:"stdClass":19:{s:2:"id";s:4:"1584";s:3:"doc";s:3:"490";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集列表";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"7";s:6:"params";s:223:"{"header":[{"field":"Authorization","required":true,"desc":"访问凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"order","required":"","desc":"排序,默认order_asc;排序字段+下划线+asc/desc"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2580:"[{"field":"programs","paramsType":"array","required":true,"desc":"项目集列表","structType":"json","sub":1,"key":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":true,"desc":"项目集ID","structType":"json","sub":2,"key":"kw5oko39ful5ibh4xos","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目集名称","structType":"json","sub":2,"key":"kwbijc4xmi7da0s2v3h","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":2,"key":"kwbijs25uh1oerv14o","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY/USD)","structType":"json","sub":2,"key":"kwbiljpvwx1s9subl6h","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":2,"key":"kwbim4qiu70li1lj2sg","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"预计结束日期","structType":"json","sub":2,"key":"kwbin0zq2jnrf2hheqk","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":2,"key":"kwbin1zr9rft0cqsn7","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":2,"key":"kwbinosclp6c0ziw75b","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父项目集,顶层项目集的parent为0","structType":"json","sub":2,"key":"kwbivepwxrt80u7jdnj","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"由谁创建","structType":"json","sub":2,"key":"kwbiwzxpqpd682l27ke","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwbixdfmz87xqj9c6dm","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"PM","paramsType":"string","required":true,"desc":"项目集负责人","structType":"json","sub":2,"key":"kwbiy8g88gdd05pvdom","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"progress","paramsType":"int","required":true,"desc":"进度","structType":"json","sub":2,"key":"kwbiyml3zn2zd5mdv0c","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:20;O:8:"stdClass":19:{s:2:"id";s:4:"1581";s:3:"doc";s:3:"489";s:6:"module";s:3:"105";s:5:"title";s:18:"获取产品列表";s:4:"path";s:9:"/products";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:126:"{"header":[{"field":"Authorization","required":"","desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2757:"[{"field":"products","paramsType":"array","required":true,"desc":"","structType":"json","sub":1,"key":"kwaewshi65nnjs135n3","children":[{"field":"id","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":2,"key":"kwaey51uz6sfrk555m","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":2,"key":"kwbj1dqg65pvugs5h2s","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":2,"key":"kwbj2a1ihackyh03q49","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"产品代号","structType":"json","sub":2,"key":"kwbj2h0rn057wustk7o","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"line","paramsType":"int","required":true,"desc":"所属产品线","structType":"json","sub":2,"key":"kwbnpypoba6t1ms7oaf","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":2,"key":"kwbp9dclulc73a3tg","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":2,"key":"kwbp9pc1t1nvj4j2wd","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":2,"key":"kwbpalk5bnobb0mtp98","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":2,"key":"kwbpb2vft6si1ctgwf","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"产品描述","structType":"json","sub":2,"key":"kwbpdiepohshkv3sx2","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":2,"key":"kwbpdpivj06ph39fui","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":2,"key":"kwbpf2zg4f4bms64ubf","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"createdBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwbpfo85ji5yl8vqee","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"createdDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwbpfwmgpdtmdxctovi","parentKey":"kwaewshi65nnjs135n3","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:21;O:8:"stdClass":19:{s:2:"id";s:4:"1582";s:3:"doc";s:3:"489";s:6:"module";s:3:"105";s:5:"title";s:18:"获取产品列表";s:4:"path";s:9:"/products";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:126:"{"header":[{"field":"Authorization","required":"","desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2751:"[{"field":"products","paramsType":"array","required":true,"desc":"","structType":"json","sub":1,"key":"kwaewshi65nnjs135n3","children":[{"field":"id","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":2,"key":"kwaey51uz6sfrk555m","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":2,"key":"kwbj1dqg65pvugs5h2s","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":2,"key":"kwbj2a1ihackyh03q49","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"产品代号","structType":"json","sub":2,"key":"kwbj2h0rn057wustk7o","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"line","paramsType":"int","required":true,"desc":"所属产品线","structType":"json","sub":2,"key":"kwbnpypoba6t1ms7oaf","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":2,"key":"kwbp9dclulc73a3tg","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":2,"key":"kwbp9pc1t1nvj4j2wd","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":2,"key":"kwbpalk5bnobb0mtp98","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":2,"key":"kwbpb2vft6si1ctgwf","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"产品描述","structType":"json","sub":2,"key":"kwbpdiepohshkv3sx2","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":2,"key":"kwbpdpivj06ph39fui","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":2,"key":"kwbpf2zg4f4bms64ubf","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"createdBy","paramsType":"string","required":"","desc":"创建人","structType":"json","sub":2,"key":"kwbpfo85ji5yl8vqee","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"createdDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":2,"key":"kwbpfwmgpdtmdxctovi","parentKey":"kwaewshi65nnjs135n3","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:22;O:8:"stdClass":19:{s:2:"id";s:4:"1580";s:3:"doc";s:3:"488";s:6:"module";s:3:"105";s:5:"title";s:12:"创建产品";s:4:"path";s:9:"/products";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:1798:"{"header":[{"field":"Authorization","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":1,"key":"kwbq19ffg59cbooyb","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwbq1dizm75sgcgnd9f","children":[]},{"field":"code","paramsType":"int","required":true,"desc":"产品代号","structType":"json","sub":1,"key":"kwbq1xl9s30o2e1awjo","children":[]},{"field":"line","paramsType":"int","required":false,"desc":"所属产品线","structType":"json","sub":1,"key":"kwbq2ftqrqrmg8cyj7t","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwbq33qsopavnj72ntb","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwbq3kbijyjhoy0se99","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwbq412yll94vpa635p","children":[]},{"field":"type","paramsType":"string","required":"","desc":"产品类型(normal 正常 | branch 多分支 | )","structType":"json","sub":1,"key":"kwbq49zapa2fswh58f","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwbqcmbo088hh0l8o91","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwbqdai6v9pl61o6xab","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwbqe9ye70wc961572o","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2289:"[{"field":"id","paramsType":"int","required":"","desc":"产品ID","structType":"json","sub":1,"key":"kwbpz5jh94vauhx9ga6","children":[]},{"field":"name","paramsType":"string","required":"","desc":"产品名称","structType":"json","sub":1,"key":"kwbqhljxnscdsph7jh","children":[]},{"field":"program","paramsType":"int","required":"","desc":"所属项目集","structType":"json","sub":1,"key":"kwbqhueedi6o9jyr80g","children":[]},{"field":"code","paramsType":"string","required":"","desc":"产品代号","structType":"json","sub":1,"key":"kwbqi7fmwnjsrds8i3j","children":[]},{"field":"line","paramsType":"int","required":"","desc":"产品线","structType":"json","sub":1,"key":"kwbqk1pemf4rfcleksf","children":[]},{"field":"type","paramsType":"string","required":"","desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwbqo9fjuslzzbejx6","children":[]},{"field":"status","paramsType":"string","required":"","desc":"状态(normal 正常 | closed 结束)","structType":"json","sub":1,"key":"kwbqqfgzincm6qkym3","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwbr0v2vhqrrqh8y6l","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwbr107xvu791yqyaxk","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwbr10vxlfbpvdlvor9","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwbr1lszosgjhp2c0zh","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwbr1uny368imqpppbd","children":[]},{"field":"createdBy","paramsType":"string","required":"","desc":"创建人","structType":"json","sub":1,"key":"kwbr24x72kgwwnbt8jh","children":[]},{"field":"createdDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":1,"key":"kwbr2agkwi1th2cc9l","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwbr2x4zzb1jbw5g5qk","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:23;O:8:"stdClass":19:{s:2:"id";s:4:"1578";s:3:"doc";s:3:"487";s:6:"module";s:1:"0";s:5:"title";s:18:"获取产品详情";s:4:"path";s:13:"/products/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:128:"{"header":[{"field":"Authorization","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:427:"[{"field":"id","paramsType":"int","required":"","desc":"产品ID","structType":"json","sub":1,"key":"kwbr4qcbgcop3s3ohg5","children":[]},{"field":"name","paramsType":"string","required":"","desc":"产品名称","structType":"json","sub":1,"key":"kwbr6h84h8rp18cru57","children":[]},{"field":"code","paramsType":"string","required":"","desc":"产品代号","structType":"json","sub":1,"key":"kwbs6sx5bpk1z0kf7ak","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:24;O:8:"stdClass":19:{s:2:"id";s:4:"1579";s:3:"doc";s:3:"487";s:6:"module";s:1:"0";s:5:"title";s:18:"获取产品详情";s:4:"path";s:13:"/products/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:128:"{"header":[{"field":"Authorization","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2828:"[{"field":"id","paramsType":"int","required":"","desc":"产品ID","structType":"json","sub":1,"key":"kwbr4qcbgcop3s3ohg5","children":[]},{"field":"name","paramsType":"string","required":"","desc":"产品名称","structType":"json","sub":1,"key":"kwbr6h84h8rp18cru57","children":[]},{"field":"code","paramsType":"string","required":"","desc":"产品代号","structType":"json","sub":1,"key":"kwbs6sx5bpk1z0kf7ak","children":[]},{"field":"program","paramsType":"int","required":"","desc":"所属项目集","structType":"json","sub":1,"key":"kwellfvj3lxhcmg4wfo","children":[]},{"field":"line","paramsType":"int","required":"","desc":"所属产品线","structType":"json","sub":1,"key":"kwelm02uvxu130ubux","children":[]},{"field":"type","paramsType":"string","required":"","desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwelnh4d6pqibi436x9","children":[]},{"field":"PO","paramsType":"object","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwembkw9f5tak8d1gtg","children":[{"field":"account","paramsType":"string","required":"","desc":"账户名","structType":"json","sub":2,"key":"kwemc1rwia6gu1osie","parentKey":"kwembkw9f5tak8d1gtg","children":[]}]},{"field":"QD","paramsType":"object","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwemckatgwyg58ed9ic","children":[{"field":"account","paramsType":"object","required":"","desc":"账户名","structType":"json","sub":2,"key":"kwemcts82g2znqe1ksn","parentKey":"kwemckatgwyg58ed9ic","children":[]}]},{"field":"RD","paramsType":"object","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwemo4zyvvjyf5lpte","children":[{"field":"account","paramsType":"object","required":"","desc":"账户名","structType":"json","sub":2,"key":"kwemojw7zl28rgjv73d","parentKey":"kwemo4zyvvjyf5lpte","children":[]}]},{"field":"desc","paramsType":"object","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwemrk1txqrm14ww5c","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwemrs7sej0jr0cdabb","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwemsftfsdxa86i4dq","children":[]},{"field":"createdBy","paramsType":"object","required":"","desc":"创建人","structType":"json","sub":1,"key":"kwemsw3yed4knmaqwwr","children":[{"field":"account","paramsType":"object","required":"","desc":"账户名","structType":"json","sub":2,"key":"kwemtbmet7dcakejvk","parentKey":"kwemsw3yed4knmaqwwr","children":[]}]},{"field":"createdDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":1,"key":"kwemu7xhxrhubvtg1i","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:25;O:8:"stdClass":19:{s:2:"id";s:4:"1573";s:3:"doc";s:3:"484";s:6:"module";s:3:"105";s:5:"title";s:12:"删除产品";s:4:"path";s:12:"/product/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:6:"DELETE";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:0:"";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:0:"";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:26;O:8:"stdClass":19:{s:2:"id";s:4:"1574";s:3:"doc";s:3:"484";s:6:"module";s:3:"105";s:5:"title";s:12:"删除产品";s:4:"path";s:12:"/product/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:6:"DELETE";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:149:"[{"field":"message","paramsType":"string","required":"","desc":"响应信息","structType":"json","sub":1,"key":"kwep4cva4cif20tiujh","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:27;O:8:"stdClass":19:{s:2:"id";s:4:"1575";s:3:"doc";s:3:"486";s:6:"module";s:3:"105";s:5:"title";s:12:"编辑产品";s:4:"path";s:12:"/product/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:1230:"{"header":[{"field":"Token","required":"","desc":"访问凭证Token"}],"params":[{"field":"name","paramsType":"string","required":"","desc":"产品名称","structType":"json","sub":1,"key":"kwen3dckicyphhnz","children":[]},{"field":"code","paramsType":"string","required":"","desc":"产品代号","structType":"json","sub":1,"key":"kwen3izzrkun21x6ga","children":[]},{"field":"type","paramsType":"string","required":"","desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwen45d40m14utr25tg","children":[]},{"field":"line","paramsType":"int","required":"","desc":"所属产品线","structType":"json","sub":1,"key":"kwen8jf7leyksxip3f8","children":[]},{"field":"program","paramsType":"int","required":"","desc":"所属项目集","structType":"json","sub":1,"key":"kwen8ty05syldw0juiy","children":[]},{"field":"status","paramsType":"string","required":"","desc":"产品状态(normal 正常 | closed 已关闭)","structType":"json","sub":1,"key":"kwencqbvtud2pfbrfjp","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"产品描述,富文本","structType":"json","sub":1,"key":"kwenfpizvxhggi9clqj","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:143:"[{"field":"product","paramsType":"object","required":"","desc":"产品","structType":"json","sub":1,"key":"kwemz2ndif7hbq1tt0l","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:28;O:8:"stdClass":19:{s:2:"id";s:4:"1576";s:3:"doc";s:3:"487";s:6:"module";s:3:"105";s:5:"title";s:18:"获取产品详情";s:4:"path";s:13:"/products/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:128:"{"header":[{"field":"Authorization","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3038:"[{"field":"id","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":1,"key":"kwbr4qcbgcop3s3ohg5","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":1,"key":"kwbr6h84h8rp18cru57","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"产品代号","structType":"json","sub":1,"key":"kwbs6sx5bpk1z0kf7ak","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwellfvj3lxhcmg4wfo","children":[]},{"field":"line","paramsType":"int","required":true,"desc":"所属产品线","structType":"json","sub":1,"key":"kwelm02uvxu130ubux","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwelnh4d6pqibi436x9","children":[]},{"field":"PO","paramsType":"object","required":false,"desc":"产品负责人","structType":"json","sub":1,"key":"kwembkw9f5tak8d1gtg","children":[{"field":"account","paramsType":"string","required":false,"desc":"账户名","structType":"json","sub":2,"key":"kwemc1rwia6gu1osie","parentKey":"kwembkw9f5tak8d1gtg","children":[]}]},{"field":"QD","paramsType":"object","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwemckatgwyg58ed9ic","children":[{"field":"account","paramsType":"object","required":"","desc":"账户名","structType":"json","sub":2,"key":"kwemcts82g2znqe1ksn","parentKey":"kwemckatgwyg58ed9ic","children":[]}]},{"field":"RD","paramsType":"object","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwemo4zyvvjyf5lpte","children":[{"field":"account","paramsType":"object","required":"","desc":"账户名","structType":"json","sub":2,"key":"kwemojw7zl28rgjv73d","parentKey":"kwemo4zyvvjyf5lpte","children":[]}]},{"field":"desc","paramsType":"object","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwemrk1txqrm14ww5c","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwemrs7sej0jr0cdabb","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwemsftfsdxa86i4dq","children":[]},{"field":"createdBy","paramsType":"object","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwemsw3yed4knmaqwwr","children":[{"field":"account","paramsType":"object","required":true,"desc":"账户名","structType":"json","sub":2,"key":"kwemwh1vt58lmzn2yz","parentKey":"kwemsw3yed4knmaqwwr","children":[]},{"field":"realname","paramsType":"object","required":true,"desc":"真实姓名","structType":"json","sub":2,"key":"kwemtbmet7dcakejvk","parentKey":"kwemsw3yed4knmaqwwr","children":[]}]},{"field":"createdDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwemu7xhxrhubvtg1i","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:29;O:8:"stdClass":19:{s:2:"id";s:4:"1577";s:3:"doc";s:3:"487";s:6:"module";s:1:"0";s:5:"title";s:18:"获取产品详情";s:4:"path";s:13:"/products/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:128:"{"header":[{"field":"Authorization","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3038:"[{"field":"id","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":1,"key":"kwbr4qcbgcop3s3ohg5","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":1,"key":"kwbr6h84h8rp18cru57","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"产品代号","structType":"json","sub":1,"key":"kwbs6sx5bpk1z0kf7ak","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwellfvj3lxhcmg4wfo","children":[]},{"field":"line","paramsType":"int","required":true,"desc":"所属产品线","structType":"json","sub":1,"key":"kwelm02uvxu130ubux","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwelnh4d6pqibi436x9","children":[]},{"field":"PO","paramsType":"object","required":false,"desc":"产品负责人","structType":"json","sub":1,"key":"kwembkw9f5tak8d1gtg","children":[{"field":"account","paramsType":"string","required":false,"desc":"账户名","structType":"json","sub":2,"key":"kwemc1rwia6gu1osie","parentKey":"kwembkw9f5tak8d1gtg","children":[]}]},{"field":"QD","paramsType":"object","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwemckatgwyg58ed9ic","children":[{"field":"account","paramsType":"object","required":"","desc":"账户名","structType":"json","sub":2,"key":"kwemcts82g2znqe1ksn","parentKey":"kwemckatgwyg58ed9ic","children":[]}]},{"field":"RD","paramsType":"object","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwemo4zyvvjyf5lpte","children":[{"field":"account","paramsType":"object","required":"","desc":"账户名","structType":"json","sub":2,"key":"kwemojw7zl28rgjv73d","parentKey":"kwemo4zyvvjyf5lpte","children":[]}]},{"field":"desc","paramsType":"object","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwemrk1txqrm14ww5c","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwemrs7sej0jr0cdabb","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwemsftfsdxa86i4dq","children":[]},{"field":"createdBy","paramsType":"object","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwemsw3yed4knmaqwwr","children":[{"field":"account","paramsType":"object","required":true,"desc":"账户名","structType":"json","sub":2,"key":"kwemwh1vt58lmzn2yz","parentKey":"kwemsw3yed4knmaqwwr","children":[]},{"field":"realname","paramsType":"object","required":true,"desc":"真实姓名","structType":"json","sub":2,"key":"kwemtbmet7dcakejvk","parentKey":"kwemsw3yed4knmaqwwr","children":[]}]},{"field":"createdDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwemu7xhxrhubvtg1i","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:30;O:8:"stdClass":19:{s:2:"id";s:4:"1572";s:3:"doc";s:3:"486";s:6:"module";s:3:"105";s:5:"title";s:12:"编辑产品";s:4:"path";s:12:"/product/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:1238:"{"header":[{"field":"Authorization","required":"","desc":"访问凭证Token"}],"params":[{"field":"name","paramsType":"string","required":"","desc":"产品名称","structType":"json","sub":1,"key":"kwen3dckicyphhnz","children":[]},{"field":"code","paramsType":"string","required":"","desc":"产品代号","structType":"json","sub":1,"key":"kwen3izzrkun21x6ga","children":[]},{"field":"type","paramsType":"string","required":"","desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwen45d40m14utr25tg","children":[]},{"field":"line","paramsType":"int","required":"","desc":"所属产品线","structType":"json","sub":1,"key":"kwen8jf7leyksxip3f8","children":[]},{"field":"program","paramsType":"int","required":"","desc":"所属项目集","structType":"json","sub":1,"key":"kwen8ty05syldw0juiy","children":[]},{"field":"status","paramsType":"string","required":"","desc":"产品状态(normal 正常 | closed 已关闭)","structType":"json","sub":1,"key":"kwencqbvtud2pfbrfjp","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"产品描述,富文本","structType":"json","sub":1,"key":"kwenfpizvxhggi9clqj","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:143:"[{"field":"product","paramsType":"object","required":"","desc":"产品","structType":"json","sub":1,"key":"kwemz2ndif7hbq1tt0l","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:31;O:8:"stdClass":19:{s:2:"id";s:4:"1571";s:3:"doc";s:3:"488";s:6:"module";s:3:"105";s:5:"title";s:12:"创建产品";s:4:"path";s:9:"/products";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:1790:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":1,"key":"kwbq19ffg59cbooyb","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwbq1dizm75sgcgnd9f","children":[]},{"field":"code","paramsType":"int","required":true,"desc":"产品代号","structType":"json","sub":1,"key":"kwbq1xl9s30o2e1awjo","children":[]},{"field":"line","paramsType":"int","required":false,"desc":"所属产品线","structType":"json","sub":1,"key":"kwbq2ftqrqrmg8cyj7t","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwbq33qsopavnj72ntb","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwbq3kbijyjhoy0se99","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwbq412yll94vpa635p","children":[]},{"field":"type","paramsType":"string","required":"","desc":"产品类型(normal 正常 | branch 多分支 | )","structType":"json","sub":1,"key":"kwbq49zapa2fswh58f","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwbqcmbo088hh0l8o91","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwbqdai6v9pl61o6xab","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwbqe9ye70wc961572o","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2289:"[{"field":"id","paramsType":"int","required":"","desc":"产品ID","structType":"json","sub":1,"key":"kwbpz5jh94vauhx9ga6","children":[]},{"field":"name","paramsType":"string","required":"","desc":"产品名称","structType":"json","sub":1,"key":"kwbqhljxnscdsph7jh","children":[]},{"field":"program","paramsType":"int","required":"","desc":"所属项目集","structType":"json","sub":1,"key":"kwbqhueedi6o9jyr80g","children":[]},{"field":"code","paramsType":"string","required":"","desc":"产品代号","structType":"json","sub":1,"key":"kwbqi7fmwnjsrds8i3j","children":[]},{"field":"line","paramsType":"int","required":"","desc":"产品线","structType":"json","sub":1,"key":"kwbqk1pemf4rfcleksf","children":[]},{"field":"type","paramsType":"string","required":"","desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwbqo9fjuslzzbejx6","children":[]},{"field":"status","paramsType":"string","required":"","desc":"状态(normal 正常 | closed 结束)","structType":"json","sub":1,"key":"kwbqqfgzincm6qkym3","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwbr0v2vhqrrqh8y6l","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwbr107xvu791yqyaxk","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwbr10vxlfbpvdlvor9","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwbr1lszosgjhp2c0zh","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwbr1uny368imqpppbd","children":[]},{"field":"createdBy","paramsType":"string","required":"","desc":"创建人","structType":"json","sub":1,"key":"kwbr24x72kgwwnbt8jh","children":[]},{"field":"createdDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":1,"key":"kwbr2agkwi1th2cc9l","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwbr2x4zzb1jbw5g5qk","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:32;O:8:"stdClass":19:{s:2:"id";s:4:"1569";s:3:"doc";s:3:"489";s:6:"module";s:3:"105";s:5:"title";s:18:"获取产品列表";s:4:"path";s:9:"/products";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:118:"{"header":[{"field":"Token","required":"","desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2757:"[{"field":"products","paramsType":"array","required":true,"desc":"","structType":"json","sub":1,"key":"kwaewshi65nnjs135n3","children":[{"field":"id","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":2,"key":"kwaey51uz6sfrk555m","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":2,"key":"kwbj1dqg65pvugs5h2s","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":2,"key":"kwbj2a1ihackyh03q49","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"产品代号","structType":"json","sub":2,"key":"kwbj2h0rn057wustk7o","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"line","paramsType":"int","required":true,"desc":"所属产品线","structType":"json","sub":2,"key":"kwbnpypoba6t1ms7oaf","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":2,"key":"kwbp9dclulc73a3tg","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":2,"key":"kwbp9pc1t1nvj4j2wd","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":2,"key":"kwbpalk5bnobb0mtp98","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":2,"key":"kwbpb2vft6si1ctgwf","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"产品描述","structType":"json","sub":2,"key":"kwbpdiepohshkv3sx2","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":2,"key":"kwbpdpivj06ph39fui","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":2,"key":"kwbpf2zg4f4bms64ubf","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"createdBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwbpfo85ji5yl8vqee","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"createdDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwbpfwmgpdtmdxctovi","parentKey":"kwaewshi65nnjs135n3","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:33;O:8:"stdClass":19:{s:2:"id";s:4:"1570";s:3:"doc";s:3:"487";s:6:"module";s:3:"105";s:5:"title";s:18:"获取产品详情";s:4:"path";s:13:"/products/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"5";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3038:"[{"field":"id","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":1,"key":"kwbr4qcbgcop3s3ohg5","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":1,"key":"kwbr6h84h8rp18cru57","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"产品代号","structType":"json","sub":1,"key":"kwbs6sx5bpk1z0kf7ak","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwellfvj3lxhcmg4wfo","children":[]},{"field":"line","paramsType":"int","required":true,"desc":"所属产品线","structType":"json","sub":1,"key":"kwelm02uvxu130ubux","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwelnh4d6pqibi436x9","children":[]},{"field":"PO","paramsType":"object","required":false,"desc":"产品负责人","structType":"json","sub":1,"key":"kwembkw9f5tak8d1gtg","children":[{"field":"account","paramsType":"string","required":false,"desc":"账户名","structType":"json","sub":2,"key":"kwemc1rwia6gu1osie","parentKey":"kwembkw9f5tak8d1gtg","children":[]}]},{"field":"QD","paramsType":"object","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwemckatgwyg58ed9ic","children":[{"field":"account","paramsType":"object","required":"","desc":"账户名","structType":"json","sub":2,"key":"kwemcts82g2znqe1ksn","parentKey":"kwemckatgwyg58ed9ic","children":[]}]},{"field":"RD","paramsType":"object","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwemo4zyvvjyf5lpte","children":[{"field":"account","paramsType":"object","required":"","desc":"账户名","structType":"json","sub":2,"key":"kwemojw7zl28rgjv73d","parentKey":"kwemo4zyvvjyf5lpte","children":[]}]},{"field":"desc","paramsType":"object","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwemrk1txqrm14ww5c","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwemrs7sej0jr0cdabb","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwemsftfsdxa86i4dq","children":[]},{"field":"createdBy","paramsType":"object","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwemsw3yed4knmaqwwr","children":[{"field":"account","paramsType":"object","required":true,"desc":"账户名","structType":"json","sub":2,"key":"kwemwh1vt58lmzn2yz","parentKey":"kwemsw3yed4knmaqwwr","children":[]},{"field":"realname","paramsType":"object","required":true,"desc":"真实姓名","structType":"json","sub":2,"key":"kwemtbmet7dcakejvk","parentKey":"kwemsw3yed4knmaqwwr","children":[]}]},{"field":"createdDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwemu7xhxrhubvtg1i","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:34;O:8:"stdClass":19:{s:2:"id";s:4:"1567";s:3:"doc";s:3:"486";s:6:"module";s:3:"105";s:5:"title";s:12:"编辑产品";s:4:"path";s:12:"/product/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:1230:"{"header":[{"field":"Token","required":"","desc":"访问凭证Token"}],"params":[{"field":"name","paramsType":"string","required":"","desc":"产品名称","structType":"json","sub":1,"key":"kwen3dckicyphhnz","children":[]},{"field":"code","paramsType":"string","required":"","desc":"产品代号","structType":"json","sub":1,"key":"kwen3izzrkun21x6ga","children":[]},{"field":"type","paramsType":"string","required":"","desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwen45d40m14utr25tg","children":[]},{"field":"line","paramsType":"int","required":"","desc":"所属产品线","structType":"json","sub":1,"key":"kwen8jf7leyksxip3f8","children":[]},{"field":"program","paramsType":"int","required":"","desc":"所属项目集","structType":"json","sub":1,"key":"kwen8ty05syldw0juiy","children":[]},{"field":"status","paramsType":"string","required":"","desc":"产品状态(normal 正常 | closed 已关闭)","structType":"json","sub":1,"key":"kwencqbvtud2pfbrfjp","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"产品描述,富文本","structType":"json","sub":1,"key":"kwenfpizvxhggi9clqj","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:722:"[{"field":"id","paramsType":"int","required":"","desc":"产品编号","structType":"json","sub":1,"key":"kwemz2ndif7hbq1tt0l","children":[]},{"field":"name","paramsType":"string","required":"","desc":"产品名称","structType":"json","sub":1,"key":"kwepiu5b7zqhgwu8wj","children":[]},{"field":"code","paramsType":"string","required":"","desc":"产品编号","structType":"json","sub":1,"key":"kwepj3aqr9fcf3sxhg","children":[]},{"field":"program","paramsType":"int","required":"","desc":"所属项目集","structType":"json","sub":1,"key":"kwepjbzwqokucxl2w8j","children":[]},{"field":"line","paramsType":"int","required":"","desc":"所属产品线","structType":"json","sub":1,"key":"kwepjtej2thsu79qjcl","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:35;O:8:"stdClass":19:{s:2:"id";s:4:"1568";s:3:"doc";s:3:"485";s:6:"module";s:3:"106";s:5:"title";s:18:"获取项目列表";s:4:"path";s:9:"/projects";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:249:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"page","required":"","desc":"第几页,默认为1"},{"field":"limit","required":"","desc":"每页项目数量,默认20"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3236:"[{"field":"page","paramsType":"int","required":true,"desc":"页数","structType":"json","sub":1,"key":"kwepn09crq6071ynk39","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"项目总数","structType":"json","sub":1,"key":"kwepyybc5we2w598ibg","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页项目数","structType":"json","sub":1,"key":"kwepzdnsd4xwbaat25e","children":[]},{"field":"projects","paramsType":"array","required":true,"desc":"项目列表","structType":"json","sub":1,"key":"kwepzhon1eyy05eejdn","children":[{"field":"id","paramsType":"int","required":true,"desc":"项目id","structType":"json","sub":2,"key":"kweq1dfnp8eh7r7iarr","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":2,"key":"kweq1ga5d68zei0ffeq","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"项目编号","structType":"json","sub":2,"key":"kweq1n7k0c4wiw1my1wg","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"model","paramsType":"string","required":true,"desc":"项目模型(scrum敏捷 | waterfall 瀑布)","structType":"json","sub":2,"key":"kweq1r1ng9lpml2qjwf","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"项目预算","structType":"json","sub":2,"key":"kweq3mtnyr7z923os4p","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":2,"key":"kweq4mtv4lvfzned8wx","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":2,"key":"kweq59rgtd8wyhdbezd","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":2,"key":"kweq64ftnnaafzu0xzf","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"预计结束日期","structType":"json","sub":2,"key":"kweq6g0h0fp91q8m0wud","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"项目状态(wait 未开始 | doing 进行中 | suspend 已挂起 | closed 已关闭)","structType":"json","sub":2,"key":"kweq6p6ys7t3pp47pbk","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kweqa21ref4dr0cumt","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"openedDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":2,"key":"kweqahob402lqf6srqo","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目经理","structType":"json","sub":2,"key":"kweqau21by2agzz7a5","parentKey":"kwepzhon1eyy05eejdn","children":[]},{"field":"progress","paramsType":"int","required":"","desc":"进度","structType":"json","sub":2,"key":"kweqb7r9zjm2sd372qp","parentKey":"kwepzhon1eyy05eejdn","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:36;O:8:"stdClass":19:{s:2:"id";s:4:"1565";s:3:"doc";s:3:"483";s:6:"module";s:3:"106";s:5:"title";s:12:"创建项目";s:4:"path";s:9:"/projects";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:1217:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kweqeeu4uyul5ro6o7","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kweqeneavf594nhj4cm","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kweqeulf61fh20gafsy","children":[]},{"field":"products","paramsType":"array","required":true,"desc":"关联产品,比如 [1, 2],不能为空。","structType":"json","sub":1,"key":"kweqfbdfm7z71875r1l","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"项目编号","structType":"json","sub":1,"key":"kweqlpdkud5rs421do9","children":[]},{"field":"model","paramsType":"string","required":"","desc":"项目模型,默认为scrum","structType":"json","sub":1,"key":"kweqndhs3nd3a1jd9r4","children":[]},{"field":"parent","paramsType":"int","required":"","desc":"所属项目集,默认为0","structType":"json","sub":1,"key":"kweqvrk6mjr9vygujza","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1984:"[{"field":"id","paramsType":"int","required":true,"desc":"项目编号","structType":"json","sub":1,"key":"kweqd0yk9o8xi8kyi4i","children":[]},{"field":"model","paramsType":"string","required":true,"desc":"项目模型(scrum 敏捷 | waterfall 瀑布)","structType":"json","sub":1,"key":"kweqn4iti067eqz5d2m","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kweqols3u9m0s05ylyk","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kweque9jrz74gf76dh","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kweqv1x01dpu3by4dfb","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kweqvb5i8r2yr4640yh","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"项目代号","structType":"json","sub":1,"key":"kweqwlz88yba26zd50g","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kweqwvifjrxbgg1l76j","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kweqy196dogt0m3o9ge","children":[]},{"field":"realBegan","paramsType":"date","required":"","desc":"实际开始日期","structType":"json","sub":1,"key":"kweqyb2s8lsmedm0pa","children":[]},{"field":"realEnd","paramsType":"date","required":"","desc":"实际结束日期","structType":"json","sub":1,"key":"kweqympfb0h7cuwvrhk","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kweqzck8664cy70yxx","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwer3319sfmmlqu6bj","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:37;O:8:"stdClass":19:{s:2:"id";s:4:"1566";s:3:"doc";s:3:"490";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集列表";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"8";s:6:"params";s:215:"{"header":[{"field":"Token","required":true,"desc":"访问凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"order","required":"","desc":"排序,默认order_asc;排序字段+下划线+asc/desc"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2580:"[{"field":"programs","paramsType":"array","required":true,"desc":"项目集列表","structType":"json","sub":1,"key":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":true,"desc":"项目集ID","structType":"json","sub":2,"key":"kw5oko39ful5ibh4xos","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目集名称","structType":"json","sub":2,"key":"kwbijc4xmi7da0s2v3h","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":2,"key":"kwbijs25uh1oerv14o","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY/USD)","structType":"json","sub":2,"key":"kwbiljpvwx1s9subl6h","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":2,"key":"kwbim4qiu70li1lj2sg","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"预计结束日期","structType":"json","sub":2,"key":"kwbin0zq2jnrf2hheqk","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":2,"key":"kwbin1zr9rft0cqsn7","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":2,"key":"kwbinosclp6c0ziw75b","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父项目集,顶层项目集的parent为0","structType":"json","sub":2,"key":"kwbivepwxrt80u7jdnj","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"由谁创建","structType":"json","sub":2,"key":"kwbiwzxpqpd682l27ke","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwbixdfmz87xqj9c6dm","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"PM","paramsType":"string","required":true,"desc":"项目集负责人","structType":"json","sub":2,"key":"kwbiy8g88gdd05pvdom","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"progress","paramsType":"int","required":true,"desc":"进度","structType":"json","sub":2,"key":"kwbiyml3zn2zd5mdv0c","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:38;O:8:"stdClass":19:{s:2:"id";s:4:"1563";s:3:"doc";s:3:"481";s:6:"module";s:1:"0";s:5:"title";s:12:"修改项目";s:4:"path";s:13:"/projects/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:549:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":"","desc":"项目名称","structType":"json","sub":1,"key":"kwfrrcafi41oii1yyu","children":[]},{"field":"code","paramsType":"string","required":"","desc":"项目代号","structType":"json","sub":1,"key":"kwfrrjy5fy9cr7cbhxt","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwfrrp78h46nsupgqg","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2593:"[{"field":"id","paramsType":"int","required":true,"desc":"","structType":"json","sub":1,"key":"kwfrq9ewoxebsfy1yc","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrt5svntvrbex1a1","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"项目代号","structType":"json","sub":1,"key":"kwfrtbe11x80yhs04ss","children":[]},{"field":"model","paramsType":"string","required":true,"desc":"项目模型(scrum 敏捷 | waterfall 瀑布)","structType":"json","sub":1,"key":"kwfrth2o1b8yeez8klk","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"项目预算","structType":"json","sub":1,"key":"kwfrufdxs4insbwp7os","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwfrupqa2is097je3r1","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwfrv68kj5pq1ev7y1a","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwfrvpa06s9odxqr733","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwfrvwl8yp43br33c0j","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwfrw1x78s1r66etxjn","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwfrw6lojs101m01t6","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目描述","structType":"json","sub":1,"key":"kwfrwkdf096g5nvumqrp","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwfrx6jpg8tpusd54te","children":[]},{"field":"openedDate","paramsType":"string","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwfrxh8vp3p541ha0q","children":[]},{"field":"PM","paramsType":"string","required":true,"desc":"项目负责人","structType":"json","sub":1,"key":"kwfrxyttm6qlete3n3h","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwfry99qckte6qguao","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwfryty0hgpjch2k40u","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:39;O:8:"stdClass":19:{s:2:"id";s:4:"1564";s:3:"doc";s:3:"483";s:6:"module";s:3:"106";s:5:"title";s:12:"创建项目";s:4:"path";s:9:"/projects";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:1217:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kweqeeu4uyul5ro6o7","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kweqeneavf594nhj4cm","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kweqeulf61fh20gafsy","children":[]},{"field":"products","paramsType":"array","required":true,"desc":"关联产品,比如 [1, 2],不能为空。","structType":"json","sub":1,"key":"kweqfbdfm7z71875r1l","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"项目编号","structType":"json","sub":1,"key":"kweqlpdkud5rs421do9","children":[]},{"field":"model","paramsType":"string","required":"","desc":"项目模型,默认为scrum","structType":"json","sub":1,"key":"kweqndhs3nd3a1jd9r4","children":[]},{"field":"parent","paramsType":"int","required":"","desc":"所属项目集,默认为0","structType":"json","sub":1,"key":"kweqvrk6mjr9vygujza","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1984:"[{"field":"id","paramsType":"int","required":true,"desc":"项目编号","structType":"json","sub":1,"key":"kweqd0yk9o8xi8kyi4i","children":[]},{"field":"model","paramsType":"string","required":true,"desc":"项目模型(scrum 敏捷 | waterfall 瀑布)","structType":"json","sub":1,"key":"kweqn4iti067eqz5d2m","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kweqols3u9m0s05ylyk","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kweque9jrz74gf76dh","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kweqv1x01dpu3by4dfb","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kweqvb5i8r2yr4640yh","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"项目代号","structType":"json","sub":1,"key":"kweqwlz88yba26zd50g","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kweqwvifjrxbgg1l76j","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kweqy196dogt0m3o9ge","children":[]},{"field":"realBegan","paramsType":"date","required":"","desc":"实际开始日期","structType":"json","sub":1,"key":"kweqyb2s8lsmedm0pa","children":[]},{"field":"realEnd","paramsType":"date","required":"","desc":"实际结束日期","structType":"json","sub":1,"key":"kweqympfb0h7cuwvrhk","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kweqzck8664cy70yxx","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwer3319sfmmlqu6bj","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:40;O:8:"stdClass":19:{s:2:"id";s:4:"1560";s:3:"doc";s:3:"480";s:6:"module";s:3:"107";s:5:"title";s:36:"获取某一项目下的执行列表";s:4:"path";s:23:"/project/:id/executions";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2218:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwfmsr4svpcdc2c2ip","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"执行总数","structType":"json","sub":1,"key":"kwfs34t9ez00cfhwvtb","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页执行数","structType":"json","sub":1,"key":"kwfs38d1l0cv32ltd5g","children":[]},{"field":"executions","paramsType":"array","required":true,"desc":"执行列表","structType":"json","sub":1,"key":"kwfs3bkjolf2peoxqw","children":[{"field":"id","paramsType":"int","required":true,"desc":"执行ID","structType":"json","sub":2,"key":"kwfs4vl61prpc0matzc","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":2,"key":"kwfs62skb2z6s4c97b8","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":2,"key":"kwfs6fsdl1n419fikci","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":2,"key":"kwfs6s8xhzflp7mj1es","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":2,"key":"kwfs6ysbrdp5gen40zl","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"执行状态()","structType":"json","sub":2,"key":"kwfs7dvazclp95vjg7i","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwfs7xcoz84e7aykmq","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwfs81w4lltagz6uys","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"progress","paramsType":"int","required":true,"desc":"当前进度","structType":"json","sub":2,"key":"kwfs8lc8in8pr5m7sib","parentKey":"kwfs3bkjolf2peoxqw","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:41;O:8:"stdClass":19:{s:2:"id";s:4:"1561";s:3:"doc";s:3:"480";s:6:"module";s:3:"107";s:5:"title";s:30:"获取项目下的执行列表";s:4:"path";s:23:"/project/:id/executions";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2218:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwfmsr4svpcdc2c2ip","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"执行总数","structType":"json","sub":1,"key":"kwfs34t9ez00cfhwvtb","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页执行数","structType":"json","sub":1,"key":"kwfs38d1l0cv32ltd5g","children":[]},{"field":"executions","paramsType":"array","required":true,"desc":"执行列表","structType":"json","sub":1,"key":"kwfs3bkjolf2peoxqw","children":[{"field":"id","paramsType":"int","required":true,"desc":"执行ID","structType":"json","sub":2,"key":"kwfs4vl61prpc0matzc","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":2,"key":"kwfs62skb2z6s4c97b8","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":2,"key":"kwfs6fsdl1n419fikci","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":2,"key":"kwfs6s8xhzflp7mj1es","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":2,"key":"kwfs6ysbrdp5gen40zl","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"执行状态()","structType":"json","sub":2,"key":"kwfs7dvazclp95vjg7i","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwfs7xcoz84e7aykmq","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwfs81w4lltagz6uys","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"progress","paramsType":"int","required":true,"desc":"当前进度","structType":"json","sub":2,"key":"kwfs8lc8in8pr5m7sib","parentKey":"kwfs3bkjolf2peoxqw","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:42;O:8:"stdClass":19:{s:2:"id";s:4:"1562";s:3:"doc";s:3:"482";s:6:"module";s:3:"106";s:5:"title";s:18:"获取项目详情";s:4:"path";s:13:"/projects/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2834:"[{"field":"id","paramsType":"int","required":true,"desc":"项目编号","structType":"json","sub":1,"key":"kwfo61d427ebc01qyw8","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwfo750e6nu14s1mpxo","children":[]},{"field":"model","paramsType":"string","required":true,"desc":"项目模型(scrum 敏捷 | waterfall 瀑布)","structType":"json","sub":1,"key":"kwfo7gn93qxvrutdfuv","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"项目预算金额","structType":"json","sub":1,"key":"kwfosq5ey0h0ssr36vg","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwfosy3p0juy0e9og43l","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfotny2ubdkbqbpiip","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"项目编号","structType":"json","sub":1,"key":"kwfouazlja2v88n8g5d","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwfoul4jhmzjlurvua","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwfouql1fu3zun911pt","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwfoutlhiryhz2e5g6","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwfovhzh6k9cbh96xck","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"项目状态(wait 未开始 | doing 进行中 | suspend 已挂起 | closed 已关闭)","structType":"json","sub":1,"key":"kwfow3wzv9ad5nj9k7","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目描述","structType":"json","sub":1,"key":"kwfoxh13qwv0h2xg86","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwfoxsionkxeggc337","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwfoy1iw9f2sicm3xcd","children":[]},{"field":"PM","paramsType":"string","required":true,"desc":"项目负责人","structType":"json","sub":1,"key":"kwfoynhiwfkyhof0x8a","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwfoz9lmw38ehk68bh","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwfp0tsvhw6xxldplua","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:43;O:8:"stdClass":19:{s:2:"id";s:4:"1558";s:3:"doc";s:3:"480";s:6:"module";s:3:"107";s:5:"title";s:27:"获取项目的执行列表";s:4:"path";s:23:"/project/:id/executions";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2218:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwfmsr4svpcdc2c2ip","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"执行总数","structType":"json","sub":1,"key":"kwfs34t9ez00cfhwvtb","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页执行数","structType":"json","sub":1,"key":"kwfs38d1l0cv32ltd5g","children":[]},{"field":"executions","paramsType":"array","required":true,"desc":"执行列表","structType":"json","sub":1,"key":"kwfs3bkjolf2peoxqw","children":[{"field":"id","paramsType":"int","required":true,"desc":"执行ID","structType":"json","sub":2,"key":"kwfs4vl61prpc0matzc","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":2,"key":"kwfs62skb2z6s4c97b8","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":2,"key":"kwfs6fsdl1n419fikci","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":2,"key":"kwfs6s8xhzflp7mj1es","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":2,"key":"kwfs6ysbrdp5gen40zl","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"执行状态()","structType":"json","sub":2,"key":"kwfs7dvazclp95vjg7i","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwfs7xcoz84e7aykmq","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwfs81w4lltagz6uys","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"progress","paramsType":"int","required":true,"desc":"当前进度","structType":"json","sub":2,"key":"kwfs8lc8in8pr5m7sib","parentKey":"kwfs3bkjolf2peoxqw","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:44;O:8:"stdClass":19:{s:2:"id";s:4:"1559";s:3:"doc";s:3:"479";s:6:"module";s:3:"106";s:5:"title";s:12:"修改项目";s:4:"path";s:13:"/projects/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:1841:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":"","desc":"项目名称","structType":"formData","sub":1,"key":"kwfzx1b9z1ojzx148v8","children":[]},{"field":"code","paramsType":"string","required":"","desc":"项目代号","structType":"formData","sub":1,"key":"kwg07xvv8hp8q72a70p","children":[]},{"field":"parent","paramsType":"int","required":false,"desc":"所属项目集","structType":"formData","sub":1,"key":"kwg0876le09j7dkyxjq","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目负责人","structType":"formData","sub":1,"key":"kwg0fzqc762wxgjyyxl","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"项目预算金额","structType":"formData","sub":1,"key":"kwg0j7akglo9o1sdd8g","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY | USD)","structType":"formData","sub":1,"key":"kwg0jl5ymm7o4x0k5ta","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"formData","sub":1,"key":"kwg0ka6ohdjnpp56c","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"项目描述","structType":"formData","sub":1,"key":"kwg0kyn82ahibxdaa3p","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"formData","sub":1,"key":"kwg0m88gcrace3xs9ha","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"formData","sub":1,"key":"kwg0mvcgpb19a34lxz8","children":[]},{"field":"auth","paramsType":"string","required":"","desc":"权限控制(extend 继承 | reset 重新定义)","structType":"formData","sub":1,"key":"kwg0nw28t57nw6ls9g","children":[]}],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1823:"[{"field":"id","paramsType":"int","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfzx1bfez3bi3z1uh8","children":[]},{"field":"name","paramsType":"string","required":"","desc":"项目名称","structType":"json","sub":1,"key":"kwg0qqa1i6liuc5na2","children":[]},{"field":"parent","paramsType":"int","required":"","desc":"所属项目集","structType":"json","sub":1,"key":"kwg0qz7loa7d85ykp7s","children":[]},{"field":"code","paramsType":"string","required":"","desc":"项目代号","structType":"json","sub":1,"key":"kwg0r91vhgfn2bfb9p7","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwg0rpuoxyjz9pqxgt","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"项目预算金额","structType":"json","sub":1,"key":"kwg0rzy9s219ge93f3","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwg0s9wyql076w7sul","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"json","sub":1,"key":"kwg0sk1ewbnq8cubqut","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"项目描述","structType":"json","sub":1,"key":"kwg0srchfyqmpfcw8n4","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwg0syv0vmyry7bpo99","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg0t6hoeif88dy86s","children":[]},{"field":"auth","paramsType":"string","required":"","desc":"权限控制(extend 继承 | reset 重新定义)","structType":"json","sub":1,"key":"kwg0td9u9zcfm6pbbp","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:45;O:8:"stdClass":19:{s:2:"id";s:4:"1555";s:3:"doc";s:3:"477";s:6:"module";s:3:"106";s:5:"title";s:12:"删除项目";s:4:"path";s:13:"/projects/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:6:"DELETE";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:151:"[{"field":"message","paramsType":"string","required":true,"desc":"响应信息","structType":"json","sub":1,"key":"kwg0v2vgszk0z27cw5q","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:46;O:8:"stdClass":19:{s:2:"id";s:4:"1556";s:3:"doc";s:3:"478";s:6:"module";s:1:"0";s:5:"title";s:12:"创建执行";s:4:"path";s:24:"/projects/:id/executions";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:2403:"{"header":[{"field":"Token","required":true,"desc":"认证凭证"}],"params":[{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwg1ms08tbuujh4amd","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwg1oztyy48dm8m7ykk","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwg1pb011jy7te3dhil","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwg1piwmz4iad8atw8g","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwg1po8c6g02wciwc8k","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"json","sub":1,"key":"kwg1py9vcmy6q1qt3vs","children":[]},{"field":"lifetime","paramsType":"string","required":"","desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwg1qxpt6mhzoy5sxm","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwg1rogihd6h959v8en","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"迭代负责人","structType":"json","sub":1,"key":"kwg1u5uwk6dty43r8yq","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwg1ud1wtozclb1wa7","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwg1ujvuqtad5zav3z","children":[]},{"field":"teamMembers[]","paramsType":"array","required":"","desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwg1ur6sq8cfjlizc8m","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"迭代描述","structType":"json","sub":1,"key":"kwg1vny7cdpckj9m7w5","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwg1wz0cs5bpn14c1x","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg21q5ul24mkz2654r","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:138:"[{"field":"id","paramsType":"int","required":true,"desc":"迭代ID","structType":"json","sub":1,"key":"kwg10yk5xgj4vd2u9g","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:47;O:8:"stdClass":19:{s:2:"id";s:4:"1557";s:3:"doc";s:3:"478";s:6:"module";s:3:"107";s:5:"title";s:12:"创建执行";s:4:"path";s:24:"/projects/:id/executions";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:2403:"{"header":[{"field":"Token","required":true,"desc":"认证凭证"}],"params":[{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwg1ms08tbuujh4amd","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwg1oztyy48dm8m7ykk","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwg1pb011jy7te3dhil","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwg1piwmz4iad8atw8g","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwg1po8c6g02wciwc8k","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"json","sub":1,"key":"kwg1py9vcmy6q1qt3vs","children":[]},{"field":"lifetime","paramsType":"string","required":"","desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwg1qxpt6mhzoy5sxm","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwg1rogihd6h959v8en","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"迭代负责人","structType":"json","sub":1,"key":"kwg1u5uwk6dty43r8yq","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwg1ud1wtozclb1wa7","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwg1ujvuqtad5zav3z","children":[]},{"field":"teamMembers[]","paramsType":"array","required":"","desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwg1ur6sq8cfjlizc8m","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"迭代描述","structType":"json","sub":1,"key":"kwg1vny7cdpckj9m7w5","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwg1wz0cs5bpn14c1x","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg21q5ul24mkz2654r","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:138:"[{"field":"id","paramsType":"int","required":true,"desc":"迭代ID","structType":"json","sub":1,"key":"kwg10yk5xgj4vd2u9g","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:48;O:8:"stdClass":19:{s:2:"id";s:4:"1553";s:3:"doc";s:3:"476";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集详情";s:4:"path";s:13:"/programs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2129:"[{"field":"id","paramsType":"int","required":true,"desc":"项目集ID","structType":"json","sub":1,"key":"kwj8m09ldh61qyuvm0i","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目集名称","structType":"json","sub":1,"key":"kwj8n4tt3bns0zay97x","children":[]},{"field":"PM","paramsType":"string","required":true,"desc":"负责人","structType":"json","sub":1,"key":"kwj8o0cl9hp8wndzcuj","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kwj8oc20vnok8xd1sq","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwj8oldpyvgy82o6xk","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwj8p80rykze7d8f1nq","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwj8pv6l3t4gggocbrt","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwj8qc97rkkuiiwht","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwj8qfwqmbns6nnn7o","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目集描述","structType":"json","sub":1,"key":"kwj8qxwggzcmnlu9mji","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwj8rbp90dreozj1a1x5","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwj8rhee6ww3gy35x4q","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwj8s8pc8uk89exry8i","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwj8sovnzv5fweyv8dq","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:49;O:8:"stdClass":19:{s:2:"id";s:4:"1554";s:3:"doc";s:3:"481";s:6:"module";s:3:"104";s:5:"title";s:15:"修改项目集";s:4:"path";s:13:"/programs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:549:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":"","desc":"项目名称","structType":"json","sub":1,"key":"kwfrrcafi41oii1yyu","children":[]},{"field":"code","paramsType":"string","required":"","desc":"项目代号","structType":"json","sub":1,"key":"kwfrrjy5fy9cr7cbhxt","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwfrrp78h46nsupgqg","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2593:"[{"field":"id","paramsType":"int","required":true,"desc":"","structType":"json","sub":1,"key":"kwfrq9ewoxebsfy1yc","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrt5svntvrbex1a1","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"项目代号","structType":"json","sub":1,"key":"kwfrtbe11x80yhs04ss","children":[]},{"field":"model","paramsType":"string","required":true,"desc":"项目模型(scrum 敏捷 | waterfall 瀑布)","structType":"json","sub":1,"key":"kwfrth2o1b8yeez8klk","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"项目预算","structType":"json","sub":1,"key":"kwfrufdxs4insbwp7os","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwfrupqa2is097je3r1","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwfrv68kj5pq1ev7y1a","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwfrvpa06s9odxqr733","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwfrvwl8yp43br33c0j","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwfrw1x78s1r66etxjn","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwfrw6lojs101m01t6","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目描述","structType":"json","sub":1,"key":"kwfrwkdf096g5nvumqrp","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwfrx6jpg8tpusd54te","children":[]},{"field":"openedDate","paramsType":"string","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwfrxh8vp3p541ha0q","children":[]},{"field":"PM","paramsType":"string","required":true,"desc":"项目负责人","structType":"json","sub":1,"key":"kwfrxyttm6qlete3n3h","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwfry99qckte6qguao","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwfryty0hgpjch2k40u","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:50;O:8:"stdClass":19:{s:2:"id";s:4:"1552";s:3:"doc";s:3:"481";s:6:"module";s:3:"104";s:5:"title";s:15:"修改项目集";s:4:"path";s:13:"/programs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:1948:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrrcafi41oii1yyu","children":[]},{"field":"parent","paramsType":"string","required":"","desc":"父项目集,0表示没有父项目集","structType":"json","sub":1,"key":"kwfrrjy5fy9cr7cbhxt","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwfrrp78h46nsupgqg","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"预算金额","structType":"json","sub":1,"key":"kwg2zi8y395k1sa5qw","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwg2zu8lqoggv7wrofn","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"项目集描述","structType":"json","sub":1,"key":"kwg32uanzx7ssr24qb","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"预计开始日期","structType":"json","sub":1,"key":"kwg331xpdglirubloc","children":[]},{"field":"end","paramsType":"date","required":"","desc":"预计结束日期","structType":"json","sub":1,"key":"kwg339ez5y4fapvyz02","children":[]},{"field":"openedBy","paramsType":"string","required":"","desc":"创建人","structType":"json","sub":1,"key":"kwg36vzj96jttee311e","children":[]},{"field":"openedDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":1,"key":"kwg370yykmrgig69fyd","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwg387hniakqx94yjh","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg38nt998kadpp0kk7","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2259:"[{"field":"id","paramsType":"int","required":true,"desc":"","structType":"json","sub":1,"key":"kwfrq9ewoxebsfy1yc","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrt5svntvrbex1a1","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kwfrufdxs4insbwp7os","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwfrupqa2is097je3r1","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父项目集","structType":"json","sub":1,"key":"kwfrv68kj5pq1ev7y1a","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwfrvpa06s9odxqr733","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwfrvwl8yp43br33c0j","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwfrw1x78s1r66etxjn","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwfrw6lojs101m01t6","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目集描述","structType":"json","sub":1,"key":"kwfrwkdf096g5nvumqrp","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwfrx6jpg8tpusd54te","children":[]},{"field":"openedDate","paramsType":"string","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwfrxh8vp3p541ha0q","children":[]},{"field":"PM","paramsType":"string","required":true,"desc":"负责人","structType":"json","sub":1,"key":"kwfrxyttm6qlete3n3h","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwfry99qckte6qguao","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwfryty0hgpjch2k40u","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:51;O:8:"stdClass":19:{s:2:"id";s:4:"1548";s:3:"doc";s:3:"475";s:6:"module";s:3:"104";s:5:"title";s:15:"创建项目集";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:0:"";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:0:"";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:52;O:8:"stdClass":19:{s:2:"id";s:4:"1549";s:3:"doc";s:3:"475";s:6:"module";s:3:"104";s:5:"title";s:15:"创建项目集";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:272:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":true,"desc":"项目集名称","structType":"formData","sub":1,"key":"kwjamt59yshdio7t6t","children":[]}],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:53;O:8:"stdClass":19:{s:2:"id";s:4:"1550";s:3:"doc";s:3:"475";s:6:"module";s:3:"104";s:5:"title";s:15:"创建项目集";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:1650:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":false,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrrcafi41oii1yyu","children":[]},{"field":"parent","paramsType":"string","required":"","desc":"父项目集,0表示没有父项目集","structType":"json","sub":1,"key":"kwfrrjy5fy9cr7cbhxt","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwfrrp78h46nsupgqg","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"预算金额","structType":"json","sub":1,"key":"kwg2zi8y395k1sa5qw","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwg2zu8lqoggv7wrofn","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"项目集描述","structType":"json","sub":1,"key":"kwg32uanzx7ssr24qb","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"预计开始日期","structType":"json","sub":1,"key":"kwg331xpdglirubloc","children":[]},{"field":"end","paramsType":"date","required":"","desc":"预计结束日期","structType":"json","sub":1,"key":"kwg339ez5y4fapvyz02","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwg387hniakqx94yjh","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg38nt998kadpp0kk7","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2259:"[{"field":"id","paramsType":"int","required":true,"desc":"","structType":"json","sub":1,"key":"kwfrq9ewoxebsfy1yc","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrt5svntvrbex1a1","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kwfrufdxs4insbwp7os","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwfrupqa2is097je3r1","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父项目集","structType":"json","sub":1,"key":"kwfrv68kj5pq1ev7y1a","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwfrvpa06s9odxqr733","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwfrvwl8yp43br33c0j","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwfrw1x78s1r66etxjn","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwfrw6lojs101m01t6","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目集描述","structType":"json","sub":1,"key":"kwfrwkdf096g5nvumqrp","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwfrx6jpg8tpusd54te","children":[]},{"field":"openedDate","paramsType":"string","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwfrxh8vp3p541ha0q","children":[]},{"field":"PM","paramsType":"string","required":true,"desc":"负责人","structType":"json","sub":1,"key":"kwfrxyttm6qlete3n3h","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwfry99qckte6qguao","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwfryty0hgpjch2k40u","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:54;O:8:"stdClass":19:{s:2:"id";s:4:"1551";s:3:"doc";s:3:"481";s:6:"module";s:3:"104";s:5:"title";s:15:"修改项目集";s:4:"path";s:13:"/programs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:1949:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":false,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrrcafi41oii1yyu","children":[]},{"field":"parent","paramsType":"string","required":"","desc":"父项目集,0表示没有父项目集","structType":"json","sub":1,"key":"kwfrrjy5fy9cr7cbhxt","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwfrrp78h46nsupgqg","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"预算金额","structType":"json","sub":1,"key":"kwg2zi8y395k1sa5qw","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwg2zu8lqoggv7wrofn","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"项目集描述","structType":"json","sub":1,"key":"kwg32uanzx7ssr24qb","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"预计开始日期","structType":"json","sub":1,"key":"kwg331xpdglirubloc","children":[]},{"field":"end","paramsType":"date","required":"","desc":"预计结束日期","structType":"json","sub":1,"key":"kwg339ez5y4fapvyz02","children":[]},{"field":"openedBy","paramsType":"string","required":"","desc":"创建人","structType":"json","sub":1,"key":"kwg36vzj96jttee311e","children":[]},{"field":"openedDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":1,"key":"kwg370yykmrgig69fyd","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwg387hniakqx94yjh","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg38nt998kadpp0kk7","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2259:"[{"field":"id","paramsType":"int","required":true,"desc":"","structType":"json","sub":1,"key":"kwfrq9ewoxebsfy1yc","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrt5svntvrbex1a1","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kwfrufdxs4insbwp7os","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwfrupqa2is097je3r1","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父项目集","structType":"json","sub":1,"key":"kwfrv68kj5pq1ev7y1a","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwfrvpa06s9odxqr733","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwfrvwl8yp43br33c0j","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwfrw1x78s1r66etxjn","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwfrw6lojs101m01t6","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目集描述","structType":"json","sub":1,"key":"kwfrwkdf096g5nvumqrp","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwfrx6jpg8tpusd54te","children":[]},{"field":"openedDate","paramsType":"string","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwfrxh8vp3p541ha0q","children":[]},{"field":"PM","paramsType":"string","required":true,"desc":"负责人","structType":"json","sub":1,"key":"kwfrxyttm6qlete3n3h","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwfry99qckte6qguao","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwfryty0hgpjch2k40u","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:55;O:8:"stdClass":19:{s:2:"id";s:4:"1547";s:3:"doc";s:3:"474";s:6:"module";s:3:"104";s:5:"title";s:15:"删除项目集";s:4:"path";s:13:"/programs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:6:"DELETE";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:145:"[{"field":"message","paramsType":"string","required":true,"desc":"success","structType":"json","sub":1,"key":"kwj9ixknz4l5k1u4qc","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:56;O:8:"stdClass":19:{s:2:"id";s:4:"1546";s:3:"doc";s:3:"481";s:6:"module";s:3:"104";s:5:"title";s:15:"修改项目集";s:4:"path";s:13:"/programs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"5";s:6:"params";s:1650:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":false,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrrcafi41oii1yyu","children":[]},{"field":"parent","paramsType":"string","required":"","desc":"父项目集,0表示没有父项目集","structType":"json","sub":1,"key":"kwfrrjy5fy9cr7cbhxt","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwfrrp78h46nsupgqg","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"预算金额","structType":"json","sub":1,"key":"kwg2zi8y395k1sa5qw","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwg2zu8lqoggv7wrofn","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"项目集描述","structType":"json","sub":1,"key":"kwg32uanzx7ssr24qb","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"预计开始日期","structType":"json","sub":1,"key":"kwg331xpdglirubloc","children":[]},{"field":"end","paramsType":"date","required":"","desc":"预计结束日期","structType":"json","sub":1,"key":"kwg339ez5y4fapvyz02","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwg387hniakqx94yjh","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg38nt998kadpp0kk7","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2259:"[{"field":"id","paramsType":"int","required":true,"desc":"","structType":"json","sub":1,"key":"kwfrq9ewoxebsfy1yc","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrt5svntvrbex1a1","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kwfrufdxs4insbwp7os","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwfrupqa2is097je3r1","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父项目集","structType":"json","sub":1,"key":"kwfrv68kj5pq1ev7y1a","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwfrvpa06s9odxqr733","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwfrvwl8yp43br33c0j","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwfrw1x78s1r66etxjn","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwfrw6lojs101m01t6","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目集描述","structType":"json","sub":1,"key":"kwfrwkdf096g5nvumqrp","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwfrx6jpg8tpusd54te","children":[]},{"field":"openedDate","paramsType":"string","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwfrxh8vp3p541ha0q","children":[]},{"field":"PM","paramsType":"string","required":true,"desc":"负责人","structType":"json","sub":1,"key":"kwfrxyttm6qlete3n3h","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwfry99qckte6qguao","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwfryty0hgpjch2k40u","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:57;O:8:"stdClass":19:{s:2:"id";s:4:"1545";s:3:"doc";s:3:"475";s:6:"module";s:3:"104";s:5:"title";s:15:"创建项目集";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:1681:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":false,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrrcafi41oii1yyu","children":[]},{"field":"parent","paramsType":"string","required":"","desc":"父项目集,0表示没有父项目集","structType":"json","sub":1,"key":"kwfrrjy5fy9cr7cbhxt","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwfrrp78h46nsupgqg","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"预算金额","structType":"json","sub":1,"key":"kwg2zi8y395k1sa5qw","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwg2zu8lqoggv7wrofn","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"项目集描述","structType":"json","sub":1,"key":"kwg32uanzx7ssr24qb","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"预计开始日期","structType":"json","sub":1,"key":"kwg331xpdglirubloc","children":[]},{"field":"end","paramsType":"date","required":"","desc":"预计结束日期","structType":"json","sub":1,"key":"kwg339ez5y4fapvyz02","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwg387hniakqx94yjh","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单,只有acl = private才生效","structType":"json","sub":1,"key":"kwg38nt998kadpp0kk7","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2259:"[{"field":"id","paramsType":"int","required":true,"desc":"","structType":"json","sub":1,"key":"kwfrq9ewoxebsfy1yc","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrt5svntvrbex1a1","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kwfrufdxs4insbwp7os","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwfrupqa2is097je3r1","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父项目集","structType":"json","sub":1,"key":"kwfrv68kj5pq1ev7y1a","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwfrvpa06s9odxqr733","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwfrvwl8yp43br33c0j","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwfrw1x78s1r66etxjn","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwfrw6lojs101m01t6","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目集描述","structType":"json","sub":1,"key":"kwfrwkdf096g5nvumqrp","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwfrx6jpg8tpusd54te","children":[]},{"field":"openedDate","paramsType":"string","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwfrxh8vp3p541ha0q","children":[]},{"field":"PM","paramsType":"string","required":true,"desc":"负责人","structType":"json","sub":1,"key":"kwfrxyttm6qlete3n3h","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwfry99qckte6qguao","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwfryty0hgpjch2k40u","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:58;O:8:"stdClass":19:{s:2:"id";s:4:"1541";s:3:"doc";s:3:"473";s:6:"module";s:3:"107";s:5:"title";s:18:"查看执行详情";s:4:"path";s:15:"/executions/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:137:"[{"field":"id","paramsType":"int","required":"","desc":"执行ID","structType":"json","sub":1,"key":"kwjeuc2q9pt9x1wqxzp","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:59;O:8:"stdClass":19:{s:2:"id";s:4:"1542";s:3:"doc";s:3:"473";s:6:"module";s:3:"107";s:5:"title";s:18:"查看执行详情";s:4:"path";s:15:"/executions/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:138:"[{"field":"id","paramsType":"int","required":true,"desc":"执行ID","structType":"json","sub":1,"key":"kwjf5z9zdnjy9hf99r","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:60;O:8:"stdClass":19:{s:2:"id";s:4:"1543";s:3:"doc";s:3:"473";s:6:"module";s:3:"107";s:5:"title";s:18:"查看执行详情";s:4:"path";s:15:"/executions/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2738:"[{"field":"id","paramsType":"int","required":true,"desc":"执行ID","structType":"json","sub":1,"key":"kwjf8jyxc2bl5hv8aj","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwjf92n2g29wmh5ksod","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwjf93oiywvp8qfjso8","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwjf94h8eksswfob90d","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwjf94n4h5rwsrx9jav","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwjf94t8t1k232wb97k","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"json","sub":1,"key":"kwjf95ea8g3jtdwqbhm","children":[]},{"field":"lifetime","paramsType":"string","required":"","desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwjfak4falp1oiafj0r","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwjfakg8r1npyuij5vr","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"迭代负责人","structType":"json","sub":1,"key":"kwjfakm4mre55vpxd3s","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwjfay8pduj3pwg4ni","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwjfaye22chyvo2td35","children":[]},{"field":"teamMembers","paramsType":"array","required":"","desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwjfayiuu0rcwpgnzt","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"迭代描述","structType":"json","sub":1,"key":"kwjfbfsr0ew9qa91j58k","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwjfbfx3nzyg61vz4s","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwjfbp66qz2vh1h4ib","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwjfbpav4pod9grs3p6","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwjfdqkkbnm8q6il7rl","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:61;O:8:"stdClass":19:{s:2:"id";s:4:"1544";s:3:"doc";s:3:"478";s:6:"module";s:3:"107";s:5:"title";s:12:"创建执行";s:4:"path";s:24:"/projects/:id/executions";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:2401:"{"header":[{"field":"Token","required":true,"desc":"认证凭证"}],"params":[{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwg1ms08tbuujh4amd","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwg1oztyy48dm8m7ykk","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwg1pb011jy7te3dhil","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwg1piwmz4iad8atw8g","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwg1po8c6g02wciwc8k","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"json","sub":1,"key":"kwg1py9vcmy6q1qt3vs","children":[]},{"field":"lifetime","paramsType":"string","required":"","desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwg1qxpt6mhzoy5sxm","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwg1rogihd6h959v8en","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"迭代负责人","structType":"json","sub":1,"key":"kwg1u5uwk6dty43r8yq","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwg1ud1wtozclb1wa7","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwg1ujvuqtad5zav3z","children":[]},{"field":"teamMembers","paramsType":"array","required":"","desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwg1ur6sq8cfjlizc8m","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"迭代描述","structType":"json","sub":1,"key":"kwg1vny7cdpckj9m7w5","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwg1wz0cs5bpn14c1x","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg21q5ul24mkz2654r","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2477:"[{"field":"id","paramsType":"int","required":true,"desc":"执行ID","structType":"json","sub":1,"key":"kwje93s0z2ssy5ly0fe","children":[]},{"field":"project","paramsType":"boolean","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwje9v54b34cthkc1of","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwjea30ar0z9hsc1urn","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwjeabewhizyxsjf4cg","children":[]},{"field":"days","paramsType":"int","required":true,"desc":"可用工作日","structType":"json","sub":1,"key":"kwjearrn1hjcssfmckq","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwjeb0e477czkhdc37b","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwjeb7kflmn5w24jp7r","children":[]},{"field":"lifetime","paramsType":"string","required":true,"desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwjebm589usadvn8bd","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwjebvvo35mmg93g23t","children":[]},{"field":"PM","paramsType":"string","required":false,"desc":"迭代负责人","structType":"json","sub":1,"key":"kwjec64i8fbsgsk6o16","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwjec75526g0hq0afpu","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwjeckfrxddq94il8xn","children":[]},{"field":"teamMembers","paramsType":"array","required":true,"desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwjecwu03ma77kxt3a5","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"迭代描述","structType":"json","sub":1,"key":"kwjedoygiwsq148p2kg","children":[]},{"field":"acl","paramsType":"array","required":true,"desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwjedzd69dldudhd355","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单,acl = private时生效","structType":"json","sub":1,"key":"kwjee3inl8cabnd73lj","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:62;O:8:"stdClass":19:{s:2:"id";s:4:"1539";s:3:"doc";s:3:"472";s:6:"module";s:3:"107";s:5:"title";s:12:"编辑执行";s:4:"path";s:15:"/executions/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:63;O:8:"stdClass":19:{s:2:"id";s:4:"1540";s:3:"doc";s:3:"472";s:6:"module";s:3:"107";s:5:"title";s:12:"编辑执行";s:4:"path";s:15:"/executions/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:116:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:64;O:8:"stdClass":19:{s:2:"id";s:4:"1536";s:3:"doc";s:3:"478";s:6:"module";s:3:"107";s:5:"title";s:12:"创建执行";s:4:"path";s:24:"/projects/:id/executions";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:2401:"{"header":[{"field":"Token","required":true,"desc":"认证凭证"}],"params":[{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwg1ms08tbuujh4amd","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwg1oztyy48dm8m7ykk","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwg1pb011jy7te3dhil","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwg1piwmz4iad8atw8g","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwg1po8c6g02wciwc8k","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"json","sub":1,"key":"kwg1py9vcmy6q1qt3vs","children":[]},{"field":"lifetime","paramsType":"string","required":"","desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwg1qxpt6mhzoy5sxm","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwg1rogihd6h959v8en","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"迭代负责人","structType":"json","sub":1,"key":"kwg1u5uwk6dty43r8yq","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwg1ud1wtozclb1wa7","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwg1ujvuqtad5zav3z","children":[]},{"field":"teamMembers","paramsType":"array","required":"","desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwg1ur6sq8cfjlizc8m","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"迭代描述","structType":"json","sub":1,"key":"kwg1vny7cdpckj9m7w5","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwg1wz0cs5bpn14c1x","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg21q5ul24mkz2654r","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2780:"[{"field":"id","paramsType":"int","required":true,"desc":"执行ID","structType":"json","sub":1,"key":"kwje93s0z2ssy5ly0fe","children":[]},{"field":"project","paramsType":"boolean","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwje9v54b34cthkc1of","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwjea30ar0z9hsc1urn","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwjeabewhizyxsjf4cg","children":[]},{"field":"days","paramsType":"int","required":true,"desc":"可用工作日","structType":"json","sub":1,"key":"kwjearrn1hjcssfmckq","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwjeb0e477czkhdc37b","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwjeb7kflmn5w24jp7r","children":[]},{"field":"lifetime","paramsType":"string","required":true,"desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwjebm589usadvn8bd","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwjebvvo35mmg93g23t","children":[]},{"field":"PM","paramsType":"string","required":false,"desc":"迭代负责人","structType":"json","sub":1,"key":"kwjec64i8fbsgsk6o16","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwjec75526g0hq0afpu","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwjeckfrxddq94il8xn","children":[]},{"field":"teamMembers","paramsType":"array","required":true,"desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwjecwu03ma77kxt3a5","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"迭代描述","structType":"json","sub":1,"key":"kwjedoygiwsq148p2kg","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwjedzd69dldudhd355","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单,acl = private时生效","structType":"json","sub":1,"key":"kwjee3inl8cabnd73lj","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwjgyer9dnn0cdmvfbg","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwjgyibi4lkkpze9ru","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:65;O:8:"stdClass":19:{s:2:"id";s:4:"1537";s:3:"doc";s:3:"469";s:6:"module";s:3:"107";s:5:"title";s:12:"删除执行";s:4:"path";s:15:"/executions/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:6:"DELETE";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:151:"[{"field":"message","paramsType":"string","required":true,"desc":"删除结果","structType":"json","sub":1,"key":"kwjg44slxzhtkdd71df","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:66;O:8:"stdClass":19:{s:2:"id";s:4:"1538";s:3:"doc";s:3:"472";s:6:"module";s:3:"107";s:5:"title";s:12:"修改执行";s:4:"path";s:24:"/projects/:id/executions";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:2401:"{"header":[{"field":"Token","required":true,"desc":"认证凭证"}],"params":[{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwg1ms08tbuujh4amd","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwg1oztyy48dm8m7ykk","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwg1pb011jy7te3dhil","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwg1piwmz4iad8atw8g","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwg1po8c6g02wciwc8k","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"json","sub":1,"key":"kwg1py9vcmy6q1qt3vs","children":[]},{"field":"lifetime","paramsType":"string","required":"","desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwg1qxpt6mhzoy5sxm","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwg1rogihd6h959v8en","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"迭代负责人","structType":"json","sub":1,"key":"kwg1u5uwk6dty43r8yq","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwg1ud1wtozclb1wa7","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwg1ujvuqtad5zav3z","children":[]},{"field":"teamMembers","paramsType":"array","required":"","desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwg1ur6sq8cfjlizc8m","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"迭代描述","structType":"json","sub":1,"key":"kwg1vny7cdpckj9m7w5","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwg1wz0cs5bpn14c1x","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg21q5ul24mkz2654r","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2780:"[{"field":"id","paramsType":"int","required":true,"desc":"执行ID","structType":"json","sub":1,"key":"kwje93s0z2ssy5ly0fe","children":[]},{"field":"project","paramsType":"boolean","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwje9v54b34cthkc1of","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwjea30ar0z9hsc1urn","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwjeabewhizyxsjf4cg","children":[]},{"field":"days","paramsType":"int","required":true,"desc":"可用工作日","structType":"json","sub":1,"key":"kwjearrn1hjcssfmckq","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwjeb0e477czkhdc37b","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwjeb7kflmn5w24jp7r","children":[]},{"field":"lifetime","paramsType":"string","required":true,"desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwjebm589usadvn8bd","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwjebvvo35mmg93g23t","children":[]},{"field":"PM","paramsType":"string","required":false,"desc":"迭代负责人","structType":"json","sub":1,"key":"kwjec64i8fbsgsk6o16","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwjec75526g0hq0afpu","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwjeckfrxddq94il8xn","children":[]},{"field":"teamMembers","paramsType":"array","required":true,"desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwjecwu03ma77kxt3a5","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"迭代描述","structType":"json","sub":1,"key":"kwjedoygiwsq148p2kg","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwjedzd69dldudhd355","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单,acl = private时生效","structType":"json","sub":1,"key":"kwjee3inl8cabnd73lj","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwjgxee7xz31l6mlr38","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwjgxmx4kfy4ru55g7","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:67;O:8:"stdClass":19:{s:2:"id";s:4:"1531";s:3:"doc";s:3:"462";s:6:"module";s:3:"116";s:5:"title";s:24:"修改需求其他字段";s:4:"path";s:12:"/stories/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:1250:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"module","paramsType":"int","required":false,"desc":"所属模块","structType":"json","sub":1,"key":"kwk0memxgm8j6r50dji","children":[]},{"field":"source","paramsType":"string","required":"","desc":"来源","structType":"json","sub":1,"key":"kwk0n6trlfwg2zn30um","children":[]},{"field":"sourceNote","paramsType":"string","required":"","desc":"来源备注","structType":"json","sub":1,"key":"kwk0nkk4tyy9dpgjin","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":1,"key":"kwk0nwqvxy0o082smxs","children":[]},{"field":"category","paramsType":"string","required":"","desc":"类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":1,"key":"kwk0oag6m7pcw8u5q8r","children":[]},{"field":"estimate","paramsType":"float","required":"","desc":"预计工时","structType":"json","sub":1,"key":"kwk0pnppcprvzgtbbes","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwk0pxdmfkb55hpaqcn","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:68;O:8:"stdClass":19:{s:2:"id";s:4:"1532";s:3:"doc";s:3:"471";s:6:"module";s:3:"116";s:5:"title";s:24:"获取项目需求列表";s:4:"path";s:21:"/projects/:id/stories";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:69;O:8:"stdClass":19:{s:2:"id";s:4:"1533";s:3:"doc";s:3:"467";s:6:"module";s:3:"116";s:5:"title";s:24:"获取执行需求列表";s:4:"path";s:23:"/executions/:id/stories";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:70;O:8:"stdClass":19:{s:2:"id";s:4:"1534";s:3:"doc";s:3:"468";s:6:"module";s:3:"116";s:5:"title";s:12:"创建需求";s:4:"path";s:8:"/stories";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:1591:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":1,"key":"kwjzb7t7r80zxre07ar","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwjzfpcu6lw92hz2ypn","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwjzfpzyj9dm3wtixpi","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"需求类型","structType":"json","sub":1,"key":"kwjzfqrjtzrsmg53nlp","children":[]},{"field":"spec","paramsType":"string","required":false,"desc":"需求描述","structType":"json","sub":1,"key":"kwjzj6ur2wul1s780xf","children":[]},{"field":"verify","paramsType":"string","required":false,"desc":"验收标准","structType":"json","sub":1,"key":"kwjzjwan8b55385dp7u","children":[]},{"field":"source","paramsType":"string","required":"","desc":"需求来源","structType":"json","sub":1,"key":"kwjzlbfd0s6dmbypy9gr","children":[]},{"field":"sourceNote","paramsType":"string","required":"","desc":"来源备注","structType":"json","sub":1,"key":"kwjzm2bpuz7rpwww18o","children":[]},{"field":"estimate","paramsType":"float","required":"","desc":"预计工时","structType":"json","sub":1,"key":"kwjzmbg8o60ltfbezl","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwjzn2tj3muq5pd3hh3","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2954:"[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":1,"key":"kwjzak1x6332sumet2x","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwjzqgmor28xkpxto2","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":1,"key":"kwjzqh9m591hxaz9r75","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属产品模块","structType":"json","sub":1,"key":"kwjzqhdz9o96s49biap","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来自于Bug","structType":"json","sub":1,"key":"kwjzqhisj4xgerdefa","children":[]},{"field":"source","paramsType":"string","required":true,"desc":"需求来源(customer 客户 | user 用户 | po 产品经理 | market 市场)","structType":"json","sub":1,"key":"kwjzqhnjwye1lyvbs7s","children":[]},{"field":"sourceNote","paramsType":"string","required":true,"desc":"来源备注","structType":"json","sub":1,"key":"kwjzqhs1sci48ds40c","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":1,"key":"kwjzqhvzgnhlyglh3wl","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":1,"key":"kwjzqi0g6kz5b3qtqyj","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"阶段(wait 未开始 | planned 已计划 | projected 已立项 | developing 研发中 | developed 研发完毕 | testing 测试中 | tested 测试完毕 | verified 已验收 | released 已发布 | closed 已关闭)","structType":"json","sub":1,"key":"kwjzqi5fa420z4rcoz9","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwjzsm7e02zv28lg7woq","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":1,"key":"kwjzsmcosfo5u84ljn","children":[]},{"field":"verify","paramsType":"string","required":true,"desc":"验收标准","structType":"json","sub":1,"key":"kwjzsz8r796vs9psimw","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(draft 草稿 | active 激活 | closed 已关闭 | changed 已变更)","structType":"json","sub":1,"key":"kwjzszdgvko3irxwjg","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwjzszihkde9vnt4gu","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwjzszwssmv2dzhyad","children":[]},{"field":"toBug","paramsType":"int","required":true,"desc":"转为Bug","structType":"json","sub":1,"key":"kwjzu1eeg2nbghkse4e","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:71;O:8:"stdClass":19:{s:2:"id";s:4:"1535";s:3:"doc";s:3:"470";s:6:"module";s:3:"116";s:5:"title";s:24:"获取产品需求列表";s:4:"path";s:21:"/products/:id/stories";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3931:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页面","structType":"json","sub":1,"key":"kwjy2s87db9a596fbgb","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"需求总数","structType":"json","sub":1,"key":"kwjy7hkvjkmtt0mkcy","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页需求数","structType":"json","sub":1,"key":"kwjy7ld0ndd1vxicpo","children":[]},{"field":"stories","paramsType":"array","required":true,"desc":"需求列表","structType":"json","sub":1,"key":"kwjy8zyh4dzndly12en","children":[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":2,"key":"kwjy99j7nbctxlys6e","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwjyact3snp2jqp3tn","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwjyaun7ybre2f0dmep","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属产品模块","structType":"json","sub":2,"key":"kwjyb9uzo2dcbc3hmn","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来自于Bug","structType":"json","sub":2,"key":"kwjybqd5ld21pj2rnx7","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"source","paramsType":"string","required":true,"desc":"需求来源(customer 客户 | user 用户 | po 产品经理 | market 市场)","structType":"json","sub":2,"key":"kwjyccenpnjohdldyyp","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"sourceNote","paramsType":"string","required":true,"desc":"来源备注","structType":"json","sub":2,"key":"kwjyhkx6iqoqjdcagt","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":2,"key":"kwjyi8ihn1ufbkfpy0j","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":2,"key":"kwjyixbqtw6vvzlpae","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"阶段(wait 未开始 | planned 已计划 | projected 已立项 | developing 研发中 | developed 研发完毕 | testing 测试中 | tested 测试完毕 | verified 已验收 | released 已发布 | closed 已关闭)","structType":"json","sub":2,"key":"kwjyquptlmh4pfyzo9a","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":2,"key":"kwjyrsb3vu6gxup5vpa","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"estimate","paramsType":"int","required":true,"desc":"预计工时","structType":"json","sub":2,"key":"kwjz0s2pc0sv9wzyh1b","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(draft 草稿 | active 激活 | closed 已关闭 | changed 已变更)","structType":"json","sub":2,"key":"kwjz15ozrkdagpj8dfe","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwjz2eyko6qx1ixausl","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwjz2oj2beho2ph9fug","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"toBug","paramsType":"int","required":true,"desc":"转为Bug","structType":"json","sub":2,"key":"kwjz341v9rmo4xdxt9m","parentKey":"kwjy8zyh4dzndly12en","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:72;O:8:"stdClass":19:{s:2:"id";s:4:"1529";s:3:"doc";s:3:"465";s:6:"module";s:3:"116";s:5:"title";s:18:"获取需求详情";s:4:"path";s:12:"/stories/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:73;O:8:"stdClass":19:{s:2:"id";s:4:"1530";s:3:"doc";s:3:"466";s:6:"module";s:3:"116";s:5:"title";s:12:"变更需求";s:4:"path";s:19:"/stories/:id/change";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:554:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"title","paramsType":"string","required":false,"desc":"需求标题","structType":"json","sub":1,"key":"kwk00sadykqdnjov0b","children":[]},{"field":"spec","paramsType":"string","required":"","desc":"需求描述","structType":"json","sub":1,"key":"kwk056l687emefzib2d","children":[]},{"field":"verify","paramsType":"string","required":"","desc":"验收标准","structType":"json","sub":1,"key":"kwk0752wcpdf6vob37","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:74;O:8:"stdClass":19:{s:2:"id";s:4:"1526";s:3:"doc";s:3:"460";s:6:"module";s:3:"115";s:5:"title";s:12:"创建任务";s:4:"path";s:21:"/executions/:id/tasks";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:1768:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"formData","sub":1,"key":"kwk2vtnfxn98pr2h8yf","children":[]},{"field":"story","paramsType":"int","required":"","desc":"关联需求","structType":"formData","sub":1,"key":"kwk2xlvcr1gkg6izip","children":[]},{"field":"fromBug","paramsType":"int","required":"","desc":"来自于Bug","structType":"formData","sub":1,"key":"kwk2xviqx2ak237g4yi","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"任务名称","structType":"formData","sub":1,"key":"kwk2yavrfjddi4941np","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"formData","sub":1,"key":"kwk2yhq6v5epv4ino7","children":[]},{"field":"assignedTo","paramsType":"array","required":true,"desc":"指派给,[\"admin\"]","structType":"formData","sub":1,"key":"kwk2zis5zbu6jepnl5","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"formData","sub":1,"key":"kwk2zvwesy6jyygqm2","children":[]},{"field":"estimate","paramsType":"float","required":"","desc":"预计工时","structType":"formData","sub":1,"key":"kwk305ekgwbjv0gzb4p","children":[]},{"field":"estStarted","paramsType":"date","required":true,"desc":"预计开始日期","structType":"formData","sub":1,"key":"kwk32zmfpl4kmya3l5h","children":[]},{"field":"deadline","paramsType":"date","required":true,"desc":"预计结束日期","structType":"formData","sub":1,"key":"kwk335gooe4o9gndxb","children":[]}],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4095:"[{"field":"id","paramsType":"int","required":true,"desc":"任务ID","structType":"json","sub":1,"key":"kwk2vtnjuurgha4gkcc","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属任务","structType":"json","sub":1,"key":"kwk37ng942x5k9g1xxm","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父任务","structType":"json","sub":1,"key":"kwk382nnpny9ddvyndg","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwk38e5so8kannzevsl","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwk3imzj095g74m8ff5k","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"关联需求","structType":"json","sub":1,"key":"kwk3iw6rp6bbt5gq3kh","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来源于Bug","structType":"json","sub":1,"key":"kwk3j8pscep4xnuzprg","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"任务名称","structType":"json","sub":1,"key":"kwk3mzbxzc62ksy2659","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"json","sub":1,"key":"kwk3sprxj3d2vj0mat","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk3ukxrnn0ie0rc3oh","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":1,"key":"kwk3v3epr2gpzmkdcmk","children":[]},{"field":"consumed","paramsType":"float","required":true,"desc":"消耗工时","structType":"json","sub":1,"key":"kwk3vjxjszs3uqmmvvm","children":[]},{"field":"left","paramsType":"float","required":true,"desc":"剩余工时","structType":"json","sub":1,"key":"kwk3vu4gwz2vrlwpqd","children":[]},{"field":"deadline","paramsType":"date","required":true,"desc":"预计结束日期","structType":"json","sub":1,"key":"kwk3w6k2qqt6ad9fj6f","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已完成 | closed 已关闭 | cancel 已取消)","structType":"json","sub":1,"key":"kwk3wq0acq6kcla9bxl","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"任务描述","structType":"json","sub":1,"key":"kwk3zv7ssgfg2nko2d","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwk407dr61cugmxhlyv","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwk40d9j5001v5ztro","children":[]},{"field":"assignedTo","paramsType":"string","required":true,"desc":"指派给","structType":"json","sub":1,"key":"kwk40sbi2gb6wlayec8","children":[]},{"field":"assignedDate","paramsType":"datetime","required":true,"desc":"指派时间","structType":"json","sub":1,"key":"kwk40wjuji9duwfxwg","children":[]},{"field":"estStarted","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":1,"key":"kwk41sqvjzmwj2l6k0c","children":[]},{"field":"realStarted","paramsType":"datetime","required":"","desc":"实际开始时间","structType":"json","sub":1,"key":"kwk41tggydumzmjjov","children":[]},{"field":"finishedBy","paramsType":"string","required":"","desc":"由谁完成","structType":"json","sub":1,"key":"kwk41tldxm6egute0hf","children":[]},{"field":"finishedDate","paramsType":"datetime","required":"","desc":"完成时间","structType":"json","sub":1,"key":"kwk41tq3oy1wfxwdm0a","children":[]},{"field":"closedBy","paramsType":"string","required":"","desc":"由谁关闭","structType":"json","sub":1,"key":"kwk42tximh8mftw3o2h","children":[]},{"field":"closedDate","paramsType":"datetime","required":"","desc":"关闭时间","structType":"json","sub":1,"key":"kwk42u2nz10u8prmjqe","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:75;O:8:"stdClass":19:{s:2:"id";s:4:"1527";s:3:"doc";s:3:"463";s:6:"module";s:3:"116";s:5:"title";s:12:"删除需求";s:4:"path";s:12:"/stories/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:6:"DELETE";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:151:"[{"field":"message","paramsType":"string","required":true,"desc":"结果信息","structType":"json","sub":1,"key":"kwk0vedlh1unhcrpw1o","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:76;O:8:"stdClass":19:{s:2:"id";s:4:"1528";s:3:"doc";s:3:"464";s:6:"module";s:3:"115";s:5:"title";s:24:"获取执行任务列表";s:4:"path";s:21:"/executions/:id/tasks";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4998:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwk22il6ih0mk45ynee","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"任务总数","structType":"json","sub":1,"key":"kwk25yw9h6c88on2gs","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页任务数","structType":"json","sub":1,"key":"kwk26cwonr1ceb1x48c","children":[]},{"field":"tasks","paramsType":"array","required":true,"desc":"任务列表","structType":"json","sub":1,"key":"kwk26oe1cfci0axln9","children":[{"field":"id","paramsType":"int","required":true,"desc":"任务ID","structType":"json","sub":2,"key":"kwk271yyl81fr3z1csq","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwk274lazo9w2l9j6n","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwk27pzko2gd2knetm","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":2,"key":"kwk280tgjkgb3bfaq4f","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"关联需求","structType":"json","sub":2,"key":"kwk28a0ibuxaqm0lsfk","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"任务名称","structType":"json","sub":2,"key":"kwk29366nqs15bgkvzf","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"json","sub":2,"key":"kwk29dnj11da7xaxn1dd","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":2,"key":"kwk2ekkj0nkpzt8y9i8","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":2,"key":"kwk2esg1kesozl3y0cr","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"left","paramsType":"float","required":true,"desc":"剩余工时","structType":"json","sub":2,"key":"kwk2f2t8bulpj1shv5i","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"deadline","paramsType":"date","required":true,"desc":"截止日期","structType":"json","sub":2,"key":"kwk2fb47qitn6rfvpl","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"consumed","paramsType":"float","required":true,"desc":"消耗工时","structType":"json","sub":2,"key":"kwk2gjlv6yypt7pdt1q","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已完成 | closed 已关闭 | cancel 已取消)","structType":"json","sub":2,"key":"kwk2h2nkp8vdklny1rb","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"任务详情","structType":"json","sub":2,"key":"kwk2iravy5agz6tuyg8","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwk2jsnk9ia94nzmczp","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwk2k5d9vo25bjb9hpc","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"assignedTo","paramsType":"string","required":true,"desc":"指派给","structType":"json","sub":2,"key":"kwk2mi8pqtelze3sods","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"estStarted","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":2,"key":"kwk2mv8g9w191nzqwd5","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"realStarted","paramsType":"datetime","required":true,"desc":"实际开始时间","structType":"json","sub":2,"key":"kwk2n31558xty9l48p6","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"finishedBy","paramsType":"string","required":false,"desc":"由谁完成","structType":"json","sub":2,"key":"kwk2rp61lk5obs480gq","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"finishedDate","paramsType":"datetime","required":false,"desc":"完成时间","structType":"json","sub":2,"key":"kwk2rq9q421wtd219ci","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"closedBy","paramsType":"string","required":false,"desc":"由谁关闭","structType":"json","sub":2,"key":"kwk2tiw1ld6srch5jl","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"closedDate","paramsType":"datetime","required":false,"desc":"关闭时间","structType":"json","sub":2,"key":"kwk2tozwkawb70vq2da","parentKey":"kwk26oe1cfci0axln9","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:77;O:8:"stdClass":19:{s:2:"id";s:4:"1524";s:3:"doc";s:3:"461";s:6:"module";s:3:"115";s:5:"title";s:18:"获取任务详情";s:4:"path";s:10:"/tasks/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:78;O:8:"stdClass":19:{s:2:"id";s:4:"1525";s:3:"doc";s:3:"457";s:6:"module";s:3:"115";s:5:"title";s:12:"修改任务";s:4:"path";s:10:"/tasks/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:79;O:8:"stdClass":19:{s:2:"id";s:4:"1522";s:3:"doc";s:3:"458";s:6:"module";s:3:"115";s:5:"title";s:12:"删除任务";s:4:"path";s:10:"/tasks/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:6:"DELETE";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:151:"[{"field":"message","paramsType":"string","required":true,"desc":"结果信息","structType":"json","sub":1,"key":"kwk46ho92f9wizfabt5","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:80;O:8:"stdClass":19:{s:2:"id";s:4:"1523";s:3:"doc";s:3:"457";s:6:"module";s:3:"115";s:5:"title";s:12:"修改任务";s:4:"path";s:10:"/tasks/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:1781:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"formData","sub":1,"key":"kwk2vtnfxn98pr2h8yf","children":[]},{"field":"story","paramsType":"int","required":"","desc":"关联需求","structType":"formData","sub":1,"key":"kwk2xlvcr1gkg6izip","children":[]},{"field":"fromBug","paramsType":"int","required":"","desc":"来自于Bug","structType":"formData","sub":1,"key":"kwk2xviqx2ak237g4yi","children":[]},{"field":"name","paramsType":"string","required":false,"desc":"任务名称","structType":"formData","sub":1,"key":"kwk2yavrfjddi4941np","children":[]},{"field":"type","paramsType":"string","required":false,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"formData","sub":1,"key":"kwk2yhq6v5epv4ino7","children":[]},{"field":"assignedTo","paramsType":"array","required":false,"desc":"指派给,[\"admin\"]","structType":"formData","sub":1,"key":"kwk2zis5zbu6jepnl5","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"formData","sub":1,"key":"kwk2zvwesy6jyygqm2","children":[]},{"field":"estimate","paramsType":"float","required":"","desc":"预计工时","structType":"formData","sub":1,"key":"kwk305ekgwbjv0gzb4p","children":[]},{"field":"estStarted","paramsType":"date","required":false,"desc":"预计开始日期","structType":"formData","sub":1,"key":"kwk32zmfpl4kmya3l5h","children":[]},{"field":"deadline","paramsType":"date","required":false,"desc":"预计结束日期","structType":"formData","sub":1,"key":"kwk335gooe4o9gndxb","children":[]}],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4095:"[{"field":"id","paramsType":"int","required":true,"desc":"任务ID","structType":"json","sub":1,"key":"kwk2vtnjuurgha4gkcc","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属任务","structType":"json","sub":1,"key":"kwk37ng942x5k9g1xxm","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父任务","structType":"json","sub":1,"key":"kwk382nnpny9ddvyndg","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwk38e5so8kannzevsl","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwk3imzj095g74m8ff5k","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"关联需求","structType":"json","sub":1,"key":"kwk3iw6rp6bbt5gq3kh","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来源于Bug","structType":"json","sub":1,"key":"kwk3j8pscep4xnuzprg","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"任务名称","structType":"json","sub":1,"key":"kwk3mzbxzc62ksy2659","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"json","sub":1,"key":"kwk3sprxj3d2vj0mat","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk3ukxrnn0ie0rc3oh","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":1,"key":"kwk3v3epr2gpzmkdcmk","children":[]},{"field":"consumed","paramsType":"float","required":true,"desc":"消耗工时","structType":"json","sub":1,"key":"kwk3vjxjszs3uqmmvvm","children":[]},{"field":"left","paramsType":"float","required":true,"desc":"剩余工时","structType":"json","sub":1,"key":"kwk3vu4gwz2vrlwpqd","children":[]},{"field":"deadline","paramsType":"date","required":true,"desc":"预计结束日期","structType":"json","sub":1,"key":"kwk3w6k2qqt6ad9fj6f","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已完成 | closed 已关闭 | cancel 已取消)","structType":"json","sub":1,"key":"kwk3wq0acq6kcla9bxl","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"任务描述","structType":"json","sub":1,"key":"kwk3zv7ssgfg2nko2d","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwk407dr61cugmxhlyv","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwk40d9j5001v5ztro","children":[]},{"field":"assignedTo","paramsType":"string","required":true,"desc":"指派给","structType":"json","sub":1,"key":"kwk40sbi2gb6wlayec8","children":[]},{"field":"assignedDate","paramsType":"datetime","required":true,"desc":"指派时间","structType":"json","sub":1,"key":"kwk40wjuji9duwfxwg","children":[]},{"field":"estStarted","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":1,"key":"kwk41sqvjzmwj2l6k0c","children":[]},{"field":"realStarted","paramsType":"datetime","required":"","desc":"实际开始时间","structType":"json","sub":1,"key":"kwk41tggydumzmjjov","children":[]},{"field":"finishedBy","paramsType":"string","required":"","desc":"由谁完成","structType":"json","sub":1,"key":"kwk41tldxm6egute0hf","children":[]},{"field":"finishedDate","paramsType":"datetime","required":"","desc":"完成时间","structType":"json","sub":1,"key":"kwk41tq3oy1wfxwdm0a","children":[]},{"field":"closedBy","paramsType":"string","required":"","desc":"由谁关闭","structType":"json","sub":1,"key":"kwk42tximh8mftw3o2h","children":[]},{"field":"closedDate","paramsType":"datetime","required":"","desc":"关闭时间","structType":"json","sub":1,"key":"kwk42u2nz10u8prmjqe","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:81;O:8:"stdClass":19:{s:2:"id";s:4:"1521";s:3:"doc";s:3:"459";s:6:"module";s:3:"114";s:5:"title";s:21:"获取产品Bug列表";s:4:"path";s:18:"/products/:id/bugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4563:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwk7eduw8zanbk9e6ht","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"Bug总数","structType":"json","sub":1,"key":"kwk7pmjg8bx9ks5nsdk","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页Bug数","structType":"json","sub":1,"key":"kwk7pp5rjiki3jhrqle","children":[]},{"field":"bugs","paramsType":"array","required":true,"desc":"Bug列表","structType":"json","sub":1,"key":"kwk7q10gli3djouo26c","children":[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":2,"key":"kwk7qqlrf6qsab9fmhm","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwk7qzuq0oj0uidcf22","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwk7rseae435am146u","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":2,"key":"kwk7s28age0knpphuk8","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwk7sbfgc2u9vfys535","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwk7ssk9hsnhc1jacyb","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"toTask","paramsType":"int","required":true,"desc":"转为任务","structType":"json","sub":2,"key":"kwk7t6cv3ijumgtosse","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"toStory","paramsType":"int","required":true,"desc":"转为需求","structType":"json","sub":2,"key":"kwk7u9hhuk9imxkru49","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":2,"key":"kwk7uqb51qjre1zitzb","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"keywords","paramsType":"string","required":true,"desc":"关键字","structType":"json","sub":2,"key":"kwk7vlp4zqjj0c4imok","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":2,"key":"kwk7vvdcae2kc4wvix9","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":2,"key":"kwk7w5ganzfmj1j1x1","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":2,"key":"kwk7wk6xujzgiw0wo48","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":2,"key":"kwk803zry1ramko62gs","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":2,"key":"kwk848lg0liivvjhbc8p","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"steps","paramsType":"string","required":true,"desc":"重现步骤","structType":"json","sub":2,"key":"kwk84q6nkrbk25cc99q","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":2,"key":"kwk857q69enhdu23efr","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":2,"key":"kwk85lg2fc6z3rexd4","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwk86fotnf13zmf0en","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwk87b3qoug8jgtbdjg","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"deadline","paramsType":"date","required":false,"desc":"截止日期","structType":"json","sub":2,"key":"kwk87tq3dxyomivkxs6","parentKey":"kwk7q10gli3djouo26c","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:82;O:8:"stdClass":19:{s:2:"id";s:4:"1520";s:3:"doc";s:3:"456";s:6:"module";s:3:"114";s:5:"title";s:9:"创建Bug";s:4:"path";s:18:"/products/:id/bugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:2501:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk8aqb89rtg6cglkie","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk8bltwrldt1wgchnm","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk8bvemkvpxfdwwxy","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk8c7sybpxtka3kowi","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwk8crrf3fiqj00xivb","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk8d0a47z72hrd0o9i","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk8ddaj9c4lek4vez","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk8dmjemjpf2bn97an","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk8f6cl5ykqt41zk7s","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk8fgo4lqfxxjvdn3e","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk8fpxtwg5me792glg","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk8g0hztx0ofv70fy","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk8gemtbllui458dm","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk8gutklfhqqj3ilkf","children":[]},{"field":"openedBuild","paramsType":"array","required":"","desc":"影响版本","structType":"json","sub":1,"key":"kwk8ib5qsuuqbsf1iur","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:135:"[{"field":"id","paramsType":"boolean","required":true,"desc":"","structType":"json","sub":1,"key":"kwk8a3rn3q7kucvzl7l","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:83;O:8:"stdClass":19:{s:2:"id";s:4:"1518";s:3:"doc";s:3:"456";s:6:"module";s:3:"114";s:5:"title";s:9:"创建Bug";s:4:"path";s:18:"/products/:id/bugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:2501:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk8aqb89rtg6cglkie","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk8bltwrldt1wgchnm","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk8bvemkvpxfdwwxy","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk8c7sybpxtka3kowi","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwk8crrf3fiqj00xivb","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk8d0a47z72hrd0o9i","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk8ddaj9c4lek4vez","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk8dmjemjpf2bn97an","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk8f6cl5ykqt41zk7s","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk8fgo4lqfxxjvdn3e","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk8fpxtwg5me792glg","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk8g0hztx0ofv70fy","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk8gemtbllui458dm","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk8gutklfhqqj3ilkf","children":[]},{"field":"openedBuild","paramsType":"array","required":"","desc":"影响版本","structType":"json","sub":1,"key":"kwk8ib5qsuuqbsf1iur","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:84;O:8:"stdClass":19:{s:2:"id";s:4:"1519";s:3:"doc";s:3:"456";s:6:"module";s:3:"114";s:5:"title";s:9:"创建Bug";s:4:"path";s:18:"/products/:id/bugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:2501:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk8aqb89rtg6cglkie","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk8bltwrldt1wgchnm","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk8bvemkvpxfdwwxy","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk8c7sybpxtka3kowi","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwk8crrf3fiqj00xivb","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk8d0a47z72hrd0o9i","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk8ddaj9c4lek4vez","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk8dmjemjpf2bn97an","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk8f6cl5ykqt41zk7s","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk8fgo4lqfxxjvdn3e","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk8fpxtwg5me792glg","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk8g0hztx0ofv70fy","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk8gemtbllui458dm","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk8gutklfhqqj3ilkf","children":[]},{"field":"openedBuild","paramsType":"array","required":"","desc":"影响版本","structType":"json","sub":1,"key":"kwk8ib5qsuuqbsf1iur","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:85;O:8:"stdClass":19:{s:2:"id";s:4:"1516";s:3:"doc";s:3:"454";s:6:"module";s:3:"114";s:5:"title";s:15:"获取Bug详情";s:4:"path";s:9:"/bugs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:86;O:8:"stdClass":19:{s:2:"id";s:4:"1517";s:3:"doc";s:3:"456";s:6:"module";s:3:"114";s:5:"title";s:9:"创建Bug";s:4:"path";s:18:"/products/:id/bugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:2501:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk8aqb89rtg6cglkie","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk8bltwrldt1wgchnm","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk8bvemkvpxfdwwxy","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk8c7sybpxtka3kowi","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwk8crrf3fiqj00xivb","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk8d0a47z72hrd0o9i","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk8ddaj9c4lek4vez","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk8dmjemjpf2bn97an","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk8f6cl5ykqt41zk7s","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk8fgo4lqfxxjvdn3e","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk8fpxtwg5me792glg","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk8g0hztx0ofv70fy","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk8gemtbllui458dm","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk8gutklfhqqj3ilkf","children":[]},{"field":"openedBuild","paramsType":"array","required":"","desc":"影响版本","structType":"json","sub":1,"key":"kwk8ib5qsuuqbsf1iur","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:87;O:8:"stdClass":19:{s:2:"id";s:4:"1515";s:3:"doc";s:3:"456";s:6:"module";s:3:"114";s:5:"title";s:9:"创建Bug";s:4:"path";s:18:"/products/:id/bugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:2501:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk8aqb89rtg6cglkie","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk8bltwrldt1wgchnm","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk8bvemkvpxfdwwxy","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk8c7sybpxtka3kowi","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwk8crrf3fiqj00xivb","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk8d0a47z72hrd0o9i","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk8ddaj9c4lek4vez","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk8dmjemjpf2bn97an","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk8f6cl5ykqt41zk7s","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk8fgo4lqfxxjvdn3e","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk8fpxtwg5me792glg","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk8g0hztx0ofv70fy","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk8gemtbllui458dm","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk8gutklfhqqj3ilkf","children":[]},{"field":"openedBuild","paramsType":"array","required":"","desc":"影响版本","structType":"json","sub":1,"key":"kwk8ib5qsuuqbsf1iur","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:88;O:8:"stdClass":19:{s:2:"id";s:4:"1514";s:3:"doc";s:3:"456";s:6:"module";s:3:"114";s:5:"title";s:9:"创建Bug";s:4:"path";s:18:"/products/:id/bugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:2501:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk8aqb89rtg6cglkie","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk8bltwrldt1wgchnm","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk8bvemkvpxfdwwxy","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk8c7sybpxtka3kowi","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwk8crrf3fiqj00xivb","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk8d0a47z72hrd0o9i","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk8ddaj9c4lek4vez","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk8dmjemjpf2bn97an","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk8f6cl5ykqt41zk7s","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk8fgo4lqfxxjvdn3e","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk8fpxtwg5me792glg","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk8g0hztx0ofv70fy","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk8gemtbllui458dm","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk8gutklfhqqj3ilkf","children":[]},{"field":"openedBuild","paramsType":"array","required":"","desc":"影响版本","structType":"json","sub":1,"key":"kwk8ib5qsuuqbsf1iur","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3251:"[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":1,"key":"kwk8xdeull75i2kwmsc","children":[]},{"field":"product","paramsType":"int","required":"","desc":"所属产品","structType":"json","sub":1,"key":"kwk8xmknfik26dkmycn","children":[]},{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk922tvb2h0uasmm08","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk92jra5kpmzq4jtj5","children":[]},{"field":"project","paramsType":"int","required":"","desc":"所属项目","structType":"json","sub":1,"key":"kwk92tvgygxc0o40qo","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk9337e0ptpx29g28ln","children":[]},{"field":"toTask","paramsType":"boolean","required":"","desc":"转为任务","structType":"json","sub":1,"key":"kwk93c39rt0sgpm82no","children":[]},{"field":"toStory","paramsType":"boolean","required":"","desc":"转为需求","structType":"json","sub":1,"key":"kwk93grgd74t8m9nild","children":[]},{"field":"title","paramsType":"string","required":"","desc":"Bug标题","structType":"json","sub":1,"key":"kwk93oo1wzuqt58wwp","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键字","structType":"json","sub":1,"key":"kwk93y5cozg5crw2uyf","children":[]},{"field":"severity","paramsType":"int","required":"","desc":"严重程度","structType":"json","sub":1,"key":"kwk9476xpfedgaf852g","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":1,"key":"kwk94fp1l7dy6hzh1qq","children":[]},{"field":"type","paramsType":"string","required":"","desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk94olautm2qx8bo0d","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk94xg2mnjnw4alypf","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk9566paqsrfqx9mk7","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk95fals8zmsirxa1","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk95o8svqhwas7tvp","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk95y26wdspfvfn33n","children":[]},{"field":"openedBy","paramsType":"string","required":"","desc":"创建人","structType":"json","sub":1,"key":"kwk967690ddf5geqegzg","children":[]},{"field":"openedDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":1,"key":"kwk96ggevpdw00iv46o","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk96nz9ct92dakrmq","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:89;O:8:"stdClass":19:{s:2:"id";s:4:"1510";s:3:"doc";s:3:"451";s:6:"module";s:3:"114";s:5:"title";s:9:"删除Bug";s:4:"path";s:9:"/bugs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:6:"DELETE";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:151:"[{"field":"message","paramsType":"string","required":true,"desc":"结果信息","structType":"json","sub":1,"key":"kwk9c8mm1zeqn7olev7","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:90;O:8:"stdClass":19:{s:2:"id";s:4:"1511";s:3:"doc";s:3:"452";s:6:"module";s:3:"113";s:5:"title";s:24:"获取产品用例列表";s:4:"path";s:23:"/products/:id/testcases";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4348:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwk9g1dojwbroymrcws","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"用例总数","structType":"json","sub":1,"key":"kwkahlaakbout0bp6fn","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页用例数","structType":"json","sub":1,"key":"kwkahlgmogbrc7psek","children":[]},{"field":"testcases","paramsType":"array","required":true,"desc":"用例列表","structType":"json","sub":1,"key":"kwkai7c6gyotx0jcuyo","children":[{"field":"id","paramsType":"int","required":true,"desc":"用例ID","structType":"json","sub":2,"key":"kwkaimzfdgn2x7b9m8r","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"product","paramsType":"int","required":"","desc":"所属产品","structType":"json","sub":2,"key":"kwkaiwknw27spdo17d","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":2,"key":"kwkamrbw5phoosjotue","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所有模块","structType":"json","sub":2,"key":"kwkan7k2pxrj00bk8ak","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关研发需求","structType":"json","sub":2,"key":"kwkanjh2c1x7mpvmsqo","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"storyVersion","paramsType":"int","required":"","desc":"需求版本","structType":"json","sub":2,"key":"kwkao2n2ft4n19f1jcu","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"title","paramsType":"string","required":"","desc":"用例标题","structType":"json","sub":2,"key":"kwkarhs99mt7mbrg2gs","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"precondition","paramsType":"string","required":"","desc":"前置条件","structType":"json","sub":2,"key":"kwkas0x38pi6gs6z4cj","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":2,"key":"kwkasbwzd2tn1leos8u","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":2,"key":"kwkaskmf0g3yfcecg0x","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"type","paramsType":"string","required":"","desc":"用例类型(feature 功能测试 | performance 性能测试 | config 配置相关 | install 安装部署 | security 安全相关 | interface 接口测试 | unit 单元测试 | other 其他)","structType":"json","sub":2,"key":"kwkassfkmsmqc55n94m","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"stage","paramsType":"string","required":"","desc":"适用阶段(unittest 单元测试阶段 | feature 功能测试阶段 | intergrate 集成测试阶段 | system 系统测试阶段 | smoke 冒烟测试阶段 | bvt 版本验证阶段)","structType":"json","sub":2,"key":"kwkavbir1xzs1p0zat8","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"status","paramsType":"object","required":"","desc":"状态","structType":"json","sub":2,"key":"kwkax2enp5573iuu8ba","parentKey":"kwkai7c6gyotx0jcuyo","children":[{"field":"code","paramsType":"string","required":"","desc":"状态编号","structType":"json","sub":3,"key":"kwkaxv4ydl52rkoa88q","parentKey":"kwkax2enp5573iuu8ba","children":[]},{"field":"name","paramsType":"string","required":"","desc":"状态名称","structType":"json","sub":3,"key":"kwkay6a25nug5uorjc9","parentKey":"kwkax2enp5573iuu8ba","children":[]}]},{"field":"openedBy","paramsType":"string","required":"","desc":"创建人","structType":"json","sub":2,"key":"kwkayfdu351ai2383im","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"openedDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":2,"key":"kwkayqk5u0rb5qof06m","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"fromBug","paramsType":"int","required":"","desc":"来自于Bug","structType":"json","sub":2,"key":"kwkaz9zrf2m6ossk686","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"fromCaseID","paramsType":"int","required":"","desc":"来自于用例","structType":"json","sub":2,"key":"kwkazwf5s3mg7p8fyr","parentKey":"kwkai7c6gyotx0jcuyo","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:91;O:8:"stdClass":19:{s:2:"id";s:4:"1505";s:3:"doc";s:3:"450";s:6:"module";s:3:"113";s:5:"title";s:12:"修改用例";s:4:"path";s:14:"/testcases/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:92;O:8:"stdClass":19:{s:2:"id";s:4:"1506";s:3:"doc";s:3:"446";s:6:"module";s:3:"113";s:5:"title";s:12:"删除用例";s:4:"path";s:14:"/testcases/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:6:"DELETE";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:150:"[{"field":"message","paramsType":"string","required":true,"desc":"结果信息","structType":"json","sub":1,"key":"kwkdlveesckcian2f3","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:93;O:8:"stdClass":19:{s:2:"id";s:4:"1507";s:3:"doc";s:3:"450";s:6:"module";s:3:"113";s:5:"title";s:12:"修改用例";s:4:"path";s:14:"/testcases/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:2277:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":false,"desc":"所属分支","structType":"json","sub":1,"key":"kwkb585nh9kq7cvquwf","children":[]},{"field":"module","paramsType":"int","required":false,"desc":"所属模块","structType":"json","sub":1,"key":"kwkb5gnh9rqsunyb7w","children":[]},{"field":"story","paramsType":"int","required":false,"desc":"所属需求","structType":"json","sub":1,"key":"kwkb5vnpernt7n7qr1","children":[]},{"field":"title","paramsType":"string","required":false,"desc":"用例标题","structType":"json","sub":1,"key":"kwkb67fcgbtqwt9t1n","children":[]},{"field":"type","paramsType":"string","required":false,"desc":"用例类型(feature 功能测试 | performance 性能测试 | config 配置相关 | install 安装部署 | security 安全相关 | interface 接口测试 | unit 单元测试 | other 其他)","structType":"json","sub":1,"key":"kwkbdbba1q8y7ciotzw","children":[]},{"field":"stage","paramsType":"string","required":"","desc":"适用阶段(unittest 单元测试阶段 | feature 功能测试阶段 | intergrate 集成测试阶段 | system 系统测试阶段 | smoke 冒烟测试阶段 | bvt 版本验证阶段)","structType":"json","sub":1,"key":"kwkbgfsltq5w0sv7p9c","children":[]},{"field":"precondition","paramsType":"string","required":"","desc":"前置条件","structType":"json","sub":1,"key":"kwkbgqjsa1jgzrmg4vn","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":1,"key":"kwkbihae0iunh2kdnnxu","children":[]},{"field":"steps","paramsType":"array","required":false,"desc":"用例步骤","structType":"json","sub":1,"key":"kwkbiv37ihuyv1ugzs","children":[{"field":"desc","paramsType":"string","required":false,"desc":"步骤","structType":"json","sub":2,"key":"kwkc323gs0rax2k3dr","parentKey":"kwkbiv37ihuyv1ugzs","children":[]},{"field":"expect","paramsType":"string","required":false,"desc":"期望","structType":"json","sub":2,"key":"kwkc2unsakue1k30x9","parentKey":"kwkbiv37ihuyv1ugzs","children":[]}]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwkbjwoa4v710jbgcms","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3054:"[{"field":"id","paramsType":"int","required":true,"desc":"用例ID","structType":"json","sub":1,"key":"kwkc2rk8pm0jqqb5p4e","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwkcew5dn6k84l1b2w","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":1,"key":"kwkcfe0icj4821ilk0a","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwkcfnyket632bglf8d","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"相关需求","structType":"json","sub":1,"key":"kwkcfxczmv2ceuh1fr","children":[]},{"field":"storyVersion","paramsType":"int","required":true,"desc":"需求版本","structType":"json","sub":1,"key":"kwkcgcbnskreyy1oltq","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":1,"key":"kwkcgtezpflujhz1lg8","children":[]},{"field":"precondition","paramsType":"string","required":true,"desc":"前置条件","structType":"json","sub":1,"key":"kwkch57jxjil6a7eise","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwkchabrzuz0zbf84b","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"用例类型(feature 功能测试 | performance 性能测试 | config 配置相关 | install 安装部署 | security 安全相关 | interface 接口测试 | unit 单元测试 | other 其他)","structType":"json","sub":1,"key":"kwkchpw4m40vhbp5z9","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"适用阶段(unittest 单元测试阶段 | feature 功能测试阶段 | intergrate 集成测试阶段 | system 系统测试阶段 | smoke 冒烟测试阶段 | bvt 版本验证阶段)","structType":"json","sub":1,"key":"kwkcihgaceclorkxpy","children":[]},{"field":"steps","paramsType":"array","required":true,"desc":"用例步骤列表","structType":"json","sub":1,"key":"kwkcissin2l8deqtjo","children":[{"field":"desc","paramsType":"string","required":true,"desc":"步骤","structType":"json","sub":2,"key":"kwkck2mbvdyprzp4ji","parentKey":"kwkcissin2l8deqtjo","children":[]},{"field":"expect","paramsType":"string","required":true,"desc":"期望","structType":"json","sub":2,"key":"kwkcjt8o3jey849nf2n","parentKey":"kwkcissin2l8deqtjo","children":[]}]},{"field":"fromBug","paramsType":"int","required":"","desc":"来自于Bug","structType":"json","sub":1,"key":"kwkcm29boc0ev1phqul","children":[]},{"field":"fromCaseID","paramsType":"int","required":"","desc":"来自于用例","structType":"json","sub":1,"key":"kwkcm7yt26ijdjj8rum","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwkcmxk7j2t3yftrf7","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwkcmxxoua9sk0sgagd","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:94;O:8:"stdClass":19:{s:2:"id";s:4:"1508";s:3:"doc";s:3:"453";s:6:"module";s:3:"113";s:5:"title";s:12:"创建用例";s:4:"path";s:23:"/products/:id/testcases";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:2272:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":false,"desc":"所属分支","structType":"json","sub":1,"key":"kwkb585nh9kq7cvquwf","children":[]},{"field":"module","paramsType":"int","required":false,"desc":"所属模块","structType":"json","sub":1,"key":"kwkb5gnh9rqsunyb7w","children":[]},{"field":"story","paramsType":"int","required":false,"desc":"所属需求","structType":"json","sub":1,"key":"kwkb5vnpernt7n7qr1","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"用例标题","structType":"json","sub":1,"key":"kwkb67fcgbtqwt9t1n","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"用例类型(feature 功能测试 | performance 性能测试 | config 配置相关 | install 安装部署 | security 安全相关 | interface 接口测试 | unit 单元测试 | other 其他)","structType":"json","sub":1,"key":"kwkbdbba1q8y7ciotzw","children":[]},{"field":"stage","paramsType":"string","required":"","desc":"适用阶段(unittest 单元测试阶段 | feature 功能测试阶段 | intergrate 集成测试阶段 | system 系统测试阶段 | smoke 冒烟测试阶段 | bvt 版本验证阶段)","structType":"json","sub":1,"key":"kwkbgfsltq5w0sv7p9c","children":[]},{"field":"precondition","paramsType":"string","required":"","desc":"前置条件","structType":"json","sub":1,"key":"kwkbgqjsa1jgzrmg4vn","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":1,"key":"kwkbihae0iunh2kdnnxu","children":[]},{"field":"steps","paramsType":"array","required":true,"desc":"用例步骤","structType":"json","sub":1,"key":"kwkbiv37ihuyv1ugzs","children":[{"field":"desc","paramsType":"string","required":true,"desc":"步骤","structType":"json","sub":2,"key":"kwkc323gs0rax2k3dr","parentKey":"kwkbiv37ihuyv1ugzs","children":[]},{"field":"expect","paramsType":"string","required":true,"desc":"期望","structType":"json","sub":2,"key":"kwkc2unsakue1k30x9","parentKey":"kwkbiv37ihuyv1ugzs","children":[]}]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwkbjwoa4v710jbgcms","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3054:"[{"field":"id","paramsType":"int","required":true,"desc":"用例ID","structType":"json","sub":1,"key":"kwkc2rk8pm0jqqb5p4e","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwkcew5dn6k84l1b2w","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":1,"key":"kwkcfe0icj4821ilk0a","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwkcfnyket632bglf8d","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"相关需求","structType":"json","sub":1,"key":"kwkcfxczmv2ceuh1fr","children":[]},{"field":"storyVersion","paramsType":"int","required":true,"desc":"需求版本","structType":"json","sub":1,"key":"kwkcgcbnskreyy1oltq","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":1,"key":"kwkcgtezpflujhz1lg8","children":[]},{"field":"precondition","paramsType":"string","required":true,"desc":"前置条件","structType":"json","sub":1,"key":"kwkch57jxjil6a7eise","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwkchabrzuz0zbf84b","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"用例类型(feature 功能测试 | performance 性能测试 | config 配置相关 | install 安装部署 | security 安全相关 | interface 接口测试 | unit 单元测试 | other 其他)","structType":"json","sub":1,"key":"kwkchpw4m40vhbp5z9","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"适用阶段(unittest 单元测试阶段 | feature 功能测试阶段 | intergrate 集成测试阶段 | system 系统测试阶段 | smoke 冒烟测试阶段 | bvt 版本验证阶段)","structType":"json","sub":1,"key":"kwkcihgaceclorkxpy","children":[]},{"field":"steps","paramsType":"array","required":true,"desc":"用例步骤列表","structType":"json","sub":1,"key":"kwkcissin2l8deqtjo","children":[{"field":"desc","paramsType":"string","required":true,"desc":"步骤","structType":"json","sub":2,"key":"kwkck2mbvdyprzp4ji","parentKey":"kwkcissin2l8deqtjo","children":[]},{"field":"expect","paramsType":"string","required":true,"desc":"期望","structType":"json","sub":2,"key":"kwkcjt8o3jey849nf2n","parentKey":"kwkcissin2l8deqtjo","children":[]}]},{"field":"fromBug","paramsType":"int","required":"","desc":"来自于Bug","structType":"json","sub":1,"key":"kwkcm29boc0ev1phqul","children":[]},{"field":"fromCaseID","paramsType":"int","required":"","desc":"来自于用例","structType":"json","sub":1,"key":"kwkcm7yt26ijdjj8rum","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwkcmxk7j2t3yftrf7","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwkcmxxoua9sk0sgagd","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:95;O:8:"stdClass":19:{s:2:"id";s:4:"1509";s:3:"doc";s:3:"453";s:6:"module";s:3:"113";s:5:"title";s:12:"创建用例";s:4:"path";s:23:"/products/:id/testcases";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:1918:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":1,"key":"kwkb585nh9kq7cvquwf","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwkb5gnh9rqsunyb7w","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"所属需求","structType":"json","sub":1,"key":"kwkb5vnpernt7n7qr1","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"用例标题","structType":"json","sub":1,"key":"kwkb67fcgbtqwt9t1n","children":[]},{"field":"type","paramsType":"string","required":"","desc":"用例类型(feature 功能测试 | performance 性能测试 | config 配置相关 | install 安装部署 | security 安全相关 | interface 接口测试 | unit 单元测试 | other 其他)","structType":"json","sub":1,"key":"kwkbdbba1q8y7ciotzw","children":[]},{"field":"stage","paramsType":"string","required":"","desc":"适用阶段(unittest 单元测试阶段 | feature 功能测试阶段 | intergrate 集成测试阶段 | system 系统测试阶段 | smoke 冒烟测试阶段 | bvt 版本验证阶段)","structType":"json","sub":1,"key":"kwkbgfsltq5w0sv7p9c","children":[]},{"field":"precondition","paramsType":"string","required":"","desc":"前置条件","structType":"json","sub":1,"key":"kwkbgqjsa1jgzrmg4vn","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":1,"key":"kwkbihae0iunh2kdnnxu","children":[]},{"field":"steps","paramsType":"array","required":"","desc":"用例步骤","structType":"json","sub":1,"key":"kwkbiv37ihuyv1ugzs","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwkbjwoa4v710jbgcms","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:96;O:8:"stdClass":19:{s:2:"id";s:4:"1512";s:3:"doc";s:3:"455";s:6:"module";s:3:"114";s:5:"title";s:9:"修改Bug";s:4:"path";s:9:"/bugs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:97;O:8:"stdClass":19:{s:2:"id";s:4:"1513";s:3:"doc";s:3:"455";s:6:"module";s:3:"114";s:5:"title";s:9:"修改Bug";s:4:"path";s:9:"/bugs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:2501:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk8aqb89rtg6cglkie","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk8bltwrldt1wgchnm","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk8bvemkvpxfdwwxy","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk8c7sybpxtka3kowi","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwk8crrf3fiqj00xivb","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk8d0a47z72hrd0o9i","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk8ddaj9c4lek4vez","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk8dmjemjpf2bn97an","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk8f6cl5ykqt41zk7s","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk8fgo4lqfxxjvdn3e","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk8fpxtwg5me792glg","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk8g0hztx0ofv70fy","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk8gemtbllui458dm","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk8gutklfhqqj3ilkf","children":[]},{"field":"openedBuild","paramsType":"array","required":"","desc":"影响版本","structType":"json","sub":1,"key":"kwk8ib5qsuuqbsf1iur","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3251:"[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":1,"key":"kwk8xdeull75i2kwmsc","children":[]},{"field":"product","paramsType":"int","required":"","desc":"所属产品","structType":"json","sub":1,"key":"kwk8xmknfik26dkmycn","children":[]},{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk922tvb2h0uasmm08","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk92jra5kpmzq4jtj5","children":[]},{"field":"project","paramsType":"int","required":"","desc":"所属项目","structType":"json","sub":1,"key":"kwk92tvgygxc0o40qo","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk9337e0ptpx29g28ln","children":[]},{"field":"toTask","paramsType":"boolean","required":"","desc":"转为任务","structType":"json","sub":1,"key":"kwk93c39rt0sgpm82no","children":[]},{"field":"toStory","paramsType":"boolean","required":"","desc":"转为需求","structType":"json","sub":1,"key":"kwk93grgd74t8m9nild","children":[]},{"field":"title","paramsType":"string","required":"","desc":"Bug标题","structType":"json","sub":1,"key":"kwk93oo1wzuqt58wwp","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键字","structType":"json","sub":1,"key":"kwk93y5cozg5crw2uyf","children":[]},{"field":"severity","paramsType":"int","required":"","desc":"严重程度","structType":"json","sub":1,"key":"kwk9476xpfedgaf852g","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":1,"key":"kwk94fp1l7dy6hzh1qq","children":[]},{"field":"type","paramsType":"string","required":"","desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk94olautm2qx8bo0d","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk94xg2mnjnw4alypf","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk9566paqsrfqx9mk7","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk95fals8zmsirxa1","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk95o8svqhwas7tvp","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk95y26wdspfvfn33n","children":[]},{"field":"openedBy","paramsType":"string","required":"","desc":"创建人","structType":"json","sub":1,"key":"kwk967690ddf5geqegzg","children":[]},{"field":"openedDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":1,"key":"kwk96ggevpdw00iv46o","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk96nz9ct92dakrmq","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:98;O:8:"stdClass":19:{s:2:"id";s:4:"1503";s:3:"doc";s:3:"447";s:6:"module";s:3:"112";s:5:"title";s:24:"获取产品计划列表";s:4:"path";s:19:"/products/:id/plans";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1837:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwkdu9u3nq24026pwgg","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"计划总数","structType":"json","sub":1,"key":"kwkdxi22uneoz4p8x08","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页计划数","structType":"json","sub":1,"key":"kwkdxv7e0j0uy24giu5o","children":[]},{"field":"plans","paramsType":"array","required":true,"desc":"计划列表","structType":"json","sub":1,"key":"kwkdy4xe4p5q26x01rr","children":[{"field":"id","paramsType":"int","required":true,"desc":"计划ID","structType":"json","sub":2,"key":"kwlhip9vn4t9nfztco","parentKey":"kwkdy4xe4p5q26x01rr","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwlhjfmq70053oa8abu","parentKey":"kwkdy4xe4p5q26x01rr","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwlhkazknb10o404to","parentKey":"kwkdy4xe4p5q26x01rr","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"计划名称","structType":"json","sub":2,"key":"kwlhkqk9ciasdit96i9","parentKey":"kwkdy4xe4p5q26x01rr","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"计划描述","structType":"json","sub":2,"key":"kwlhp0xjdbokajs0khh","parentKey":"kwkdy4xe4p5q26x01rr","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"开始日期","structType":"json","sub":2,"key":"kwlhpa2osmeebpybzlm","parentKey":"kwkdy4xe4p5q26x01rr","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"结束日期","structType":"json","sub":2,"key":"kwlhpfi39kxh5o1tltq","parentKey":"kwkdy4xe4p5q26x01rr","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:99;O:8:"stdClass":19:{s:2:"id";s:4:"1504";s:3:"doc";s:3:"449";s:6:"module";s:3:"113";s:5:"title";s:18:"获取用例详情";s:4:"path";s:14:"/testcases/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:100;O:8:"stdClass":19:{s:2:"id";s:4:"1497";s:3:"doc";s:3:"442";s:6:"module";s:3:"112";s:5:"title";s:12:"删除计划";s:4:"path";s:17:"/productsplan/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:6:"DELETE";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:151:"[{"field":"message","paramsType":"string","required":true,"desc":"结果信息","structType":"json","sub":1,"key":"kwlxic3c6pbcuxjkqvj","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:101;O:8:"stdClass":19:{s:2:"id";s:4:"1498";s:3:"doc";s:3:"445";s:6:"module";s:3:"112";s:5:"title";s:18:"获取计划详情";s:4:"path";s:17:"/productplans/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:102;O:8:"stdClass":19:{s:2:"id";s:4:"1499";s:3:"doc";s:3:"448";s:6:"module";s:3:"112";s:5:"title";s:12:"创建计划";s:4:"path";s:19:"/products/:id/plans";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:851:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":false,"desc":"所属分支","structType":"json","sub":1,"key":"kwlofhasdc5r52f3zp7","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"计划名称","structType":"json","sub":1,"key":"kwlog1lmm7va7ihz6an","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"计划开始日期","structType":"json","sub":1,"key":"kwloh88yj5u3t8kq4a","children":[]},{"field":"end","paramsType":"date","required":"","desc":"计划结束日期","structType":"json","sub":1,"key":"kwlohkkne6ybkae8336","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"计划描述","structType":"json","sub":1,"key":"kwloho1edlbudimc34","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4860:"[{"field":"id","paramsType":"int","required":true,"desc":"计划ID","structType":"json","sub":1,"key":"kwlhrcrfi2xj4a62e","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwlmz4gitedfpssasja","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属计划","structType":"json","sub":1,"key":"kwlmzc773nvr59kw736","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父计划","structType":"json","sub":1,"key":"kwlmzjztqlfbdz67yjd","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"计划名称","structType":"json","sub":1,"key":"kwlmzrpuc5w1v5hdspt","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"计划描述","structType":"json","sub":1,"key":"kwln11j3ha0x59mb88i","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwln1eiso46b54s2ynk","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwln1lq8mh88c0mh9eb","children":[]},{"field":"stories","paramsType":"array","required":true,"desc":"关联需求","structType":"json","sub":1,"key":"kwln7u0pzbm5hejg55p","children":[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":2,"key":"kwlnv2b9eaqtv1opvi9","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":2,"key":"kwlnv1ckmcorf5xh5nh","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwlnuu1rrcji72o5bp","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwlnustvp5his9hg0k8","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"需求类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":2,"key":"kwlnusdi4n7tlyrxq5i","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"需求优先级","structType":"json","sub":2,"key":"kwlnugayc1hvz68y70n","parentKey":"kwln7u0pzbm5hejg55p","children":[]}]},{"field":"bugs","paramsType":"array","required":true,"desc":"关联Bug","structType":"json","sub":1,"key":"kwln7vth71prs7ovxyx","children":[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":2,"key":"kwlo0r00wprxatyh2rr","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":2,"key":"kwlo0qwez7pl64gduo","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwlo0qrzicutoh87hkp","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":2,"key":"kwlo0qnpw1evw5zyu1r","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwlo0qin2gc4tvq62ve","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"相关需求","structType":"json","sub":2,"key":"kwlo0qe0eefu1me7yi","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":2,"key":"kwlo0q8lxzh0wwfowsb","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":2,"key":"kwlo0q4lpj91nh6pb4","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"Bug优先级","structType":"json","sub":2,"key":"kwlo0pztvmii6tauqb","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型","structType":"json","sub":2,"key":"kwlo0pvam3ulnfcmgbh","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"steps","paramsType":"string","required":true,"desc":"Bug复现步骤","structType":"json","sub":2,"key":"kwlo0phljctpu1lvu7","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"Bug状态(active 激活 | resolved 已解决 | closed 已关闭)","structType":"json","sub":2,"key":"kwlo0p3iqvltmpqdw3","parentKey":"kwln7vth71prs7ovxyx","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:103;O:8:"stdClass":19:{s:2:"id";s:4:"1500";s:3:"doc";s:3:"448";s:6:"module";s:3:"112";s:5:"title";s:12:"创建计划";s:4:"path";s:19:"/products/:id/plans";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:851:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":false,"desc":"所属分支","structType":"json","sub":1,"key":"kwlofhasdc5r52f3zp7","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"计划名称","structType":"json","sub":1,"key":"kwlog1lmm7va7ihz6an","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"计划开始日期","structType":"json","sub":1,"key":"kwloh88yj5u3t8kq4a","children":[]},{"field":"end","paramsType":"date","required":"","desc":"计划结束日期","structType":"json","sub":1,"key":"kwlohkkne6ybkae8336","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"计划描述","structType":"json","sub":1,"key":"kwloho1edlbudimc34","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4860:"[{"field":"id","paramsType":"int","required":true,"desc":"计划ID","structType":"json","sub":1,"key":"kwlhrcrfi2xj4a62e","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwlmz4gitedfpssasja","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属计划","structType":"json","sub":1,"key":"kwlmzc773nvr59kw736","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父计划","structType":"json","sub":1,"key":"kwlmzjztqlfbdz67yjd","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"计划名称","structType":"json","sub":1,"key":"kwlmzrpuc5w1v5hdspt","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"计划描述","structType":"json","sub":1,"key":"kwln11j3ha0x59mb88i","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwln1eiso46b54s2ynk","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwln1lq8mh88c0mh9eb","children":[]},{"field":"stories","paramsType":"array","required":true,"desc":"关联需求","structType":"json","sub":1,"key":"kwln7u0pzbm5hejg55p","children":[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":2,"key":"kwlnv2b9eaqtv1opvi9","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":2,"key":"kwlnv1ckmcorf5xh5nh","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwlnuu1rrcji72o5bp","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwlnustvp5his9hg0k8","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"需求类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":2,"key":"kwlnusdi4n7tlyrxq5i","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"需求优先级","structType":"json","sub":2,"key":"kwlnugayc1hvz68y70n","parentKey":"kwln7u0pzbm5hejg55p","children":[]}]},{"field":"bugs","paramsType":"array","required":true,"desc":"关联Bug","structType":"json","sub":1,"key":"kwln7vth71prs7ovxyx","children":[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":2,"key":"kwlo0r00wprxatyh2rr","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":2,"key":"kwlo0qwez7pl64gduo","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwlo0qrzicutoh87hkp","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":2,"key":"kwlo0qnpw1evw5zyu1r","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwlo0qin2gc4tvq62ve","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"相关需求","structType":"json","sub":2,"key":"kwlo0qe0eefu1me7yi","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":2,"key":"kwlo0q8lxzh0wwfowsb","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":2,"key":"kwlo0q4lpj91nh6pb4","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"Bug优先级","structType":"json","sub":2,"key":"kwlo0pztvmii6tauqb","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型","structType":"json","sub":2,"key":"kwlo0pvam3ulnfcmgbh","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"steps","paramsType":"string","required":true,"desc":"Bug复现步骤","structType":"json","sub":2,"key":"kwlo0phljctpu1lvu7","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"Bug状态(active 激活 | resolved 已解决 | closed 已关闭)","structType":"json","sub":2,"key":"kwlo0p3iqvltmpqdw3","parentKey":"kwln7vth71prs7ovxyx","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:104;O:8:"stdClass":19:{s:2:"id";s:4:"1501";s:3:"doc";s:3:"448";s:6:"module";s:3:"112";s:5:"title";s:12:"创建计划";s:4:"path";s:19:"/products/:id/plans";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1170:"[{"field":"id","paramsType":"int","required":true,"desc":"计划ID","structType":"json","sub":1,"key":"kwlhrcrfi2xj4a62e","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwlmz4gitedfpssasja","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属计划","structType":"json","sub":1,"key":"kwlmzc773nvr59kw736","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父计划","structType":"json","sub":1,"key":"kwlmzjztqlfbdz67yjd","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"计划名称","structType":"json","sub":1,"key":"kwlmzrpuc5w1v5hdspt","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"计划描述","structType":"json","sub":1,"key":"kwln11j3ha0x59mb88i","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwln1eiso46b54s2ynk","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwln1lq8mh88c0mh9eb","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:105;O:8:"stdClass":19:{s:2:"id";s:4:"1502";s:3:"doc";s:3:"454";s:6:"module";s:3:"114";s:5:"title";s:15:"获取Bug详情";s:4:"path";s:9:"/bugs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3447:"[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":1,"key":"kwk8xdeull75i2kwmsc","children":[]},{"field":"product","paramsType":"int","required":"","desc":"所属产品","structType":"json","sub":1,"key":"kwk8xmknfik26dkmycn","children":[]},{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk922tvb2h0uasmm08","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk92jra5kpmzq4jtj5","children":[]},{"field":"project","paramsType":"int","required":"","desc":"所属项目","structType":"json","sub":1,"key":"kwk92tvgygxc0o40qo","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk9337e0ptpx29g28ln","children":[]},{"field":"toTask","paramsType":"boolean","required":"","desc":"转为任务","structType":"json","sub":1,"key":"kwk93c39rt0sgpm82no","children":[]},{"field":"toStory","paramsType":"boolean","required":"","desc":"转为需求","structType":"json","sub":1,"key":"kwk93grgd74t8m9nild","children":[]},{"field":"title","paramsType":"string","required":"","desc":"Bug标题","structType":"json","sub":1,"key":"kwk93oo1wzuqt58wwp","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键字","structType":"json","sub":1,"key":"kwk93y5cozg5crw2uyf","children":[]},{"field":"severity","paramsType":"int","required":"","desc":"严重程度","structType":"json","sub":1,"key":"kwk9476xpfedgaf852g","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":1,"key":"kwk94fp1l7dy6hzh1qq","children":[]},{"field":"type","paramsType":"string","required":"","desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk94olautm2qx8bo0d","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk94xg2mnjnw4alypf","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk9566paqsrfqx9mk7","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk95fals8zmsirxa1","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk95o8svqhwas7tvp","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk95y26wdspfvfn33n","children":[]},{"field":"openedBy","paramsType":"string","required":"","desc":"创建人","structType":"json","sub":1,"key":"kwk967690ddf5geqegzg","children":[]},{"field":"openedDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":1,"key":"kwk96ggevpdw00iv46o","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk96nz9ct92dakrmq","children":[]},{"field":"status","paramsType":"string","required":"","desc":"状态(active 激活 | resolved 已解决 | closed 已关闭)","structType":"json","sub":1,"key":"kwlo9u1dnswxyo677ic","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:106;O:8:"stdClass":19:{s:2:"id";s:4:"1493";s:3:"doc";s:3:"439";s:6:"module";s:1:"0";s:5:"title";s:27:"产品计划取消关联Bug";s:4:"path";s:28:"/productplans/:id/unlinkbugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:285:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"bugs","paramsType":"array","required":true,"desc":"取消关联的Bug ID,比如 [1, 2]","structType":"json","sub":1,"key":"kwmxfdfiy4iqik4b1x","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:107;O:8:"stdClass":19:{s:2:"id";s:4:"1494";s:3:"doc";s:3:"443";s:6:"module";s:3:"112";s:5:"title";s:24:"产品计划关联需求";s:4:"path";s:29:"/productplans/:id/linkstories";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:287:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"stories","paramsType":"array","required":"","desc":"新增关联的需求,比如 [1, 2]","structType":"json","sub":1,"key":"kwmx6dfdg2j09r3dkrg","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4860:"[{"field":"id","paramsType":"int","required":true,"desc":"计划ID","structType":"json","sub":1,"key":"kwlhrcrfi2xj4a62e","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwlmz4gitedfpssasja","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属计划","structType":"json","sub":1,"key":"kwlmzc773nvr59kw736","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父计划","structType":"json","sub":1,"key":"kwlmzjztqlfbdz67yjd","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"计划名称","structType":"json","sub":1,"key":"kwlmzrpuc5w1v5hdspt","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"计划描述","structType":"json","sub":1,"key":"kwln11j3ha0x59mb88i","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwln1eiso46b54s2ynk","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwln1lq8mh88c0mh9eb","children":[]},{"field":"stories","paramsType":"array","required":true,"desc":"关联需求","structType":"json","sub":1,"key":"kwln7u0pzbm5hejg55p","children":[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":2,"key":"kwlnv2b9eaqtv1opvi9","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":2,"key":"kwlnv1ckmcorf5xh5nh","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwlnuu1rrcji72o5bp","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwlnustvp5his9hg0k8","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"需求类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":2,"key":"kwlnusdi4n7tlyrxq5i","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"需求优先级","structType":"json","sub":2,"key":"kwlnugayc1hvz68y70n","parentKey":"kwln7u0pzbm5hejg55p","children":[]}]},{"field":"bugs","paramsType":"array","required":true,"desc":"关联Bug","structType":"json","sub":1,"key":"kwln7vth71prs7ovxyx","children":[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":2,"key":"kwlo0r00wprxatyh2rr","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":2,"key":"kwlo0qwez7pl64gduo","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwlo0qrzicutoh87hkp","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":2,"key":"kwlo0qnpw1evw5zyu1r","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwlo0qin2gc4tvq62ve","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"相关需求","structType":"json","sub":2,"key":"kwlo0qe0eefu1me7yi","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":2,"key":"kwlo0q8lxzh0wwfowsb","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":2,"key":"kwlo0q4lpj91nh6pb4","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"Bug优先级","structType":"json","sub":2,"key":"kwlo0pztvmii6tauqb","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型","structType":"json","sub":2,"key":"kwlo0pvam3ulnfcmgbh","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"steps","paramsType":"string","required":true,"desc":"Bug复现步骤","structType":"json","sub":2,"key":"kwlo0phljctpu1lvu7","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"Bug状态(active 激活 | resolved 已解决 | closed 已关闭)","structType":"json","sub":2,"key":"kwlo0p3iqvltmpqdw3","parentKey":"kwln7vth71prs7ovxyx","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:108;O:8:"stdClass":19:{s:2:"id";s:4:"1496";s:3:"doc";s:3:"444";s:6:"module";s:3:"112";s:5:"title";s:12:"修改计划";s:4:"path";s:17:"/productplans/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:116:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:109;O:8:"stdClass":19:{s:2:"id";s:4:"1495";s:3:"doc";s:3:"443";s:6:"module";s:1:"0";s:5:"title";s:24:"产品计划关联需求";s:4:"path";s:29:"/productplans/:id/linkstories";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:287:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"stories","paramsType":"array","required":"","desc":"新增关联的需求,比如 [1, 2]","structType":"json","sub":1,"key":"kwmx6dfdg2j09r3dkrg","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:110;O:8:"stdClass":19:{s:2:"id";s:4:"1491";s:3:"doc";s:3:"441";s:6:"module";s:1:"0";s:5:"title";s:30:"产品计划取消关联需求";s:4:"path";s:31:"/productplans/:id/unlinkstories";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:290:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"stories","paramsType":"array","required":true,"desc":"取消关联的需求ID,比如 [1, 2]","structType":"json","sub":1,"key":"kwmx9dutojxd449eo2","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:111;O:8:"stdClass":19:{s:2:"id";s:4:"1492";s:3:"doc";s:3:"440";s:6:"module";s:1:"0";s:5:"title";s:21:"产品计划关联Bug";s:4:"path";s:22:"/products/:id/linkBugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:219:"{"header":[],"params":[{"field":"bugs","paramsType":"array","required":true,"desc":"关联的Bug ID,比如 [1, 2]","structType":"formData","sub":1,"key":"kwmxbsyeboy1wo7i21","children":[]}],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:112;O:8:"stdClass":19:{s:2:"id";s:4:"1490";s:3:"doc";s:3:"441";s:6:"module";s:3:"112";s:5:"title";s:30:"产品计划取消关联需求";s:4:"path";s:31:"/productplans/:id/unlinkstories";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:290:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"stories","paramsType":"array","required":true,"desc":"取消关联的需求ID,比如 [1, 2]","structType":"json","sub":1,"key":"kwmx9dutojxd449eo2","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4860:"[{"field":"id","paramsType":"int","required":true,"desc":"计划ID","structType":"json","sub":1,"key":"kwlhrcrfi2xj4a62e","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwlmz4gitedfpssasja","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属计划","structType":"json","sub":1,"key":"kwlmzc773nvr59kw736","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父计划","structType":"json","sub":1,"key":"kwlmzjztqlfbdz67yjd","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"计划名称","structType":"json","sub":1,"key":"kwlmzrpuc5w1v5hdspt","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"计划描述","structType":"json","sub":1,"key":"kwln11j3ha0x59mb88i","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwln1eiso46b54s2ynk","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwln1lq8mh88c0mh9eb","children":[]},{"field":"stories","paramsType":"array","required":true,"desc":"关联需求","structType":"json","sub":1,"key":"kwln7u0pzbm5hejg55p","children":[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":2,"key":"kwlnv2b9eaqtv1opvi9","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":2,"key":"kwlnv1ckmcorf5xh5nh","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwlnuu1rrcji72o5bp","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwlnustvp5his9hg0k8","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"需求类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":2,"key":"kwlnusdi4n7tlyrxq5i","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"需求优先级","structType":"json","sub":2,"key":"kwlnugayc1hvz68y70n","parentKey":"kwln7u0pzbm5hejg55p","children":[]}]},{"field":"bugs","paramsType":"array","required":true,"desc":"关联Bug","structType":"json","sub":1,"key":"kwln7vth71prs7ovxyx","children":[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":2,"key":"kwlo0r00wprxatyh2rr","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":2,"key":"kwlo0qwez7pl64gduo","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwlo0qrzicutoh87hkp","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":2,"key":"kwlo0qnpw1evw5zyu1r","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwlo0qin2gc4tvq62ve","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"相关需求","structType":"json","sub":2,"key":"kwlo0qe0eefu1me7yi","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":2,"key":"kwlo0q8lxzh0wwfowsb","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":2,"key":"kwlo0q4lpj91nh6pb4","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"Bug优先级","structType":"json","sub":2,"key":"kwlo0pztvmii6tauqb","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型","structType":"json","sub":2,"key":"kwlo0pvam3ulnfcmgbh","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"steps","paramsType":"string","required":true,"desc":"Bug复现步骤","structType":"json","sub":2,"key":"kwlo0phljctpu1lvu7","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"Bug状态(active 激活 | resolved 已解决 | closed 已关闭)","structType":"json","sub":2,"key":"kwlo0p3iqvltmpqdw3","parentKey":"kwln7vth71prs7ovxyx","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:113;O:8:"stdClass":19:{s:2:"id";s:4:"1486";s:3:"doc";s:3:"437";s:6:"module";s:3:"109";s:5:"title";s:24:"获取项目版本列表";s:4:"path";s:20:"/projects/:id/builds";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2280:"[{"field":"total","paramsType":"int","required":true,"desc":"版本总数","structType":"json","sub":1,"key":"kwmyb8ah69n34ud7byj","children":[]},{"field":"builds","paramsType":"array","required":true,"desc":"版本列表","structType":"json","sub":1,"key":"kwmyfzso9xlwrewva09","children":[{"field":"id","paramsType":"int","required":true,"desc":"版本ID","structType":"json","sub":2,"key":"kwmyg8wtmjt3nozwbg","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwmygixbcmxd4muro6n","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwmyguwt460u2kk0prv","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwmyh5h4gmzu0a1wcfo","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwmytj1w34spkshhkvh","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"版本名称","structType":"json","sub":2,"key":"kwmytschv6r9wxvsyu","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"scmPath","paramsType":"string","required":false,"desc":"源代码地址","structType":"json","sub":2,"key":"kwmyu6z4bqhsow6lj85","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"filePath","paramsType":"string","required":"","desc":"下载地址","structType":"json","sub":2,"key":"kwmyup6xrfdcxg37ka9","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"date","paramsType":"date","required":true,"desc":"打包日期","structType":"json","sub":2,"key":"kwmyv13p7r29ufidypd","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"builder","paramsType":"string","required":true,"desc":"构建者","structType":"json","sub":2,"key":"kwn0gspeyiwvehtcoul","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"版本描述","structType":"json","sub":2,"key":"kwn0hyd6pgkz36ecip","parentKey":"kwmyfzso9xlwrewva09","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:114;O:8:"stdClass":19:{s:2:"id";s:4:"1489";s:3:"doc";s:3:"437";s:6:"module";s:3:"109";s:5:"title";s:24:"获取项目版本列表";s:4:"path";s:20:"/projects/:id/builds";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2271:"[{"field":"total","paramsType":"int","required":true,"desc":"版本总数","structType":"json","sub":1,"key":"kwmyb8ah69n34ud7byj","children":[]},{"field":"builds","paramsType":"array","required":true,"desc":"版本列表","structType":"json","sub":1,"key":"kwmyfzso9xlwrewva09","children":[{"field":"id","paramsType":"int","required":true,"desc":"版本ID","structType":"json","sub":2,"key":"kwmyg8wtmjt3nozwbg","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwmygixbcmxd4muro6n","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwmyguwt460u2kk0prv","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwmyh5h4gmzu0a1wcfo","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwmytj1w34spkshhkvh","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"版本名称","structType":"json","sub":2,"key":"kwmytschv6r9wxvsyu","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"scmPath","paramsType":"string","required":"","desc":"源代码地址","structType":"json","sub":2,"key":"kwmyu6z4bqhsow6lj85","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"filePath","paramsType":"string","required":"","desc":"下载地址","structType":"json","sub":2,"key":"kwmyup6xrfdcxg37ka9","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"date","paramsType":"date","required":"","desc":"打包日期","structType":"json","sub":2,"key":"kwmyv13p7r29ufidypd","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"builder","paramsType":"string","required":"","desc":"构建者","structType":"json","sub":2,"key":"kwn0gspeyiwvehtcoul","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"版本描述","structType":"json","sub":2,"key":"kwn0hyd6pgkz36ecip","parentKey":"kwmyfzso9xlwrewva09","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:115;O:8:"stdClass":19:{s:2:"id";s:4:"1487";s:3:"doc";s:3:"438";s:6:"module";s:3:"109";s:5:"title";s:24:"获取执行版本列表";s:4:"path";s:22:"/executions/:id/builds";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:116;O:8:"stdClass":19:{s:2:"id";s:4:"1488";s:3:"doc";s:3:"436";s:6:"module";s:3:"109";s:5:"title";s:12:"创建版本";s:4:"path";s:24:"/projects/:id/executions";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:1474:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"formData","sub":1,"key":"kwn2hke2m16i7h452cb","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"formData","sub":1,"key":"kwn2l3dui8vpwwx9y8f","children":[]},{"field":"branch","paramsType":"int","required":false,"desc":"所属分支","structType":"formData","sub":1,"key":"kwn2lkz5au17o6goi1o","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"版本名称","structType":"formData","sub":1,"key":"kwn2nomwzdoima7e2hb","children":[]},{"field":"builder","paramsType":"string","required":true,"desc":"构建者","structType":"formData","sub":1,"key":"kwn36kwqb4zzjppzwv7","children":[]},{"field":"date","paramsType":"date","required":"","desc":"打包日期","structType":"formData","sub":1,"key":"kwn374he8b8lbg24sze","children":[]},{"field":"scmPath","paramsType":"string","required":"","desc":"源代码地址","structType":"formData","sub":1,"key":"kwn37q7exee3380qxw","children":[]},{"field":"filePath","paramsType":"string","required":"","desc":"下载地址","structType":"formData","sub":1,"key":"kwn38kxvzw8oql3u0qh","children":[]},{"field":"desc","paramsType":"string","required":false,"desc":"版本描述","structType":"formData","sub":1,"key":"kwn39igbbcz2nsjctqr","children":[]}],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1643:"[{"field":"id","paramsType":"int","required":true,"desc":"版本ID","structType":"json","sub":1,"key":"kwn2hke96i5njkoy06m","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwn3iu5ilw20yqn6gao","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwn3jaea9a00bqeziw","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属产品分支(主分支为0)","structType":"json","sub":1,"key":"kwn3jkc5xrijl3g11rg","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwn3jzf0144tenen2fal","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"版本名称","structType":"json","sub":1,"key":"kwn3kjjk0v3i8tduutf","children":[]},{"field":"scmPath","paramsType":"string","required":true,"desc":"源代码地址","structType":"json","sub":1,"key":"kwn3kyosy9ygwek0o2s","children":[]},{"field":"filePath","paramsType":"string","required":true,"desc":"下载地址","structType":"json","sub":1,"key":"kwn3l8b97lgsvxg2xd5","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"版本描述","structType":"json","sub":1,"key":"kwn3lgm8punjni3qcdc","children":[]},{"field":"builder","paramsType":"string","required":true,"desc":"构建者","structType":"json","sub":1,"key":"kwn3m6hi7t4ywwrh596","children":[]},{"field":"date","paramsType":"date","required":true,"desc":"打包日期","structType":"json","sub":1,"key":"kwn3mcpyk6lwlh5msa8","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:117;O:8:"stdClass":19:{s:2:"id";s:4:"1475";s:3:"doc";s:3:"428";s:6:"module";s:3:"108";s:5:"title";s:18:"获取我的信息";s:4:"path";s:5:"/user";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2875:"[{"field":"profile","paramsType":"object","required":true,"desc":"","structType":"json","sub":1,"key":"kwojur4idf2tpw1bkbe","children":[{"field":"id","paramsType":"int","required":true,"desc":"用户编号","structType":"json","sub":2,"key":"kwok6cs05lxpmx6y6rr","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"类型(inside 内部用户 | outside 外部用户)","structType":"json","sub":2,"key":"kwok6og0ahx6f597mrd","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"dept","paramsType":"int","required":true,"desc":"所属部门","structType":"json","sub":2,"key":"kwok7dh7htxbxpri6vd","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"account","paramsType":"string","required":true,"desc":"用户名","structType":"json","sub":2,"key":"kwok7nqb31mthbt314r","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"realname","paramsType":"string","required":true,"desc":"真实姓名","structType":"json","sub":2,"key":"kwok7zsnesbib3xqyoe","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"nickname","paramsType":"string","required":"","desc":"昵称","structType":"json","sub":2,"key":"kwok8cwjolnijrajn1","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"avatar","paramsType":"string","required":"","desc":"头像","structType":"json","sub":2,"key":"kwok8rkw8a2qaxo6zmg","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"birthday","paramsType":"date","required":"","desc":"生日","structType":"json","sub":2,"key":"kwok8zxnqkju8zu00v","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"gender","paramsType":"string","required":"","desc":"性别(f 女性 | m 男性)","structType":"json","sub":2,"key":"kwok9agk5itm5fdge68","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"mobile","paramsType":"string","required":"","desc":"手机号码","structType":"json","sub":2,"key":"kwok9rg5pat2s9dtj1","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"phone","paramsType":"string","required":"","desc":"电话号码","structType":"json","sub":2,"key":"kwok9zaqjcudthvaepl","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"weixin","paramsType":"string","required":"","desc":"微信号码","structType":"json","sub":2,"key":"kwokab6bp730tfrb0d","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"address","paramsType":"string","required":"","desc":"住址","structType":"json","sub":2,"key":"kwokau91tuhpeglrsf8","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"join","paramsType":"date","required":"","desc":"加入日期","structType":"json","sub":2,"key":"kwokb1tdzkuodmano","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"admin","paramsType":"boolean","required":true,"desc":"是否管理员","structType":"json","sub":2,"key":"kwokby1uzx691aq2per","parentKey":"kwojur4idf2tpw1bkbe","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:118;O:8:"stdClass":19:{s:2:"id";s:4:"1484";s:3:"doc";s:3:"435";s:6:"module";s:3:"109";s:5:"title";s:12:"修改版本";s:4:"path";s:11:"/builds/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:116:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:119;O:8:"stdClass":19:{s:2:"id";s:4:"1485";s:3:"doc";s:3:"434";s:6:"module";s:3:"109";s:5:"title";s:18:"获取版本详情";s:4:"path";s:11:"/builds/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:116:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:120;O:8:"stdClass":19:{s:2:"id";s:4:"1483";s:3:"doc";s:3:"433";s:6:"module";s:3:"110";s:5:"title";s:21:"获取测试单列表";s:4:"path";s:17:"/producttesttasks";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:348:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[{"field":"page","required":false,"desc":"当前页数,默认为1"},{"field":"limit","required":false,"desc":"每页测试单数,默认20个"},{"field":"order","required":false,"desc":"排序,默认 id_desc 按照id倒序"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3134:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页面","structType":"json","sub":1,"key":"kwo8ucgi1qbiaae0r5g","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"Bug总数","structType":"json","sub":1,"key":"kwo8ylqaacg8y7cb8b","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页Bug数","structType":"json","sub":1,"key":"kwo9046hkmpcyzx2v4g","children":[]},{"field":"testtasks","paramsType":"array","required":true,"desc":"测试单列表","structType":"json","sub":1,"key":"kwo90jo2wiqkcj2scf","children":[{"field":"id","paramsType":"int","required":true,"desc":"测试单编号","structType":"json","sub":2,"key":"kwo9188usj7n1ypugb8","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwo91fs9wlmq36edrq","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwo91gbs4lbogx6x3n7","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"测试单名称","structType":"json","sub":2,"key":"kwo91goa75b2azrowyj","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwo923z994jrii35ild","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"build","paramsType":"int","required":true,"desc":"所属版本","structType":"json","sub":2,"key":"kwo9244im88g3ytyoji","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"type","paramsType":"string","required":"","desc":"类型","structType":"json","sub":2,"key":"kwo92gxzu39f8r2oec8","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"owner","paramsType":"string","required":"","desc":"负责人","structType":"json","sub":2,"key":"kwo92hhy3l0aft9p0ws","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":2,"key":"kwo93wl5werxqr8dobr","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"开始日期","structType":"json","sub":2,"key":"kwo94u9sz3j1xwiusrl","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"end","paramsType":"date","required":"","desc":"结束日期","structType":"json","sub":2,"key":"kwo950hwe55wyfih99t","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"描述","structType":"json","sub":2,"key":"kwo95vdgd2ftem8xbxq","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已关闭 | blocked 被阻塞)","structType":"json","sub":2,"key":"kwo968gmepovbs7hvxu","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwo986kmt9w834kdmzs","parentKey":"kwo90jo2wiqkcj2scf","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:121;O:8:"stdClass":19:{s:2:"id";s:4:"1479";s:3:"doc";s:3:"429";s:6:"module";s:3:"110";s:5:"title";s:21:"获取测试单详情";s:4:"path";s:14:"/testtasks/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:122;O:8:"stdClass":19:{s:2:"id";s:4:"1480";s:3:"doc";s:3:"429";s:6:"module";s:3:"110";s:5:"title";s:21:"获取测试单详情";s:4:"path";s:14:"/testtasks/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1849:"[{"field":"id","paramsType":"int","required":true,"desc":"测试单编号","structType":"json","sub":1,"key":"kwohs2y3qvmtjra64a","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwoi42b454iu4jm0gy2","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwoi4d86f1dtrl88ivw","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"测试单名称","structType":"json","sub":1,"key":"kwoi4y4umklckqtw02s","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwoi5dao0i9y2m9l7byb","children":[]},{"field":"build","paramsType":"int","required":true,"desc":"所属版本","structType":"json","sub":1,"key":"kwoi5pkrmti70ofie28","children":[]},{"field":"type","paramsType":"string","required":"","desc":"类型(integrate 集成测试 | system 系统测试 | acceptance 验收测试 | performance 性能测试 | safety 安全测试)","structType":"json","sub":1,"key":"kwoi60vq1qds4eic0tz","children":[]},{"field":"owner","paramsType":"string","required":"","desc":"负责人","structType":"json","sub":1,"key":"kwoi9orjbpmdakv07yl","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":1,"key":"kwoigqrt0dz13j7aaq4","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"开始日期","structType":"json","sub":1,"key":"kwoih8m0gxlep05qzd","children":[]},{"field":"end","paramsType":"date","required":"","desc":"结束日期","structType":"json","sub":1,"key":"kwoihh018oo0afnumpa","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"描述","structType":"json","sub":1,"key":"kwoihnqfavvu8h5qvgw","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:123;O:8:"stdClass":19:{s:2:"id";s:4:"1481";s:3:"doc";s:3:"432";s:6:"module";s:3:"109";s:5:"title";s:12:"删除版本";s:4:"path";s:11:"/builds/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:6:"DELETE";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:151:"[{"field":"message","paramsType":"string","required":true,"desc":"结果信息","structType":"json","sub":1,"key":"kwo7byji89l4i5wg66o","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:124;O:8:"stdClass":19:{s:2:"id";s:4:"1482";s:3:"doc";s:3:"433";s:6:"module";s:3:"110";s:5:"title";s:21:"获取测试单列表";s:4:"path";s:10:"/testtasks";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3134:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页面","structType":"json","sub":1,"key":"kwo8ucgi1qbiaae0r5g","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"Bug总数","structType":"json","sub":1,"key":"kwo8ylqaacg8y7cb8b","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页Bug数","structType":"json","sub":1,"key":"kwo9046hkmpcyzx2v4g","children":[]},{"field":"testtasks","paramsType":"array","required":true,"desc":"测试单列表","structType":"json","sub":1,"key":"kwo90jo2wiqkcj2scf","children":[{"field":"id","paramsType":"int","required":true,"desc":"测试单编号","structType":"json","sub":2,"key":"kwo9188usj7n1ypugb8","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwo91fs9wlmq36edrq","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwo91gbs4lbogx6x3n7","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"测试单名称","structType":"json","sub":2,"key":"kwo91goa75b2azrowyj","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwo923z994jrii35ild","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"build","paramsType":"int","required":true,"desc":"所属版本","structType":"json","sub":2,"key":"kwo9244im88g3ytyoji","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"type","paramsType":"string","required":"","desc":"类型","structType":"json","sub":2,"key":"kwo92gxzu39f8r2oec8","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"owner","paramsType":"string","required":"","desc":"负责人","structType":"json","sub":2,"key":"kwo92hhy3l0aft9p0ws","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":2,"key":"kwo93wl5werxqr8dobr","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"开始日期","structType":"json","sub":2,"key":"kwo94u9sz3j1xwiusrl","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"end","paramsType":"date","required":"","desc":"结束日期","structType":"json","sub":2,"key":"kwo950hwe55wyfih99t","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"描述","structType":"json","sub":2,"key":"kwo95vdgd2ftem8xbxq","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已关闭 | blocked 被阻塞)","structType":"json","sub":2,"key":"kwo968gmepovbs7hvxu","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwo986kmt9w834kdmzs","parentKey":"kwo90jo2wiqkcj2scf","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:125;O:8:"stdClass":19:{s:2:"id";s:4:"1476";s:3:"doc";s:3:"430";s:6:"module";s:3:"111";s:5:"title";s:24:"获取产品发布列表";s:4:"path";s:22:"/products/:id/releases";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1922:"[{"field":"total","paramsType":"int","required":true,"desc":"发布总数","structType":"json","sub":1,"key":"kwoitgd8i6d4ereus2r","children":[]},{"field":"releases","paramsType":"array","required":true,"desc":"发布列表","structType":"json","sub":1,"key":"kwoix2ay87a7rvwc50o","children":[{"field":"id","paramsType":"int","required":"","desc":"发布编号","structType":"json","sub":2,"key":"kwoixo68mf68m49r4","parentKey":"kwoix2ay87a7rvwc50o","children":[]},{"field":"project","paramsType":"int","required":"","desc":"所属项目","structType":"json","sub":2,"key":"kwoj0p620tjei4sseipn","parentKey":"kwoix2ay87a7rvwc50o","children":[]},{"field":"product","paramsType":"int","required":"","desc":"所属产品","structType":"json","sub":2,"key":"kwoj0yeg796dwhrt5i2","parentKey":"kwoix2ay87a7rvwc50o","children":[]},{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":2,"key":"kwoj166tm1vkys8lkdn","parentKey":"kwoix2ay87a7rvwc50o","children":[]},{"field":"build","paramsType":"int","required":"","desc":"所属版本","structType":"json","sub":2,"key":"kwoj1fhpegz8347bce","parentKey":"kwoix2ay87a7rvwc50o","children":[]},{"field":"name","paramsType":"string","required":"","desc":"发布名称","structType":"json","sub":2,"key":"kwoj1qcorzww56dwb","parentKey":"kwoix2ay87a7rvwc50o","children":[]},{"field":"date","paramsType":"date","required":"","desc":"发布日期","structType":"json","sub":2,"key":"kwoj1xztoy69p6pzbz8","parentKey":"kwoix2ay87a7rvwc50o","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"描述","structType":"json","sub":2,"key":"kwoj2nf2roxjds47o0a","parentKey":"kwoix2ay87a7rvwc50o","children":[]},{"field":"status","paramsType":"string","required":"","desc":"状态(normal 正常 | terminate 停止维护)","structType":"json","sub":2,"key":"kwoj3ep06mmsacezqxb","parentKey":"kwoix2ay87a7rvwc50o","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:126;O:8:"stdClass":19:{s:2:"id";s:4:"1477";s:3:"doc";s:3:"431";s:6:"module";s:3:"110";s:5:"title";s:24:"获取项目的测试单";s:4:"path";s:23:"/projects/:id/testtasks";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:127;O:8:"stdClass":19:{s:2:"id";s:4:"1478";s:3:"doc";s:3:"433";s:6:"module";s:3:"110";s:5:"title";s:21:"获取测试单列表";s:4:"path";s:17:"/producttesttasks";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:459:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[{"field":"page","required":false,"desc":"当前页数,默认为1"},{"field":"limit","required":false,"desc":"每页测试单数,默认20个"},{"field":"order","required":false,"desc":"排序,默认 id_desc 按照id倒序"},{"field":"product","required":"","desc":"所属产品"},{"field":"branch","required":"","desc":"所属分支"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3134:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页面","structType":"json","sub":1,"key":"kwo8ucgi1qbiaae0r5g","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"Bug总数","structType":"json","sub":1,"key":"kwo8ylqaacg8y7cb8b","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页Bug数","structType":"json","sub":1,"key":"kwo9046hkmpcyzx2v4g","children":[]},{"field":"testtasks","paramsType":"array","required":true,"desc":"测试单列表","structType":"json","sub":1,"key":"kwo90jo2wiqkcj2scf","children":[{"field":"id","paramsType":"int","required":true,"desc":"测试单编号","structType":"json","sub":2,"key":"kwo9188usj7n1ypugb8","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwo91fs9wlmq36edrq","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwo91gbs4lbogx6x3n7","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"测试单名称","structType":"json","sub":2,"key":"kwo91goa75b2azrowyj","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwo923z994jrii35ild","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"build","paramsType":"int","required":true,"desc":"所属版本","structType":"json","sub":2,"key":"kwo9244im88g3ytyoji","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"type","paramsType":"string","required":"","desc":"类型","structType":"json","sub":2,"key":"kwo92gxzu39f8r2oec8","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"owner","paramsType":"string","required":"","desc":"负责人","structType":"json","sub":2,"key":"kwo92hhy3l0aft9p0ws","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":2,"key":"kwo93wl5werxqr8dobr","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"开始日期","structType":"json","sub":2,"key":"kwo94u9sz3j1xwiusrl","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"end","paramsType":"date","required":"","desc":"结束日期","structType":"json","sub":2,"key":"kwo950hwe55wyfih99t","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"描述","structType":"json","sub":2,"key":"kwo95vdgd2ftem8xbxq","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已关闭 | blocked 被阻塞)","structType":"json","sub":2,"key":"kwo968gmepovbs7hvxu","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwo986kmt9w834kdmzs","parentKey":"kwo90jo2wiqkcj2scf","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:128;O:8:"stdClass":19:{s:2:"id";s:4:"1472";s:3:"doc";s:3:"426";s:6:"module";s:3:"108";s:5:"title";s:18:"获取用户信息";s:4:"path";s:10:"/users/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2208:"[{"field":"id","paramsType":"int","required":true,"desc":"用户编号","structType":"json","sub":1,"key":"kwokmq24kmolleus9x9","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"类型(inside 内部用户 | outside 外部用户)","structType":"json","sub":1,"key":"kwokrgreuuuyzj5c49","children":[]},{"field":"dept","paramsType":"int","required":true,"desc":"所属部门","structType":"json","sub":1,"key":"kwoks11oshvdjjpzmh","children":[]},{"field":"account","paramsType":"string","required":true,"desc":"用户名","structType":"json","sub":1,"key":"kwoksascw5wdxcs105","children":[]},{"field":"role","paramsType":"string","required":true,"desc":"角色","structType":"json","sub":1,"key":"kwoksp2qtxhke2b7cxg","children":[]},{"field":"realname","paramsType":"string","required":true,"desc":"真实姓名","structType":"json","sub":1,"key":"kwokt0i49jk6okyn5ka","children":[]},{"field":"nickname","paramsType":"string","required":"","desc":"昵称","structType":"json","sub":1,"key":"kwoktbs7holvbwi4jou","children":[]},{"field":"avatar","paramsType":"string","required":"","desc":"头像","structType":"json","sub":1,"key":"kwoktj7s3gj6nw8den1","children":[]},{"field":"birthday","paramsType":"date","required":"","desc":"生日","structType":"json","sub":1,"key":"kwoktuj281h3lt16ffh","children":[]},{"field":"gender","paramsType":"string","required":"","desc":"性别(f 女性 | m 男性)","structType":"json","sub":1,"key":"kwoku4lbjkh9agwwanj","children":[]},{"field":"email","paramsType":"string","required":"","desc":"邮箱","structType":"json","sub":1,"key":"kwokujyylq66r5u7ysr","children":[]},{"field":"mobile","paramsType":"string","required":"","desc":"手机号","structType":"json","sub":1,"key":"kwokus0te91bm0uvsyu","children":[]},{"field":"phone","paramsType":"string","required":"","desc":"电话号","structType":"json","sub":1,"key":"kwokvahwulyb6p9xi2p","children":[]},{"field":"weixin","paramsType":"string","required":"","desc":"微信号","structType":"json","sub":1,"key":"kwokx3nt6jded4mka4j","children":[]},{"field":"join","paramsType":"date","required":"","desc":"加入日期","structType":"json","sub":1,"key":"kwokxdwdqrd418iuh6","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:129;O:8:"stdClass":19:{s:2:"id";s:4:"1473";s:3:"doc";s:3:"424";s:6:"module";s:3:"108";s:5:"title";s:18:"修改用户信息";s:4:"path";s:10:"/users/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:993:"{"header":[{"field":"Token","required":true,"desc":"认证凭证"}],"params":[{"field":"dept","paramsType":"int","required":false,"desc":"所属部门","structType":"formData","sub":1,"key":"kwokybar4esd0jcjxnn","children":[]},{"field":"role","paramsType":"string","required":"","desc":"角色","structType":"formData","sub":1,"key":"kwolfs4ejv8rpfxwxi","children":[]},{"field":"mobile","paramsType":"string","required":"","desc":"手机号","structType":"formData","sub":1,"key":"kwolg35t6c62lq7xl3f","children":[]},{"field":"realname","paramsType":"string","required":"","desc":"真实姓名","structType":"formData","sub":1,"key":"kwolgbtpo9gn6aeyu1m","children":[]},{"field":"email","paramsType":"string","required":"","desc":"邮箱","structType":"formData","sub":1,"key":"kwolgncl0r147rnb6gpe","children":[]},{"field":"phone","paramsType":"string","required":"","desc":"电话号码","structType":"formData","sub":1,"key":"kwolgyqz0ps10l1rc4e","children":[]}],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:130;O:8:"stdClass":19:{s:2:"id";s:4:"1474";s:3:"doc";s:3:"427";s:6:"module";s:3:"111";s:5:"title";s:24:"获取项目发布列表";s:4:"path";s:22:"/projects/:id/releases";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2:"[]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:131;O:8:"stdClass":19:{s:2:"id";s:4:"1470";s:3:"doc";s:3:"422";s:6:"module";s:3:"108";s:5:"title";s:12:"删除用户";s:4:"path";s:10:"/users/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:6:"DELETE";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:112:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:151:"[{"field":"message","paramsType":"string","required":true,"desc":"结果信息","structType":"json","sub":1,"key":"kwon2kh7itd8zwes7no","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:132;O:8:"stdClass":19:{s:2:"id";s:4:"1471";s:3:"doc";s:3:"425";s:6:"module";s:3:"108";s:5:"title";s:18:"获取用户列表";s:4:"path";s:6:"/users";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:225:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"","query":[{"field":"page","required":true,"desc":"当前页数"},{"field":"limit","required":true,"desc":"每页用户数"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1649:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwokiko3tqr7zhsdid","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"用户总数","structType":"json","sub":1,"key":"kwokjkhdr8n8tswzih","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页用户数","structType":"json","sub":1,"key":"kwokjrgscuffi7jg4z","children":[]},{"field":"users","paramsType":"array","required":true,"desc":"用户列表","structType":"json","sub":1,"key":"kwokk4toesq4391ph7r","children":[{"field":"id","paramsType":"int","required":true,"desc":"用户编号","structType":"json","sub":2,"key":"kwokkfl6o5svxnpzula","parentKey":"kwokk4toesq4391ph7r","children":[]},{"field":"dept","paramsType":"int","required":true,"desc":"所属部门","structType":"json","sub":2,"key":"kwokkkhmgrv4fegsr9","parentKey":"kwokk4toesq4391ph7r","children":[]},{"field":"account","paramsType":"string","required":true,"desc":"用户名","structType":"json","sub":2,"key":"kwokl0ng7td5nvyc7gq","parentKey":"kwokk4toesq4391ph7r","children":[]},{"field":"realname","paramsType":"string","required":true,"desc":"真实姓名","structType":"json","sub":2,"key":"kwokl9uxlprwwwqh91r","parentKey":"kwokk4toesq4391ph7r","children":[]},{"field":"role","paramsType":"string","required":false,"desc":"角色","structType":"json","sub":2,"key":"kwokliwf9cm0f6f4k16","parentKey":"kwokk4toesq4391ph7r","children":[]},{"field":"email","paramsType":"string","required":"","desc":"邮箱","structType":"json","sub":2,"key":"kwoklrpr2krc5ajrbj","parentKey":"kwokk4toesq4391ph7r","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:133;O:8:"stdClass":19:{s:2:"id";s:4:"1468";s:3:"doc";s:3:"428";s:6:"module";s:3:"108";s:5:"title";s:24:"获取我的个人信息";s:4:"path";s:5:"/user";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2875:"[{"field":"profile","paramsType":"object","required":true,"desc":"","structType":"json","sub":1,"key":"kwojur4idf2tpw1bkbe","children":[{"field":"id","paramsType":"int","required":true,"desc":"用户编号","structType":"json","sub":2,"key":"kwok6cs05lxpmx6y6rr","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"类型(inside 内部用户 | outside 外部用户)","structType":"json","sub":2,"key":"kwok6og0ahx6f597mrd","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"dept","paramsType":"int","required":true,"desc":"所属部门","structType":"json","sub":2,"key":"kwok7dh7htxbxpri6vd","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"account","paramsType":"string","required":true,"desc":"用户名","structType":"json","sub":2,"key":"kwok7nqb31mthbt314r","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"realname","paramsType":"string","required":true,"desc":"真实姓名","structType":"json","sub":2,"key":"kwok7zsnesbib3xqyoe","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"nickname","paramsType":"string","required":"","desc":"昵称","structType":"json","sub":2,"key":"kwok8cwjolnijrajn1","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"avatar","paramsType":"string","required":"","desc":"头像","structType":"json","sub":2,"key":"kwok8rkw8a2qaxo6zmg","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"birthday","paramsType":"date","required":"","desc":"生日","structType":"json","sub":2,"key":"kwok8zxnqkju8zu00v","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"gender","paramsType":"string","required":"","desc":"性别(f 女性 | m 男性)","structType":"json","sub":2,"key":"kwok9agk5itm5fdge68","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"mobile","paramsType":"string","required":"","desc":"手机号码","structType":"json","sub":2,"key":"kwok9rg5pat2s9dtj1","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"phone","paramsType":"string","required":"","desc":"电话号码","structType":"json","sub":2,"key":"kwok9zaqjcudthvaepl","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"weixin","paramsType":"string","required":"","desc":"微信号码","structType":"json","sub":2,"key":"kwokab6bp730tfrb0d","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"address","paramsType":"string","required":"","desc":"住址","structType":"json","sub":2,"key":"kwokau91tuhpeglrsf8","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"join","paramsType":"date","required":"","desc":"加入日期","structType":"json","sub":2,"key":"kwokb1tdzkuodmano","parentKey":"kwojur4idf2tpw1bkbe","children":[]},{"field":"admin","paramsType":"boolean","required":true,"desc":"是否管理员","structType":"json","sub":2,"key":"kwokby1uzx691aq2per","parentKey":"kwojur4idf2tpw1bkbe","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:134;O:8:"stdClass":19:{s:2:"id";s:4:"1469";s:3:"doc";s:3:"490";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集列表";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"9";s:6:"params";s:215:"{"header":[{"field":"Token","required":true,"desc":"访问凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"order","required":"","desc":"排序,默认order_asc;排序字段+下划线+asc/desc"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3993:"[{"field":"programs","paramsType":"array","required":true,"desc":"项目集列表","structType":"json","sub":1,"key":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":true,"desc":"项目集ID","structType":"json","sub":2,"key":"kw5oko39ful5ibh4xos","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目集名称","structType":"json","sub":2,"key":"kwbijc4xmi7da0s2v3h","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":2,"key":"kwbijs25uh1oerv14o","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY/USD)","structType":"json","sub":2,"key":"kwbiljpvwx1s9subl6h","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":2,"key":"kwbim4qiu70li1lj2sg","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"预计结束日期","structType":"json","sub":2,"key":"kwbin0zq2jnrf2hheqk","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":2,"key":"kwbin1zr9rft0cqsn7","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":2,"key":"kwbinosclp6c0ziw75b","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父项目集,顶层项目集的parent为0","structType":"json","sub":2,"key":"kwbivepwxrt80u7jdnj","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"openedBy","paramsType":"object","required":true,"desc":"由谁创建","structType":"json","sub":2,"key":"kwbiwzxpqpd682l27ke","parentKey":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":"","desc":"用户ID","structType":"json","sub":3,"key":"kwopi2wws0ddwmos2bk","parentKey":"kwbiwzxpqpd682l27ke","children":[]},{"field":"account","paramsType":"string","required":"","desc":"用户名","structType":"json","sub":3,"key":"kwopi2l2iodsea0my7o","parentKey":"kwbiwzxpqpd682l27ke","children":[]},{"field":"avatar","paramsType":"string","required":"","desc":"头像","structType":"json","sub":3,"key":"kwopi1wtyve0w4yt3rj","parentKey":"kwbiwzxpqpd682l27ke","children":[]},{"field":"realname","paramsType":"string","required":"","desc":"真实姓名","structType":"json","sub":3,"key":"kwopi0s2pja7h71d2ti","parentKey":"kwbiwzxpqpd682l27ke","children":[]}]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwbixdfmz87xqj9c6dm","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"PM","paramsType":"object","required":true,"desc":"项目集负责人","structType":"json","sub":2,"key":"kwbiy8g88gdd05pvdom","parentKey":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":"","desc":"用户ID","structType":"json","sub":3,"key":"kwopgz4i1060sf427paf","parentKey":"kwbiy8g88gdd05pvdom","children":[]},{"field":"account","paramsType":"string","required":"","desc":"用户名","structType":"json","sub":3,"key":"kwopgyl848xmhjscro3","parentKey":"kwbiy8g88gdd05pvdom","children":[]},{"field":"avatar","paramsType":"string","required":"","desc":"头像","structType":"json","sub":3,"key":"kwopgxumikuyewjtd2b","parentKey":"kwbiy8g88gdd05pvdom","children":[]},{"field":"realname","paramsType":"string","required":"","desc":"真实姓名","structType":"json","sub":3,"key":"kwopgrd26t2xxz5rd0l","parentKey":"kwbiy8g88gdd05pvdom","children":[]}]},{"field":"progress","paramsType":"int","required":true,"desc":"进度","structType":"json","sub":2,"key":"kwbiyml3zn2zd5mdv0c","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:135;O:8:"stdClass":19:{s:2:"id";s:4:"1467";s:3:"doc";s:3:"481";s:6:"module";s:3:"104";s:5:"title";s:15:"修改项目集";s:4:"path";s:13:"/programs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"6";s:6:"params";s:1650:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":false,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrrcafi41oii1yyu","children":[]},{"field":"parent","paramsType":"string","required":"","desc":"父项目集,0表示没有父项目集","structType":"json","sub":1,"key":"kwfrrjy5fy9cr7cbhxt","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwfrrp78h46nsupgqg","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"预算金额","structType":"json","sub":1,"key":"kwg2zi8y395k1sa5qw","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwg2zu8lqoggv7wrofn","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"项目集描述","structType":"json","sub":1,"key":"kwg32uanzx7ssr24qb","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"预计开始日期","structType":"json","sub":1,"key":"kwg331xpdglirubloc","children":[]},{"field":"end","paramsType":"date","required":"","desc":"预计结束日期","structType":"json","sub":1,"key":"kwg339ez5y4fapvyz02","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwg387hniakqx94yjh","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg38nt998kadpp0kk7","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2260:"[{"field":"id","paramsType":"int","required":true,"desc":"","structType":"json","sub":1,"key":"kwfrq9ewoxebsfy1yc","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrt5svntvrbex1a1","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kwfrufdxs4insbwp7os","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwfrupqa2is097je3r1","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父项目集","structType":"json","sub":1,"key":"kwfrv68kj5pq1ev7y1a","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwfrvpa06s9odxqr733","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwfrvwl8yp43br33c0j","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwfrw1x78s1r66etxjn","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwfrw6lojs101m01t6","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目集描述","structType":"json","sub":1,"key":"kwfrwkdf096g5nvumqrp","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwfrx6jpg8tpusd54te","children":[]},{"field":"openedDate","paramsType":"string","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwfrxh8vp3p541ha0q","children":[]},{"field":"PM","paramsType":"string","required":false,"desc":"负责人","structType":"json","sub":1,"key":"kwfrxyttm6qlete3n3h","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwfry99qckte6qguao","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwfryty0hgpjch2k40u","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:136;O:8:"stdClass":19:{s:2:"id";s:4:"1466";s:3:"doc";s:3:"490";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集列表";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:2:"10";s:6:"params";s:215:"{"header":[{"field":"Token","required":true,"desc":"访问凭证Token"}],"params":[],"paramsType":"json","query":[{"field":"order","required":"","desc":"排序,默认order_asc;排序字段+下划线+asc/desc"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2570:"[{"field":"programs","paramsType":"array","required":true,"desc":"项目集列表","structType":"json","sub":1,"key":"kw5nu7zo9vjed0b8xnj","children":[{"field":"id","paramsType":"int","required":true,"desc":"项目集ID","structType":"json","sub":2,"key":"kw5oko39ful5ibh4xos","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目集名称","structType":"json","sub":2,"key":"kwbijc4xmi7da0s2v3h","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":2,"key":"kwbijs25uh1oerv14o","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY/USD)","structType":"json","sub":2,"key":"kwbiljpvwx1s9subl6h","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":2,"key":"kwbim4qiu70li1lj2sg","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"预计结束日期","structType":"json","sub":2,"key":"kwbin0zq2jnrf2hheqk","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":2,"key":"kwbin1zr9rft0cqsn7","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":2,"key":"kwbinosclp6c0ziw75b","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父项目集,顶层项目集的parent为0","structType":"json","sub":2,"key":"kwbivepwxrt80u7jdnj","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"由谁创建","structType":"json","sub":2,"key":"kwbiwzxpqpd682l27ke","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwbixdfmz87xqj9c6dm","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"PM","paramsType":"1","required":true,"desc":"项目集负责人","structType":"json","sub":2,"key":"kwbiy8g88gdd05pvdom","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]},{"field":"progress","paramsType":"int","required":true,"desc":"进度","structType":"json","sub":2,"key":"kwbiyml3zn2zd5mdv0c","parentKey":"kw5nu7zo9vjed0b8xnj","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:137;O:8:"stdClass":19:{s:2:"id";s:4:"1465";s:3:"doc";s:3:"481";s:6:"module";s:3:"104";s:5:"title";s:15:"修改项目集";s:4:"path";s:13:"/programs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"7";s:6:"params";s:1650:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":false,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrrcafi41oii1yyu","children":[]},{"field":"parent","paramsType":"string","required":"","desc":"父项目集,0表示没有父项目集","structType":"json","sub":1,"key":"kwfrrjy5fy9cr7cbhxt","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwfrrp78h46nsupgqg","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"预算金额","structType":"json","sub":1,"key":"kwg2zi8y395k1sa5qw","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwg2zu8lqoggv7wrofn","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"项目集描述","structType":"json","sub":1,"key":"kwg32uanzx7ssr24qb","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"预计开始日期","structType":"json","sub":1,"key":"kwg331xpdglirubloc","children":[]},{"field":"end","paramsType":"date","required":"","desc":"预计结束日期","structType":"json","sub":1,"key":"kwg339ez5y4fapvyz02","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwg387hniakqx94yjh","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg38nt998kadpp0kk7","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2250:"[{"field":"id","paramsType":"int","required":true,"desc":"","structType":"json","sub":1,"key":"kwfrq9ewoxebsfy1yc","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrt5svntvrbex1a1","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kwfrufdxs4insbwp7os","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwfrupqa2is097je3r1","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父项目集","structType":"json","sub":1,"key":"kwfrv68kj5pq1ev7y1a","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwfrvpa06s9odxqr733","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwfrvwl8yp43br33c0j","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwfrw1x78s1r66etxjn","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwfrw6lojs101m01t6","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目集描述","structType":"json","sub":1,"key":"kwfrwkdf096g5nvumqrp","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwfrx6jpg8tpusd54te","children":[]},{"field":"openedDate","paramsType":"string","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwfrxh8vp3p541ha0q","children":[]},{"field":"PM","paramsType":"1","required":false,"desc":"负责人","structType":"json","sub":1,"key":"kwfrxyttm6qlete3n3h","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwfry99qckte6qguao","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwfryty0hgpjch2k40u","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:138;O:8:"stdClass":19:{s:2:"id";s:4:"1463";s:3:"doc";s:3:"476";s:6:"module";s:3:"104";s:5:"title";s:21:"获取项目集详情";s:4:"path";s:13:"/programs/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2264:"[{"field":"id","paramsType":"int","required":true,"desc":"项目集ID","structType":"json","sub":1,"key":"kwj8m09ldh61qyuvm0i","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目集名称","structType":"json","sub":1,"key":"kwj8n4tt3bns0zay97x","children":[]},{"field":"PM","paramsType":"string","required":true,"desc":"负责人","structType":"json","sub":1,"key":"kwj8o0cl9hp8wndzcuj","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kwj8oc20vnok8xd1sq","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwj8oldpyvgy82o6xk","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwj8p80rykze7d8f1nq","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwj8pv6l3t4gggocbrt","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwj8qc97rkkuiiwht","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwj8qfwqmbns6nnn7o","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目集描述","structType":"json","sub":1,"key":"kwj8qxwggzcmnlu9mji","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwj8rbp90dreozj1a1x5","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwj8rhee6ww3gy35x4q","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwj8s8pc8uk89exry8i","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwj8sovnzv5fweyv8dq","children":[]},{"field":"PM","paramsType":"1","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwpqwwrxn0q9ffdgu1","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:139;O:8:"stdClass":19:{s:2:"id";s:4:"1464";s:3:"doc";s:3:"475";s:6:"module";s:3:"104";s:5:"title";s:15:"创建项目集";s:4:"path";s:9:"/programs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"5";s:6:"params";s:1681:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":false,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrrcafi41oii1yyu","children":[]},{"field":"parent","paramsType":"string","required":"","desc":"父项目集,0表示没有父项目集","structType":"json","sub":1,"key":"kwfrrjy5fy9cr7cbhxt","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwfrrp78h46nsupgqg","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"预算金额","structType":"json","sub":1,"key":"kwg2zi8y395k1sa5qw","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwg2zu8lqoggv7wrofn","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"项目集描述","structType":"json","sub":1,"key":"kwg32uanzx7ssr24qb","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"预计开始日期","structType":"json","sub":1,"key":"kwg331xpdglirubloc","children":[]},{"field":"end","paramsType":"date","required":"","desc":"预计结束日期","structType":"json","sub":1,"key":"kwg339ez5y4fapvyz02","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwg387hniakqx94yjh","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单,只有acl = private才生效","structType":"json","sub":1,"key":"kwg38nt998kadpp0kk7","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2250:"[{"field":"id","paramsType":"int","required":true,"desc":"","structType":"json","sub":1,"key":"kwfrq9ewoxebsfy1yc","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfrt5svntvrbex1a1","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kwfrufdxs4insbwp7os","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwfrupqa2is097je3r1","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父项目集","structType":"json","sub":1,"key":"kwfrv68kj5pq1ev7y1a","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwfrvpa06s9odxqr733","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwfrvwl8yp43br33c0j","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwfrw1x78s1r66etxjn","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwfrw6lojs101m01t6","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目集描述","structType":"json","sub":1,"key":"kwfrwkdf096g5nvumqrp","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwfrx6jpg8tpusd54te","children":[]},{"field":"openedDate","paramsType":"string","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwfrxh8vp3p541ha0q","children":[]},{"field":"PM","paramsType":"1","required":false,"desc":"负责人","structType":"json","sub":1,"key":"kwfrxyttm6qlete3n3h","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwfry99qckte6qguao","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwfryty0hgpjch2k40u","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:140;O:8:"stdClass":19:{s:2:"id";s:4:"1461";s:3:"doc";s:3:"487";s:6:"module";s:3:"105";s:5:"title";s:18:"获取产品详情";s:4:"path";s:13:"/products/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"6";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2120:"[{"field":"id","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":1,"key":"kwbr4qcbgcop3s3ohg5","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":1,"key":"kwbr6h84h8rp18cru57","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"产品代号","structType":"json","sub":1,"key":"kwbs6sx5bpk1z0kf7ak","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwellfvj3lxhcmg4wfo","children":[]},{"field":"line","paramsType":"int","required":true,"desc":"所属产品线","structType":"json","sub":1,"key":"kwelm02uvxu130ubux","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwelnh4d6pqibi436x9","children":[]},{"field":"PO","paramsType":"1","required":false,"desc":"产品负责人","structType":"json","sub":1,"key":"kwembkw9f5tak8d1gtg","children":[]},{"field":"QD","paramsType":"1","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwemckatgwyg58ed9ic","children":[]},{"field":"RD","paramsType":"1","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwemo4zyvvjyf5lpte","children":[]},{"field":"desc","paramsType":"object","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwemrk1txqrm14ww5c","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwemrs7sej0jr0cdabb","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwemsftfsdxa86i4dq","children":[]},{"field":"createdBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwemsw3yed4knmaqwwr","children":[]},{"field":"createdDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwemu7xhxrhubvtg1i","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:141;O:8:"stdClass":19:{s:2:"id";s:4:"1462";s:3:"doc";s:3:"489";s:6:"module";s:3:"105";s:5:"title";s:18:"获取产品列表";s:4:"path";s:9:"/products";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"5";s:6:"params";s:118:"{"header":[{"field":"Token","required":"","desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2737:"[{"field":"products","paramsType":"array","required":true,"desc":"","structType":"json","sub":1,"key":"kwaewshi65nnjs135n3","children":[{"field":"id","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":2,"key":"kwaey51uz6sfrk555m","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":2,"key":"kwbj1dqg65pvugs5h2s","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":2,"key":"kwbj2a1ihackyh03q49","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"产品代号","structType":"json","sub":2,"key":"kwbj2h0rn057wustk7o","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"line","paramsType":"int","required":true,"desc":"所属产品线","structType":"json","sub":2,"key":"kwbnpypoba6t1ms7oaf","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"PO","paramsType":"1","required":"","desc":"产品负责人","structType":"json","sub":2,"key":"kwbp9dclulc73a3tg","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"QD","paramsType":"1","required":"","desc":"测试负责人","structType":"json","sub":2,"key":"kwbp9pc1t1nvj4j2wd","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"RD","paramsType":"1","required":"","desc":"发布负责人","structType":"json","sub":2,"key":"kwbpalk5bnobb0mtp98","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":2,"key":"kwbpb2vft6si1ctgwf","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"产品描述","structType":"json","sub":2,"key":"kwbpdiepohshkv3sx2","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":2,"key":"kwbpdpivj06ph39fui","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":2,"key":"kwbpf2zg4f4bms64ubf","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"createdBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwbpfo85ji5yl8vqee","parentKey":"kwaewshi65nnjs135n3","children":[]},{"field":"createdDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwbpfwmgpdtmdxctovi","parentKey":"kwaewshi65nnjs135n3","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:142;O:8:"stdClass":19:{s:2:"id";s:4:"1460";s:3:"doc";s:3:"488";s:6:"module";s:3:"105";s:5:"title";s:12:"创建产品";s:4:"path";s:9:"/products";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:1775:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":1,"key":"kwbq19ffg59cbooyb","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwbq1dizm75sgcgnd9f","children":[]},{"field":"code","paramsType":"int","required":true,"desc":"产品代号","structType":"json","sub":1,"key":"kwbq1xl9s30o2e1awjo","children":[]},{"field":"line","paramsType":"int","required":false,"desc":"所属产品线","structType":"json","sub":1,"key":"kwbq2ftqrqrmg8cyj7t","children":[]},{"field":"PO","paramsType":"1","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwbq33qsopavnj72ntb","children":[]},{"field":"QD","paramsType":"1","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwbq3kbijyjhoy0se99","children":[]},{"field":"RD","paramsType":"1","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwbq412yll94vpa635p","children":[]},{"field":"type","paramsType":"string","required":"","desc":"产品类型(normal 正常 | branch 多分支 | )","structType":"json","sub":1,"key":"kwbq49zapa2fswh58f","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwbqcmbo088hh0l8o91","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwbqdai6v9pl61o6xab","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwbqe9ye70wc961572o","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2289:"[{"field":"id","paramsType":"int","required":"","desc":"产品ID","structType":"json","sub":1,"key":"kwbpz5jh94vauhx9ga6","children":[]},{"field":"name","paramsType":"string","required":"","desc":"产品名称","structType":"json","sub":1,"key":"kwbqhljxnscdsph7jh","children":[]},{"field":"program","paramsType":"int","required":"","desc":"所属项目集","structType":"json","sub":1,"key":"kwbqhueedi6o9jyr80g","children":[]},{"field":"code","paramsType":"string","required":"","desc":"产品代号","structType":"json","sub":1,"key":"kwbqi7fmwnjsrds8i3j","children":[]},{"field":"line","paramsType":"int","required":"","desc":"产品线","structType":"json","sub":1,"key":"kwbqk1pemf4rfcleksf","children":[]},{"field":"type","paramsType":"string","required":"","desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwbqo9fjuslzzbejx6","children":[]},{"field":"status","paramsType":"string","required":"","desc":"状态(normal 正常 | closed 结束)","structType":"json","sub":1,"key":"kwbqqfgzincm6qkym3","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwbr0v2vhqrrqh8y6l","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwbr107xvu791yqyaxk","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwbr10vxlfbpvdlvor9","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwbr1lszosgjhp2c0zh","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwbr1uny368imqpppbd","children":[]},{"field":"createdBy","paramsType":"string","required":"","desc":"创建人","structType":"json","sub":1,"key":"kwbr24x72kgwwnbt8jh","children":[]},{"field":"createdDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":1,"key":"kwbr2agkwi1th2cc9l","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwbr2x4zzb1jbw5g5qk","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:143;O:8:"stdClass":19:{s:2:"id";s:4:"1459";s:3:"doc";s:3:"486";s:6:"module";s:3:"105";s:5:"title";s:12:"编辑产品";s:4:"path";s:12:"/product/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:1230:"{"header":[{"field":"Token","required":"","desc":"访问凭证Token"}],"params":[{"field":"name","paramsType":"string","required":"","desc":"产品名称","structType":"json","sub":1,"key":"kwen3dckicyphhnz","children":[]},{"field":"code","paramsType":"string","required":"","desc":"产品代号","structType":"json","sub":1,"key":"kwen3izzrkun21x6ga","children":[]},{"field":"type","paramsType":"string","required":"","desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwen45d40m14utr25tg","children":[]},{"field":"line","paramsType":"int","required":"","desc":"所属产品线","structType":"json","sub":1,"key":"kwen8jf7leyksxip3f8","children":[]},{"field":"program","paramsType":"int","required":"","desc":"所属项目集","structType":"json","sub":1,"key":"kwen8ty05syldw0juiy","children":[]},{"field":"status","paramsType":"string","required":"","desc":"产品状态(normal 正常 | closed 已关闭)","structType":"json","sub":1,"key":"kwencqbvtud2pfbrfjp","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"产品描述,富文本","structType":"json","sub":1,"key":"kwenfpizvxhggi9clqj","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2120:"[{"field":"id","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":1,"key":"kwbr4qcbgcop3s3ohg5","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":1,"key":"kwbr6h84h8rp18cru57","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"产品代号","structType":"json","sub":1,"key":"kwbs6sx5bpk1z0kf7ak","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwellfvj3lxhcmg4wfo","children":[]},{"field":"line","paramsType":"int","required":true,"desc":"所属产品线","structType":"json","sub":1,"key":"kwelm02uvxu130ubux","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwelnh4d6pqibi436x9","children":[]},{"field":"PO","paramsType":"1","required":false,"desc":"产品负责人","structType":"json","sub":1,"key":"kwembkw9f5tak8d1gtg","children":[]},{"field":"QD","paramsType":"1","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwemckatgwyg58ed9ic","children":[]},{"field":"RD","paramsType":"1","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwemo4zyvvjyf5lpte","children":[]},{"field":"desc","paramsType":"object","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwemrk1txqrm14ww5c","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwemrs7sej0jr0cdabb","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwemsftfsdxa86i4dq","children":[]},{"field":"createdBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwemsw3yed4knmaqwwr","children":[]},{"field":"createdDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwemu7xhxrhubvtg1i","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:144;O:8:"stdClass":19:{s:2:"id";s:4:"1458";s:3:"doc";s:3:"448";s:6:"module";s:3:"112";s:5:"title";s:12:"创建计划";s:4:"path";s:19:"/products/:id/plans";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:997:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":false,"desc":"所属分支","structType":"json","sub":1,"key":"kwlofhasdc5r52f3zp7","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"计划名称","structType":"json","sub":1,"key":"kwlog1lmm7va7ihz6an","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"计划开始日期","structType":"json","sub":1,"key":"kwloh88yj5u3t8kq4a","children":[]},{"field":"end","paramsType":"date","required":"","desc":"计划结束日期","structType":"json","sub":1,"key":"kwlohkkne6ybkae8336","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"计划描述","structType":"json","sub":1,"key":"kwloho1edlbudimc34","children":[]},{"field":"parent","paramsType":"int","required":"","desc":"所属父计划","structType":"json","sub":1,"key":"kwpt6y4rnazkel3pod","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4860:"[{"field":"id","paramsType":"int","required":true,"desc":"计划ID","structType":"json","sub":1,"key":"kwlhrcrfi2xj4a62e","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwlmz4gitedfpssasja","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属计划","structType":"json","sub":1,"key":"kwlmzc773nvr59kw736","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父计划","structType":"json","sub":1,"key":"kwlmzjztqlfbdz67yjd","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"计划名称","structType":"json","sub":1,"key":"kwlmzrpuc5w1v5hdspt","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"计划描述","structType":"json","sub":1,"key":"kwln11j3ha0x59mb88i","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwln1eiso46b54s2ynk","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwln1lq8mh88c0mh9eb","children":[]},{"field":"stories","paramsType":"array","required":true,"desc":"关联需求","structType":"json","sub":1,"key":"kwln7u0pzbm5hejg55p","children":[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":2,"key":"kwlnv2b9eaqtv1opvi9","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":2,"key":"kwlnv1ckmcorf5xh5nh","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwlnuu1rrcji72o5bp","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwlnustvp5his9hg0k8","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"需求类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":2,"key":"kwlnusdi4n7tlyrxq5i","parentKey":"kwln7u0pzbm5hejg55p","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"需求优先级","structType":"json","sub":2,"key":"kwlnugayc1hvz68y70n","parentKey":"kwln7u0pzbm5hejg55p","children":[]}]},{"field":"bugs","paramsType":"array","required":true,"desc":"关联Bug","structType":"json","sub":1,"key":"kwln7vth71prs7ovxyx","children":[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":2,"key":"kwlo0r00wprxatyh2rr","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":2,"key":"kwlo0qwez7pl64gduo","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwlo0qrzicutoh87hkp","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":2,"key":"kwlo0qnpw1evw5zyu1r","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwlo0qin2gc4tvq62ve","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"相关需求","structType":"json","sub":2,"key":"kwlo0qe0eefu1me7yi","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":2,"key":"kwlo0q8lxzh0wwfowsb","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":2,"key":"kwlo0q4lpj91nh6pb4","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"Bug优先级","structType":"json","sub":2,"key":"kwlo0pztvmii6tauqb","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型","structType":"json","sub":2,"key":"kwlo0pvam3ulnfcmgbh","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"steps","paramsType":"string","required":true,"desc":"Bug复现步骤","structType":"json","sub":2,"key":"kwlo0phljctpu1lvu7","parentKey":"kwln7vth71prs7ovxyx","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"Bug状态(active 激活 | resolved 已解决 | closed 已关闭)","structType":"json","sub":2,"key":"kwlo0p3iqvltmpqdw3","parentKey":"kwln7vth71prs7ovxyx","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:145;O:8:"stdClass":19:{s:2:"id";s:4:"1456";s:3:"doc";s:3:"470";s:6:"module";s:3:"116";s:5:"title";s:24:"获取产品需求列表";s:4:"path";s:21:"/products/:id/stories";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3926:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页面","structType":"json","sub":1,"key":"kwjy2s87db9a596fbgb","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"需求总数","structType":"json","sub":1,"key":"kwjy7hkvjkmtt0mkcy","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页需求数","structType":"json","sub":1,"key":"kwjy7ld0ndd1vxicpo","children":[]},{"field":"stories","paramsType":"array","required":true,"desc":"需求列表","structType":"json","sub":1,"key":"kwjy8zyh4dzndly12en","children":[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":2,"key":"kwjy99j7nbctxlys6e","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwjyact3snp2jqp3tn","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwjyaun7ybre2f0dmep","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属产品模块","structType":"json","sub":2,"key":"kwjyb9uzo2dcbc3hmn","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来自于Bug","structType":"json","sub":2,"key":"kwjybqd5ld21pj2rnx7","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"source","paramsType":"string","required":true,"desc":"需求来源(customer 客户 | user 用户 | po 产品经理 | market 市场)","structType":"json","sub":2,"key":"kwjyccenpnjohdldyyp","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"sourceNote","paramsType":"string","required":true,"desc":"来源备注","structType":"json","sub":2,"key":"kwjyhkx6iqoqjdcagt","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":2,"key":"kwjyi8ihn1ufbkfpy0j","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":2,"key":"kwjyixbqtw6vvzlpae","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"阶段(wait 未开始 | planned 已计划 | projected 已立项 | developing 研发中 | developed 研发完毕 | testing 测试中 | tested 测试完毕 | verified 已验收 | released 已发布 | closed 已关闭)","structType":"json","sub":2,"key":"kwjyquptlmh4pfyzo9a","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":2,"key":"kwjyrsb3vu6gxup5vpa","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"estimate","paramsType":"int","required":true,"desc":"预计工时","structType":"json","sub":2,"key":"kwjz0s2pc0sv9wzyh1b","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(draft 草稿 | active 激活 | closed 已关闭 | changed 已变更)","structType":"json","sub":2,"key":"kwjz15ozrkdagpj8dfe","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwjz2eyko6qx1ixausl","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwjz2oj2beho2ph9fug","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"toBug","paramsType":"int","required":true,"desc":"转为Bug","structType":"json","sub":2,"key":"kwjz341v9rmo4xdxt9m","parentKey":"kwjy8zyh4dzndly12en","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:146;O:8:"stdClass":19:{s:2:"id";s:4:"1457";s:3:"doc";s:3:"487";s:6:"module";s:3:"105";s:5:"title";s:18:"获取产品详情";s:4:"path";s:13:"/products/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"7";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2120:"[{"field":"id","paramsType":"int","required":true,"desc":"产品ID","structType":"json","sub":1,"key":"kwbr4qcbgcop3s3ohg5","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"产品名称","structType":"json","sub":1,"key":"kwbr6h84h8rp18cru57","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"产品代号","structType":"json","sub":1,"key":"kwbs6sx5bpk1z0kf7ak","children":[]},{"field":"program","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwellfvj3lxhcmg4wfo","children":[]},{"field":"line","paramsType":"int","required":true,"desc":"所属产品线","structType":"json","sub":1,"key":"kwelm02uvxu130ubux","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"产品类型(normal 正常 | branch 多分支 | platform 多平台)","structType":"json","sub":1,"key":"kwelnh4d6pqibi436x9","children":[]},{"field":"PO","paramsType":"1","required":false,"desc":"产品负责人","structType":"json","sub":1,"key":"kwembkw9f5tak8d1gtg","children":[]},{"field":"QD","paramsType":"1","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwemckatgwyg58ed9ic","children":[]},{"field":"RD","paramsType":"1","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwemo4zyvvjyf5lpte","children":[]},{"field":"desc","paramsType":"object","required":"","desc":"产品描述","structType":"json","sub":1,"key":"kwemrk1txqrm14ww5c","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwemrs7sej0jr0cdabb","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwemsftfsdxa86i4dq","children":[]},{"field":"createdBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwemsw3yed4knmaqwwr","children":[]},{"field":"createdDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwemu7xhxrhubvtg1i","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:147;O:8:"stdClass":19:{s:2:"id";s:4:"1455";s:3:"doc";s:3:"467";s:6:"module";s:3:"116";s:5:"title";s:24:"获取执行需求列表";s:4:"path";s:23:"/executions/:id/stories";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3926:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页面","structType":"json","sub":1,"key":"kwjy2s87db9a596fbgb","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"需求总数","structType":"json","sub":1,"key":"kwjy7hkvjkmtt0mkcy","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页需求数","structType":"json","sub":1,"key":"kwjy7ld0ndd1vxicpo","children":[]},{"field":"stories","paramsType":"array","required":true,"desc":"需求列表","structType":"json","sub":1,"key":"kwjy8zyh4dzndly12en","children":[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":2,"key":"kwjy99j7nbctxlys6e","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwjyact3snp2jqp3tn","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwjyaun7ybre2f0dmep","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属产品模块","structType":"json","sub":2,"key":"kwjyb9uzo2dcbc3hmn","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来自于Bug","structType":"json","sub":2,"key":"kwjybqd5ld21pj2rnx7","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"source","paramsType":"string","required":true,"desc":"需求来源(customer 客户 | user 用户 | po 产品经理 | market 市场)","structType":"json","sub":2,"key":"kwjyccenpnjohdldyyp","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"sourceNote","paramsType":"string","required":true,"desc":"来源备注","structType":"json","sub":2,"key":"kwjyhkx6iqoqjdcagt","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":2,"key":"kwjyi8ihn1ufbkfpy0j","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":2,"key":"kwjyixbqtw6vvzlpae","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"阶段(wait 未开始 | planned 已计划 | projected 已立项 | developing 研发中 | developed 研发完毕 | testing 测试中 | tested 测试完毕 | verified 已验收 | released 已发布 | closed 已关闭)","structType":"json","sub":2,"key":"kwjyquptlmh4pfyzo9a","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":2,"key":"kwjyrsb3vu6gxup5vpa","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"estimate","paramsType":"int","required":true,"desc":"预计工时","structType":"json","sub":2,"key":"kwjz0s2pc0sv9wzyh1b","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(draft 草稿 | active 激活 | closed 已关闭 | changed 已变更)","structType":"json","sub":2,"key":"kwjz15ozrkdagpj8dfe","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwjz2eyko6qx1ixausl","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwjz2oj2beho2ph9fug","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"toBug","paramsType":"int","required":true,"desc":"转为Bug","structType":"json","sub":2,"key":"kwjz341v9rmo4xdxt9m","parentKey":"kwjy8zyh4dzndly12en","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:148;O:8:"stdClass":19:{s:2:"id";s:4:"1454";s:3:"doc";s:3:"471";s:6:"module";s:3:"116";s:5:"title";s:24:"获取项目需求列表";s:4:"path";s:21:"/projects/:id/stories";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3926:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页面","structType":"json","sub":1,"key":"kwjy2s87db9a596fbgb","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"需求总数","structType":"json","sub":1,"key":"kwjy7hkvjkmtt0mkcy","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页需求数","structType":"json","sub":1,"key":"kwjy7ld0ndd1vxicpo","children":[]},{"field":"stories","paramsType":"array","required":true,"desc":"需求列表","structType":"json","sub":1,"key":"kwjy8zyh4dzndly12en","children":[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":2,"key":"kwjy99j7nbctxlys6e","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwjyact3snp2jqp3tn","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwjyaun7ybre2f0dmep","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属产品模块","structType":"json","sub":2,"key":"kwjyb9uzo2dcbc3hmn","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来自于Bug","structType":"json","sub":2,"key":"kwjybqd5ld21pj2rnx7","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"source","paramsType":"string","required":true,"desc":"需求来源(customer 客户 | user 用户 | po 产品经理 | market 市场)","structType":"json","sub":2,"key":"kwjyccenpnjohdldyyp","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"sourceNote","paramsType":"string","required":true,"desc":"来源备注","structType":"json","sub":2,"key":"kwjyhkx6iqoqjdcagt","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":2,"key":"kwjyi8ihn1ufbkfpy0j","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":2,"key":"kwjyixbqtw6vvzlpae","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"阶段(wait 未开始 | planned 已计划 | projected 已立项 | developing 研发中 | developed 研发完毕 | testing 测试中 | tested 测试完毕 | verified 已验收 | released 已发布 | closed 已关闭)","structType":"json","sub":2,"key":"kwjyquptlmh4pfyzo9a","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":2,"key":"kwjyrsb3vu6gxup5vpa","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"estimate","paramsType":"int","required":true,"desc":"预计工时","structType":"json","sub":2,"key":"kwjz0s2pc0sv9wzyh1b","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(draft 草稿 | active 激活 | closed 已关闭 | changed 已变更)","structType":"json","sub":2,"key":"kwjz15ozrkdagpj8dfe","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwjz2eyko6qx1ixausl","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwjz2oj2beho2ph9fug","parentKey":"kwjy8zyh4dzndly12en","children":[]},{"field":"toBug","paramsType":"int","required":true,"desc":"转为Bug","structType":"json","sub":2,"key":"kwjz341v9rmo4xdxt9m","parentKey":"kwjy8zyh4dzndly12en","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:149;O:8:"stdClass":19:{s:2:"id";s:4:"1453";s:3:"doc";s:3:"468";s:6:"module";s:3:"116";s:5:"title";s:12:"创建需求";s:4:"path";s:8:"/stories";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:1591:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":1,"key":"kwjzb7t7r80zxre07ar","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwjzfpcu6lw92hz2ypn","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwjzfpzyj9dm3wtixpi","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"需求类型","structType":"json","sub":1,"key":"kwjzfqrjtzrsmg53nlp","children":[]},{"field":"spec","paramsType":"string","required":false,"desc":"需求描述","structType":"json","sub":1,"key":"kwjzj6ur2wul1s780xf","children":[]},{"field":"verify","paramsType":"string","required":false,"desc":"验收标准","structType":"json","sub":1,"key":"kwjzjwan8b55385dp7u","children":[]},{"field":"source","paramsType":"string","required":"","desc":"需求来源","structType":"json","sub":1,"key":"kwjzlbfd0s6dmbypy9gr","children":[]},{"field":"sourceNote","paramsType":"string","required":"","desc":"来源备注","structType":"json","sub":1,"key":"kwjzm2bpuz7rpwww18o","children":[]},{"field":"estimate","paramsType":"float","required":"","desc":"预计工时","structType":"json","sub":1,"key":"kwjzmbg8o60ltfbezl","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwjzn2tj3muq5pd3hh3","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2949:"[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":1,"key":"kwjzak1x6332sumet2x","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwjzqgmor28xkpxto2","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":1,"key":"kwjzqh9m591hxaz9r75","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属产品模块","structType":"json","sub":1,"key":"kwjzqhdz9o96s49biap","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来自于Bug","structType":"json","sub":1,"key":"kwjzqhisj4xgerdefa","children":[]},{"field":"source","paramsType":"string","required":true,"desc":"需求来源(customer 客户 | user 用户 | po 产品经理 | market 市场)","structType":"json","sub":1,"key":"kwjzqhnjwye1lyvbs7s","children":[]},{"field":"sourceNote","paramsType":"string","required":true,"desc":"来源备注","structType":"json","sub":1,"key":"kwjzqhs1sci48ds40c","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":1,"key":"kwjzqhvzgnhlyglh3wl","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":1,"key":"kwjzqi0g6kz5b3qtqyj","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"阶段(wait 未开始 | planned 已计划 | projected 已立项 | developing 研发中 | developed 研发完毕 | testing 测试中 | tested 测试完毕 | verified 已验收 | released 已发布 | closed 已关闭)","structType":"json","sub":1,"key":"kwjzqi5fa420z4rcoz9","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwjzsm7e02zv28lg7woq","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":1,"key":"kwjzsmcosfo5u84ljn","children":[]},{"field":"verify","paramsType":"string","required":true,"desc":"验收标准","structType":"json","sub":1,"key":"kwjzsz8r796vs9psimw","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(draft 草稿 | active 激活 | closed 已关闭 | changed 已变更)","structType":"json","sub":1,"key":"kwjzszdgvko3irxwjg","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwjzszihkde9vnt4gu","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwjzszwssmv2dzhyad","children":[]},{"field":"toBug","paramsType":"int","required":true,"desc":"转为Bug","structType":"json","sub":1,"key":"kwjzu1eeg2nbghkse4e","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:150;O:8:"stdClass":19:{s:2:"id";s:4:"1452";s:3:"doc";s:3:"466";s:6:"module";s:3:"116";s:5:"title";s:12:"变更需求";s:4:"path";s:19:"/stories/:id/change";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:554:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"title","paramsType":"string","required":false,"desc":"需求标题","structType":"json","sub":1,"key":"kwk00sadykqdnjov0b","children":[]},{"field":"spec","paramsType":"string","required":"","desc":"需求描述","structType":"json","sub":1,"key":"kwk056l687emefzib2d","children":[]},{"field":"verify","paramsType":"string","required":"","desc":"验收标准","structType":"json","sub":1,"key":"kwk0752wcpdf6vob37","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2949:"[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":1,"key":"kwjzak1x6332sumet2x","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwjzqgmor28xkpxto2","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":1,"key":"kwjzqh9m591hxaz9r75","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属产品模块","structType":"json","sub":1,"key":"kwjzqhdz9o96s49biap","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来自于Bug","structType":"json","sub":1,"key":"kwjzqhisj4xgerdefa","children":[]},{"field":"source","paramsType":"string","required":true,"desc":"需求来源(customer 客户 | user 用户 | po 产品经理 | market 市场)","structType":"json","sub":1,"key":"kwjzqhnjwye1lyvbs7s","children":[]},{"field":"sourceNote","paramsType":"string","required":true,"desc":"来源备注","structType":"json","sub":1,"key":"kwjzqhs1sci48ds40c","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":1,"key":"kwjzqhvzgnhlyglh3wl","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":1,"key":"kwjzqi0g6kz5b3qtqyj","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"阶段(wait 未开始 | planned 已计划 | projected 已立项 | developing 研发中 | developed 研发完毕 | testing 测试中 | tested 测试完毕 | verified 已验收 | released 已发布 | closed 已关闭)","structType":"json","sub":1,"key":"kwjzqi5fa420z4rcoz9","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwjzsm7e02zv28lg7woq","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":1,"key":"kwjzsmcosfo5u84ljn","children":[]},{"field":"verify","paramsType":"string","required":true,"desc":"验收标准","structType":"json","sub":1,"key":"kwjzsz8r796vs9psimw","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(draft 草稿 | active 激活 | closed 已关闭 | changed 已变更)","structType":"json","sub":1,"key":"kwjzszdgvko3irxwjg","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwjzszihkde9vnt4gu","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwjzszwssmv2dzhyad","children":[]},{"field":"toBug","paramsType":"int","required":true,"desc":"转为Bug","structType":"json","sub":1,"key":"kwjzu1eeg2nbghkse4e","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:151;O:8:"stdClass":19:{s:2:"id";s:4:"1451";s:3:"doc";s:3:"465";s:6:"module";s:3:"116";s:5:"title";s:18:"获取需求详情";s:4:"path";s:12:"/stories/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2949:"[{"field":"id","paramsType":"int","required":true,"desc":"需求ID","structType":"json","sub":1,"key":"kwjzak1x6332sumet2x","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwjzqgmor28xkpxto2","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":1,"key":"kwjzqh9m591hxaz9r75","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属产品模块","structType":"json","sub":1,"key":"kwjzqhdz9o96s49biap","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来自于Bug","structType":"json","sub":1,"key":"kwjzqhisj4xgerdefa","children":[]},{"field":"source","paramsType":"string","required":true,"desc":"需求来源(customer 客户 | user 用户 | po 产品经理 | market 市场)","structType":"json","sub":1,"key":"kwjzqhnjwye1lyvbs7s","children":[]},{"field":"sourceNote","paramsType":"string","required":true,"desc":"来源备注","structType":"json","sub":1,"key":"kwjzqhs1sci48ds40c","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":1,"key":"kwjzqhvzgnhlyglh3wl","children":[]},{"field":"category","paramsType":"string","required":true,"desc":"类型(feature 功能 | interface 接口 | performance 性能 | safe 安全 | experience 体验 | improve 改进 | other 其他)","structType":"json","sub":1,"key":"kwjzqi0g6kz5b3qtqyj","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"阶段(wait 未开始 | planned 已计划 | projected 已立项 | developing 研发中 | developed 研发完毕 | testing 测试中 | tested 测试完毕 | verified 已验收 | released 已发布 | closed 已关闭)","structType":"json","sub":1,"key":"kwjzqi5fa420z4rcoz9","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwjzsm7e02zv28lg7woq","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":1,"key":"kwjzsmcosfo5u84ljn","children":[]},{"field":"verify","paramsType":"string","required":true,"desc":"验收标准","structType":"json","sub":1,"key":"kwjzsz8r796vs9psimw","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(draft 草稿 | active 激活 | closed 已关闭 | changed 已变更)","structType":"json","sub":1,"key":"kwjzszdgvko3irxwjg","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwjzszihkde9vnt4gu","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwjzszwssmv2dzhyad","children":[]},{"field":"toBug","paramsType":"int","required":true,"desc":"转为Bug","structType":"json","sub":1,"key":"kwjzu1eeg2nbghkse4e","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:152;O:8:"stdClass":19:{s:2:"id";s:4:"1449";s:3:"doc";s:3:"479";s:6:"module";s:3:"106";s:5:"title";s:12:"修改项目";s:4:"path";s:13:"/projects/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:1846:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":"","desc":"项目名称","structType":"formData","sub":1,"key":"kwfzx1b9z1ojzx148v8","children":[]},{"field":"code","paramsType":"string","required":"","desc":"项目代号","structType":"formData","sub":1,"key":"kwg07xvv8hp8q72a70p","children":[]},{"field":"parent","paramsType":"int","required":false,"desc":"所属项目集","structType":"formData","sub":1,"key":"kwg0876le09j7dkyxjq","children":[]},{"field":"PM","paramsType":"int","required":"","desc":"项目负责人","structType":"formData","sub":1,"key":"kwg0fzqc762wxgjyyxl","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"项目预算金额","structType":"formData","sub":1,"key":"kwg0j7akglo9o1sdd8g","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY | USD)","structType":"formData","sub":1,"key":"kwg0jl5ymm7o4x0k5ta","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"formData","sub":1,"key":"kwg0ka6ohdjnpp56c","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"项目描述","structType":"formData","sub":1,"key":"kwg0kyn82ahibxdaa3p","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"formData","sub":1,"key":"kwg0m88gcrace3xs9ha","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"formData","sub":1,"key":"kwg0mvcgpb19a34lxz8","children":[]},{"field":"auth","paramsType":"string","required":"","desc":"权限控制(extend 继承 | reset 重新定义)","structType":"formData","sub":1,"key":"kwg0nw28t57nw6ls9g","children":[]}],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1818:"[{"field":"id","paramsType":"int","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfzx1bfez3bi3z1uh8","children":[]},{"field":"name","paramsType":"string","required":"","desc":"项目名称","structType":"json","sub":1,"key":"kwg0qqa1i6liuc5na2","children":[]},{"field":"parent","paramsType":"int","required":"","desc":"所属项目集","structType":"json","sub":1,"key":"kwg0qz7loa7d85ykp7s","children":[]},{"field":"code","paramsType":"string","required":"","desc":"项目代号","structType":"json","sub":1,"key":"kwg0r91vhgfn2bfb9p7","children":[]},{"field":"PM","paramsType":"1","required":"","desc":"项目负责人","structType":"json","sub":1,"key":"kwg0rpuoxyjz9pqxgt","children":[]},{"field":"budget","paramsType":"int","required":"","desc":"项目预算金额","structType":"json","sub":1,"key":"kwg0rzy9s219ge93f3","children":[]},{"field":"budgetUnit","paramsType":"string","required":"","desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwg0s9wyql076w7sul","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"json","sub":1,"key":"kwg0sk1ewbnq8cubqut","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"项目描述","structType":"json","sub":1,"key":"kwg0srchfyqmpfcw8n4","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwg0syv0vmyry7bpo99","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg0t6hoeif88dy86s","children":[]},{"field":"auth","paramsType":"string","required":"","desc":"权限控制(extend 继承 | reset 重新定义)","structType":"json","sub":1,"key":"kwg0td9u9zcfm6pbbp","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:153;O:8:"stdClass":19:{s:2:"id";s:4:"1450";s:3:"doc";s:3:"483";s:6:"module";s:3:"106";s:5:"title";s:12:"创建项目";s:4:"path";s:9:"/projects";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:1217:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kweqeeu4uyul5ro6o7","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kweqeneavf594nhj4cm","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kweqeulf61fh20gafsy","children":[]},{"field":"products","paramsType":"array","required":true,"desc":"关联产品,比如 [1, 2],不能为空。","structType":"json","sub":1,"key":"kweqfbdfm7z71875r1l","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"项目编号","structType":"json","sub":1,"key":"kweqlpdkud5rs421do9","children":[]},{"field":"model","paramsType":"string","required":"","desc":"项目模型,默认为scrum","structType":"json","sub":1,"key":"kweqndhs3nd3a1jd9r4","children":[]},{"field":"parent","paramsType":"int","required":"","desc":"所属项目集,默认为0","structType":"json","sub":1,"key":"kweqvrk6mjr9vygujza","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1979:"[{"field":"id","paramsType":"int","required":true,"desc":"项目编号","structType":"json","sub":1,"key":"kweqd0yk9o8xi8kyi4i","children":[]},{"field":"model","paramsType":"string","required":true,"desc":"项目模型(scrum 敏捷 | waterfall 瀑布)","structType":"json","sub":1,"key":"kweqn4iti067eqz5d2m","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"预算金额","structType":"json","sub":1,"key":"kweqols3u9m0s05ylyk","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kweque9jrz74gf76dh","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kweqv1x01dpu3by4dfb","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kweqvb5i8r2yr4640yh","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"项目代号","structType":"json","sub":1,"key":"kweqwlz88yba26zd50g","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kweqwvifjrxbgg1l76j","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kweqy196dogt0m3o9ge","children":[]},{"field":"realBegan","paramsType":"date","required":"","desc":"实际开始日期","structType":"json","sub":1,"key":"kweqyb2s8lsmedm0pa","children":[]},{"field":"realEnd","paramsType":"date","required":"","desc":"实际结束日期","structType":"json","sub":1,"key":"kweqympfb0h7cuwvrhk","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kweqzck8664cy70yxx","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwer3319sfmmlqu6bj","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:154;O:8:"stdClass":19:{s:2:"id";s:4:"1446";s:3:"doc";s:3:"438";s:6:"module";s:3:"109";s:5:"title";s:24:"获取执行版本列表";s:4:"path";s:22:"/executions/:id/builds";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2275:"[{"field":"total","paramsType":"int","required":true,"desc":"版本总数","structType":"json","sub":1,"key":"kwmyb8ah69n34ud7byj","children":[]},{"field":"builds","paramsType":"array","required":true,"desc":"版本列表","structType":"json","sub":1,"key":"kwmyfzso9xlwrewva09","children":[{"field":"id","paramsType":"int","required":true,"desc":"版本ID","structType":"json","sub":2,"key":"kwmyg8wtmjt3nozwbg","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwmygixbcmxd4muro6n","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwmyguwt460u2kk0prv","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwmyh5h4gmzu0a1wcfo","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwmytj1w34spkshhkvh","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"版本名称","structType":"json","sub":2,"key":"kwmytschv6r9wxvsyu","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"scmPath","paramsType":"string","required":false,"desc":"源代码地址","structType":"json","sub":2,"key":"kwmyu6z4bqhsow6lj85","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"filePath","paramsType":"string","required":"","desc":"下载地址","structType":"json","sub":2,"key":"kwmyup6xrfdcxg37ka9","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"date","paramsType":"date","required":true,"desc":"打包日期","structType":"json","sub":2,"key":"kwmyv13p7r29ufidypd","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"builder","paramsType":"1","required":true,"desc":"构建者","structType":"json","sub":2,"key":"kwn0gspeyiwvehtcoul","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"版本描述","structType":"json","sub":2,"key":"kwn0hyd6pgkz36ecip","parentKey":"kwmyfzso9xlwrewva09","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:155;O:8:"stdClass":19:{s:2:"id";s:4:"1447";s:3:"doc";s:3:"437";s:6:"module";s:3:"109";s:5:"title";s:24:"获取项目版本列表";s:4:"path";s:20:"/projects/:id/builds";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2275:"[{"field":"total","paramsType":"int","required":true,"desc":"版本总数","structType":"json","sub":1,"key":"kwmyb8ah69n34ud7byj","children":[]},{"field":"builds","paramsType":"array","required":true,"desc":"版本列表","structType":"json","sub":1,"key":"kwmyfzso9xlwrewva09","children":[{"field":"id","paramsType":"int","required":true,"desc":"版本ID","structType":"json","sub":2,"key":"kwmyg8wtmjt3nozwbg","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwmygixbcmxd4muro6n","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwmyguwt460u2kk0prv","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwmyh5h4gmzu0a1wcfo","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwmytj1w34spkshhkvh","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"版本名称","structType":"json","sub":2,"key":"kwmytschv6r9wxvsyu","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"scmPath","paramsType":"string","required":false,"desc":"源代码地址","structType":"json","sub":2,"key":"kwmyu6z4bqhsow6lj85","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"filePath","paramsType":"string","required":"","desc":"下载地址","structType":"json","sub":2,"key":"kwmyup6xrfdcxg37ka9","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"date","paramsType":"date","required":true,"desc":"打包日期","structType":"json","sub":2,"key":"kwmyv13p7r29ufidypd","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"builder","paramsType":"1","required":true,"desc":"构建者","structType":"json","sub":2,"key":"kwn0gspeyiwvehtcoul","parentKey":"kwmyfzso9xlwrewva09","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"版本描述","structType":"json","sub":2,"key":"kwn0hyd6pgkz36ecip","parentKey":"kwmyfzso9xlwrewva09","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:156;O:8:"stdClass":19:{s:2:"id";s:4:"1448";s:3:"doc";s:3:"482";s:6:"module";s:3:"106";s:5:"title";s:18:"获取项目详情";s:4:"path";s:13:"/projects/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2824:"[{"field":"id","paramsType":"int","required":true,"desc":"项目编号","structType":"json","sub":1,"key":"kwfo61d427ebc01qyw8","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"所属项目集","structType":"json","sub":1,"key":"kwfo750e6nu14s1mpxo","children":[]},{"field":"model","paramsType":"string","required":true,"desc":"项目模型(scrum 敏捷 | waterfall 瀑布)","structType":"json","sub":1,"key":"kwfo7gn93qxvrutdfuv","children":[]},{"field":"budget","paramsType":"int","required":true,"desc":"项目预算金额","structType":"json","sub":1,"key":"kwfosq5ey0h0ssr36vg","children":[]},{"field":"budgetUnit","paramsType":"string","required":true,"desc":"预算币种(CNY | USD)","structType":"json","sub":1,"key":"kwfosy3p0juy0e9og43l","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"项目名称","structType":"json","sub":1,"key":"kwfotny2ubdkbqbpiip","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"项目编号","structType":"json","sub":1,"key":"kwfouazlja2v88n8g5d","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwfoul4jhmzjlurvua","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwfouql1fu3zun911pt","children":[]},{"field":"realBegan","paramsType":"date","required":true,"desc":"实际开始日期","structType":"json","sub":1,"key":"kwfoutlhiryhz2e5g6","children":[]},{"field":"realEnd","paramsType":"date","required":true,"desc":"实际结束日期","structType":"json","sub":1,"key":"kwfovhzh6k9cbh96xck","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"项目状态(wait 未开始 | doing 进行中 | suspend 已挂起 | closed 已关闭)","structType":"json","sub":1,"key":"kwfow3wzv9ad5nj9k7","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"项目描述","structType":"json","sub":1,"key":"kwfoxh13qwv0h2xg86","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwfoxsionkxeggc337","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwfoy1iw9f2sicm3xcd","children":[]},{"field":"PM","paramsType":"1","required":true,"desc":"项目负责人","structType":"json","sub":1,"key":"kwfoynhiwfkyhof0x8a","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(open 公开 | private 私有)","structType":"json","sub":1,"key":"kwfoz9lmw38ehk68bh","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单","structType":"json","sub":1,"key":"kwfp0tsvhw6xxldplua","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:157;O:8:"stdClass":19:{s:2:"id";s:4:"1444";s:3:"doc";s:3:"435";s:6:"module";s:3:"109";s:5:"title";s:12:"修改版本";s:4:"path";s:11:"/builds/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:116:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1638:"[{"field":"id","paramsType":"int","required":true,"desc":"版本ID","structType":"json","sub":1,"key":"kwn2hke96i5njkoy06m","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwn3iu5ilw20yqn6gao","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwn3jaea9a00bqeziw","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属产品分支(主分支为0)","structType":"json","sub":1,"key":"kwn3jkc5xrijl3g11rg","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwn3jzf0144tenen2fal","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"版本名称","structType":"json","sub":1,"key":"kwn3kjjk0v3i8tduutf","children":[]},{"field":"scmPath","paramsType":"string","required":true,"desc":"源代码地址","structType":"json","sub":1,"key":"kwn3kyosy9ygwek0o2s","children":[]},{"field":"filePath","paramsType":"string","required":true,"desc":"下载地址","structType":"json","sub":1,"key":"kwn3l8b97lgsvxg2xd5","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"版本描述","structType":"json","sub":1,"key":"kwn3lgm8punjni3qcdc","children":[]},{"field":"builder","paramsType":"1","required":true,"desc":"构建者","structType":"json","sub":1,"key":"kwn3m6hi7t4ywwrh596","children":[]},{"field":"date","paramsType":"date","required":true,"desc":"打包日期","structType":"json","sub":1,"key":"kwn3mcpyk6lwlh5msa8","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:158;O:8:"stdClass":19:{s:2:"id";s:4:"1445";s:3:"doc";s:3:"434";s:6:"module";s:3:"109";s:5:"title";s:18:"获取版本详情";s:4:"path";s:11:"/builds/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:116:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1638:"[{"field":"id","paramsType":"int","required":true,"desc":"版本ID","structType":"json","sub":1,"key":"kwn2hke96i5njkoy06m","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwn3iu5ilw20yqn6gao","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwn3jaea9a00bqeziw","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属产品分支(主分支为0)","structType":"json","sub":1,"key":"kwn3jkc5xrijl3g11rg","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwn3jzf0144tenen2fal","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"版本名称","structType":"json","sub":1,"key":"kwn3kjjk0v3i8tduutf","children":[]},{"field":"scmPath","paramsType":"string","required":true,"desc":"源代码地址","structType":"json","sub":1,"key":"kwn3kyosy9ygwek0o2s","children":[]},{"field":"filePath","paramsType":"string","required":true,"desc":"下载地址","structType":"json","sub":1,"key":"kwn3l8b97lgsvxg2xd5","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"版本描述","structType":"json","sub":1,"key":"kwn3lgm8punjni3qcdc","children":[]},{"field":"builder","paramsType":"1","required":true,"desc":"构建者","structType":"json","sub":1,"key":"kwn3m6hi7t4ywwrh596","children":[]},{"field":"date","paramsType":"date","required":true,"desc":"打包日期","structType":"json","sub":1,"key":"kwn3mcpyk6lwlh5msa8","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:159;O:8:"stdClass":19:{s:2:"id";s:4:"1443";s:3:"doc";s:3:"436";s:6:"module";s:3:"109";s:5:"title";s:12:"创建版本";s:4:"path";s:24:"/projects/:id/executions";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:1482:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"formData","sub":1,"key":"kwn2hke2m16i7h452cb","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"formData","sub":1,"key":"kwn2l3dui8vpwwx9y8f","children":[]},{"field":"branch","paramsType":"int","required":false,"desc":"所属分支","structType":"formData","sub":1,"key":"kwn2lkz5au17o6goi1o","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"版本名称","structType":"formData","sub":1,"key":"kwn2nomwzdoima7e2hb","children":[]},{"field":"builder","paramsType":"string","required":true,"desc":"构建者","structType":"formData","sub":1,"key":"kwn36kwqb4zzjppzwv7","children":[]},{"field":"date","paramsType":"date","required":"","desc":"打包日期","structType":"formData","sub":1,"key":"kwn374he8b8lbg24sze","children":[]},{"field":"scmPath","paramsType":"string","required":"","desc":"源代码地址","structType":"formData","sub":1,"key":"kwn37q7exee3380qxw","children":[]},{"field":"filePath","paramsType":"string","required":"","desc":"下载地址","structType":"formData","sub":1,"key":"kwn38kxvzw8oql3u0qh","children":[]},{"field":"desc","paramsType":"string","required":false,"desc":"版本描述","structType":"formData","sub":1,"key":"kwn39igbbcz2nsjctqr","children":[]}],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1638:"[{"field":"id","paramsType":"int","required":true,"desc":"版本ID","structType":"json","sub":1,"key":"kwn2hke96i5njkoy06m","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwn3iu5ilw20yqn6gao","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwn3jaea9a00bqeziw","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属产品分支(主分支为0)","structType":"json","sub":1,"key":"kwn3jkc5xrijl3g11rg","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwn3jzf0144tenen2fal","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"版本名称","structType":"json","sub":1,"key":"kwn3kjjk0v3i8tduutf","children":[]},{"field":"scmPath","paramsType":"string","required":true,"desc":"源代码地址","structType":"json","sub":1,"key":"kwn3kyosy9ygwek0o2s","children":[]},{"field":"filePath","paramsType":"string","required":true,"desc":"下载地址","structType":"json","sub":1,"key":"kwn3l8b97lgsvxg2xd5","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"版本描述","structType":"json","sub":1,"key":"kwn3lgm8punjni3qcdc","children":[]},{"field":"builder","paramsType":"1","required":true,"desc":"构建者","structType":"json","sub":1,"key":"kwn3m6hi7t4ywwrh596","children":[]},{"field":"date","paramsType":"date","required":true,"desc":"打包日期","structType":"json","sub":1,"key":"kwn3mcpyk6lwlh5msa8","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:160;O:8:"stdClass":19:{s:2:"id";s:4:"1441";s:3:"doc";s:3:"480";s:6:"module";s:3:"107";s:5:"title";s:27:"获取项目的执行列表";s:4:"path";s:23:"/project/:id/executions";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2213:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwfmsr4svpcdc2c2ip","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"执行总数","structType":"json","sub":1,"key":"kwfs34t9ez00cfhwvtb","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页执行数","structType":"json","sub":1,"key":"kwfs38d1l0cv32ltd5g","children":[]},{"field":"executions","paramsType":"array","required":true,"desc":"执行列表","structType":"json","sub":1,"key":"kwfs3bkjolf2peoxqw","children":[{"field":"id","paramsType":"int","required":true,"desc":"执行ID","structType":"json","sub":2,"key":"kwfs4vl61prpc0matzc","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":2,"key":"kwfs62skb2z6s4c97b8","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":2,"key":"kwfs6fsdl1n419fikci","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":2,"key":"kwfs6s8xhzflp7mj1es","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":2,"key":"kwfs6ysbrdp5gen40zl","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"执行状态()","structType":"json","sub":2,"key":"kwfs7dvazclp95vjg7i","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwfs7xcoz84e7aykmq","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwfs81w4lltagz6uys","parentKey":"kwfs3bkjolf2peoxqw","children":[]},{"field":"progress","paramsType":"int","required":true,"desc":"当前进度","structType":"json","sub":2,"key":"kwfs8lc8in8pr5m7sib","parentKey":"kwfs3bkjolf2peoxqw","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:161;O:8:"stdClass":19:{s:2:"id";s:4:"1442";s:3:"doc";s:3:"478";s:6:"module";s:3:"107";s:5:"title";s:12:"创建执行";s:4:"path";s:24:"/projects/:id/executions";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"5";s:6:"params";s:2401:"{"header":[{"field":"Token","required":true,"desc":"认证凭证"}],"params":[{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwg1ms08tbuujh4amd","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwg1oztyy48dm8m7ykk","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwg1pb011jy7te3dhil","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwg1piwmz4iad8atw8g","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwg1po8c6g02wciwc8k","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"json","sub":1,"key":"kwg1py9vcmy6q1qt3vs","children":[]},{"field":"lifetime","paramsType":"string","required":"","desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwg1qxpt6mhzoy5sxm","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwg1rogihd6h959v8en","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"迭代负责人","structType":"json","sub":1,"key":"kwg1u5uwk6dty43r8yq","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwg1ud1wtozclb1wa7","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwg1ujvuqtad5zav3z","children":[]},{"field":"teamMembers","paramsType":"array","required":"","desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwg1ur6sq8cfjlizc8m","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"迭代描述","structType":"json","sub":1,"key":"kwg1vny7cdpckj9m7w5","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwg1wz0cs5bpn14c1x","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg21q5ul24mkz2654r","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2760:"[{"field":"id","paramsType":"int","required":true,"desc":"执行ID","structType":"json","sub":1,"key":"kwje93s0z2ssy5ly0fe","children":[]},{"field":"project","paramsType":"boolean","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwje9v54b34cthkc1of","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwjea30ar0z9hsc1urn","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwjeabewhizyxsjf4cg","children":[]},{"field":"days","paramsType":"int","required":true,"desc":"可用工作日","structType":"json","sub":1,"key":"kwjearrn1hjcssfmckq","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwjeb0e477czkhdc37b","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwjeb7kflmn5w24jp7r","children":[]},{"field":"lifetime","paramsType":"string","required":true,"desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwjebm589usadvn8bd","children":[]},{"field":"PO","paramsType":"1","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwjebvvo35mmg93g23t","children":[]},{"field":"PM","paramsType":"1","required":false,"desc":"迭代负责人","structType":"json","sub":1,"key":"kwjec64i8fbsgsk6o16","children":[]},{"field":"QD","paramsType":"1","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwjec75526g0hq0afpu","children":[]},{"field":"RD","paramsType":"1","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwjeckfrxddq94il8xn","children":[]},{"field":"teamMembers","paramsType":"array","required":true,"desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwjecwu03ma77kxt3a5","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"迭代描述","structType":"json","sub":1,"key":"kwjedoygiwsq148p2kg","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwjedzd69dldudhd355","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单,acl = private时生效","structType":"json","sub":1,"key":"kwjee3inl8cabnd73lj","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwjgyer9dnn0cdmvfbg","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwjgyibi4lkkpze9ru","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:162;O:8:"stdClass":19:{s:2:"id";s:4:"1440";s:3:"doc";s:3:"464";s:6:"module";s:3:"115";s:5:"title";s:24:"获取执行任务列表";s:4:"path";s:21:"/executions/:id/tasks";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4978:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwk22il6ih0mk45ynee","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"任务总数","structType":"json","sub":1,"key":"kwk25yw9h6c88on2gs","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页任务数","structType":"json","sub":1,"key":"kwk26cwonr1ceb1x48c","children":[]},{"field":"tasks","paramsType":"array","required":true,"desc":"任务列表","structType":"json","sub":1,"key":"kwk26oe1cfci0axln9","children":[{"field":"id","paramsType":"int","required":true,"desc":"任务ID","structType":"json","sub":2,"key":"kwk271yyl81fr3z1csq","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwk274lazo9w2l9j6n","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwk27pzko2gd2knetm","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":2,"key":"kwk280tgjkgb3bfaq4f","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"关联需求","structType":"json","sub":2,"key":"kwk28a0ibuxaqm0lsfk","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"任务名称","structType":"json","sub":2,"key":"kwk29366nqs15bgkvzf","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"json","sub":2,"key":"kwk29dnj11da7xaxn1dd","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":2,"key":"kwk2ekkj0nkpzt8y9i8","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":2,"key":"kwk2esg1kesozl3y0cr","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"left","paramsType":"float","required":true,"desc":"剩余工时","structType":"json","sub":2,"key":"kwk2f2t8bulpj1shv5i","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"deadline","paramsType":"date","required":true,"desc":"截止日期","structType":"json","sub":2,"key":"kwk2fb47qitn6rfvpl","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"consumed","paramsType":"float","required":true,"desc":"消耗工时","structType":"json","sub":2,"key":"kwk2gjlv6yypt7pdt1q","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已完成 | closed 已关闭 | cancel 已取消)","structType":"json","sub":2,"key":"kwk2h2nkp8vdklny1rb","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"任务详情","structType":"json","sub":2,"key":"kwk2iravy5agz6tuyg8","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwk2jsnk9ia94nzmczp","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwk2k5d9vo25bjb9hpc","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"assignedTo","paramsType":"1","required":true,"desc":"指派给","structType":"json","sub":2,"key":"kwk2mi8pqtelze3sods","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"estStarted","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":2,"key":"kwk2mv8g9w191nzqwd5","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"realStarted","paramsType":"datetime","required":true,"desc":"实际开始时间","structType":"json","sub":2,"key":"kwk2n31558xty9l48p6","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"finishedBy","paramsType":"1","required":false,"desc":"由谁完成","structType":"json","sub":2,"key":"kwk2rp61lk5obs480gq","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"finishedDate","paramsType":"datetime","required":false,"desc":"完成时间","structType":"json","sub":2,"key":"kwk2rq9q421wtd219ci","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"closedBy","paramsType":"1","required":false,"desc":"由谁关闭","structType":"json","sub":2,"key":"kwk2tiw1ld6srch5jl","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"closedDate","paramsType":"datetime","required":false,"desc":"关闭时间","structType":"json","sub":2,"key":"kwk2tozwkawb70vq2da","parentKey":"kwk26oe1cfci0axln9","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:163;O:8:"stdClass":19:{s:2:"id";s:4:"1439";s:3:"doc";s:3:"473";s:6:"module";s:3:"107";s:5:"title";s:18:"查看执行详情";s:4:"path";s:15:"/executions/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2713:"[{"field":"id","paramsType":"int","required":true,"desc":"执行ID","structType":"json","sub":1,"key":"kwjf8jyxc2bl5hv8aj","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwjf92n2g29wmh5ksod","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwjf93oiywvp8qfjso8","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwjf94h8eksswfob90d","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwjf94n4h5rwsrx9jav","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwjf94t8t1k232wb97k","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"json","sub":1,"key":"kwjf95ea8g3jtdwqbhm","children":[]},{"field":"lifetime","paramsType":"string","required":"","desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwjfak4falp1oiafj0r","children":[]},{"field":"PO","paramsType":"1","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwjfakg8r1npyuij5vr","children":[]},{"field":"PM","paramsType":"1","required":"","desc":"迭代负责人","structType":"json","sub":1,"key":"kwjfakm4mre55vpxd3s","children":[]},{"field":"QD","paramsType":"1","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwjfay8pduj3pwg4ni","children":[]},{"field":"RD","paramsType":"1","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwjfaye22chyvo2td35","children":[]},{"field":"teamMembers","paramsType":"array","required":"","desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwjfayiuu0rcwpgnzt","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"迭代描述","structType":"json","sub":1,"key":"kwjfbfsr0ew9qa91j58k","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwjfbfx3nzyg61vz4s","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwjfbp66qz2vh1h4ib","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwjfbpav4pod9grs3p6","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwjfdqkkbnm8q6il7rl","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:164;O:8:"stdClass":19:{s:2:"id";s:4:"1438";s:3:"doc";s:3:"464";s:6:"module";s:3:"115";s:5:"title";s:24:"获取执行任务列表";s:4:"path";s:21:"/executions/:id/tasks";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:5154:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwk22il6ih0mk45ynee","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"任务总数","structType":"json","sub":1,"key":"kwk25yw9h6c88on2gs","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页任务数","structType":"json","sub":1,"key":"kwk26cwonr1ceb1x48c","children":[]},{"field":"tasks","paramsType":"array","required":true,"desc":"任务列表","structType":"json","sub":1,"key":"kwk26oe1cfci0axln9","children":[{"field":"id","paramsType":"int","required":true,"desc":"任务ID","structType":"json","sub":2,"key":"kwk271yyl81fr3z1csq","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwk274lazo9w2l9j6n","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwk27pzko2gd2knetm","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":2,"key":"kwk280tgjkgb3bfaq4f","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"关联需求","structType":"json","sub":2,"key":"kwk28a0ibuxaqm0lsfk","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"任务名称","structType":"json","sub":2,"key":"kwk29366nqs15bgkvzf","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"json","sub":2,"key":"kwk29dnj11da7xaxn1dd","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":2,"key":"kwk2ekkj0nkpzt8y9i8","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":2,"key":"kwk2esg1kesozl3y0cr","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"left","paramsType":"float","required":true,"desc":"剩余工时","structType":"json","sub":2,"key":"kwk2f2t8bulpj1shv5i","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"deadline","paramsType":"date","required":true,"desc":"截止日期","structType":"json","sub":2,"key":"kwk2fb47qitn6rfvpl","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"consumed","paramsType":"float","required":true,"desc":"消耗工时","structType":"json","sub":2,"key":"kwk2gjlv6yypt7pdt1q","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已完成 | closed 已关闭 | cancel 已取消)","structType":"json","sub":2,"key":"kwk2h2nkp8vdklny1rb","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"任务详情","structType":"json","sub":2,"key":"kwk2iravy5agz6tuyg8","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwk2jsnk9ia94nzmczp","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwk2k5d9vo25bjb9hpc","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"assignedTo","paramsType":"1","required":true,"desc":"指派给","structType":"json","sub":2,"key":"kwk2mi8pqtelze3sods","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"estStarted","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":2,"key":"kwk2mv8g9w191nzqwd5","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"realStarted","paramsType":"datetime","required":true,"desc":"实际开始时间","structType":"json","sub":2,"key":"kwk2n31558xty9l48p6","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"finishedBy","paramsType":"1","required":false,"desc":"由谁完成","structType":"json","sub":2,"key":"kwk2rp61lk5obs480gq","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"finishedDate","paramsType":"datetime","required":false,"desc":"完成时间","structType":"json","sub":2,"key":"kwk2rq9q421wtd219ci","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"closedBy","paramsType":"1","required":false,"desc":"由谁关闭","structType":"json","sub":2,"key":"kwk2tiw1ld6srch5jl","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"closedDate","paramsType":"datetime","required":false,"desc":"关闭时间","structType":"json","sub":2,"key":"kwk2tozwkawb70vq2da","parentKey":"kwk26oe1cfci0axln9","children":[]},{"field":"mailto","paramsType":"array","required":"","desc":"抄送给","structType":"json","sub":2,"key":"kwt666j22gcx1g3sx63","parentKey":"kwk26oe1cfci0axln9","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:165;O:8:"stdClass":19:{s:2:"id";s:4:"1437";s:3:"doc";s:3:"460";s:6:"module";s:3:"115";s:5:"title";s:12:"创建任务";s:4:"path";s:21:"/executions/:id/tasks";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:2067:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"formData","sub":1,"key":"kwk2vtnfxn98pr2h8yf","children":[]},{"field":"story","paramsType":"int","required":"","desc":"关联需求","structType":"formData","sub":1,"key":"kwk2xlvcr1gkg6izip","children":[]},{"field":"fromBug","paramsType":"int","required":"","desc":"来自于Bug","structType":"formData","sub":1,"key":"kwk2xviqx2ak237g4yi","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"任务名称","structType":"formData","sub":1,"key":"kwk2yavrfjddi4941np","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"formData","sub":1,"key":"kwk2yhq6v5epv4ino7","children":[]},{"field":"assignedTo","paramsType":"array","required":true,"desc":"指派给","structType":"formData","sub":1,"key":"kwk2zis5zbu6jepnl5","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"formData","sub":1,"key":"kwk2zvwesy6jyygqm2","children":[]},{"field":"estimate","paramsType":"float","required":"","desc":"预计工时","structType":"formData","sub":1,"key":"kwk305ekgwbjv0gzb4p","children":[]},{"field":"estStarted","paramsType":"date","required":true,"desc":"预计开始日期","structType":"formData","sub":1,"key":"kwk32zmfpl4kmya3l5h","children":[]},{"field":"deadline","paramsType":"date","required":true,"desc":"预计结束日期","structType":"formData","sub":1,"key":"kwk335gooe4o9gndxb","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"formData","sub":1,"key":"kwt6a17uomk2c6xhjs","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"formData","sub":1,"key":"kwt6a1sp0c8naqpkajj","children":[]}],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4244:"[{"field":"id","paramsType":"int","required":true,"desc":"任务ID","structType":"json","sub":1,"key":"kwk2vtnjuurgha4gkcc","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属任务","structType":"json","sub":1,"key":"kwk37ng942x5k9g1xxm","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父任务","structType":"json","sub":1,"key":"kwk382nnpny9ddvyndg","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwk38e5so8kannzevsl","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwk3imzj095g74m8ff5k","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"关联需求","structType":"json","sub":1,"key":"kwk3iw6rp6bbt5gq3kh","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来源于Bug","structType":"json","sub":1,"key":"kwk3j8pscep4xnuzprg","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"任务名称","structType":"json","sub":1,"key":"kwk3mzbxzc62ksy2659","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"json","sub":1,"key":"kwk3sprxj3d2vj0mat","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk3ukxrnn0ie0rc3oh","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":1,"key":"kwk3v3epr2gpzmkdcmk","children":[]},{"field":"consumed","paramsType":"float","required":true,"desc":"消耗工时","structType":"json","sub":1,"key":"kwk3vjxjszs3uqmmvvm","children":[]},{"field":"left","paramsType":"float","required":true,"desc":"剩余工时","structType":"json","sub":1,"key":"kwk3vu4gwz2vrlwpqd","children":[]},{"field":"deadline","paramsType":"date","required":true,"desc":"预计结束日期","structType":"json","sub":1,"key":"kwk3w6k2qqt6ad9fj6f","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已完成 | closed 已关闭 | cancel 已取消)","structType":"json","sub":1,"key":"kwk3wq0acq6kcla9bxl","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"任务描述","structType":"json","sub":1,"key":"kwk3zv7ssgfg2nko2d","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwk407dr61cugmxhlyv","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwk40d9j5001v5ztro","children":[]},{"field":"assignedTo","paramsType":"1","required":true,"desc":"指派给","structType":"json","sub":1,"key":"kwk40sbi2gb6wlayec8","children":[]},{"field":"assignedDate","paramsType":"datetime","required":true,"desc":"指派时间","structType":"json","sub":1,"key":"kwk40wjuji9duwfxwg","children":[]},{"field":"estStarted","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":1,"key":"kwk41sqvjzmwj2l6k0c","children":[]},{"field":"realStarted","paramsType":"datetime","required":"","desc":"实际开始时间","structType":"json","sub":1,"key":"kwk41tggydumzmjjov","children":[]},{"field":"finishedBy","paramsType":"string","required":"","desc":"由谁完成","structType":"json","sub":1,"key":"kwk41tldxm6egute0hf","children":[]},{"field":"finishedDate","paramsType":"datetime","required":"","desc":"完成时间","structType":"json","sub":1,"key":"kwk41tq3oy1wfxwdm0a","children":[]},{"field":"closedBy","paramsType":"1","required":"","desc":"由谁关闭","structType":"json","sub":1,"key":"kwk42tximh8mftw3o2h","children":[]},{"field":"closedDate","paramsType":"datetime","required":"","desc":"关闭时间","structType":"json","sub":1,"key":"kwk42u2nz10u8prmjqe","children":[]},{"field":"team","paramsType":"array","required":true,"desc":"团队,应用于多人任务","structType":"json","sub":1,"key":"kwt8yls7al1zdn067zn","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:166;O:8:"stdClass":19:{s:2:"id";s:4:"1436";s:3:"doc";s:3:"461";s:6:"module";s:3:"115";s:5:"title";s:18:"获取任务详情";s:4:"path";s:10:"/tasks/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4095:"[{"field":"id","paramsType":"int","required":true,"desc":"任务ID","structType":"json","sub":1,"key":"kwk2vtnjuurgha4gkcc","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属任务","structType":"json","sub":1,"key":"kwk37ng942x5k9g1xxm","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父任务","structType":"json","sub":1,"key":"kwk382nnpny9ddvyndg","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwk38e5so8kannzevsl","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwk3imzj095g74m8ff5k","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"关联需求","structType":"json","sub":1,"key":"kwk3iw6rp6bbt5gq3kh","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来源于Bug","structType":"json","sub":1,"key":"kwk3j8pscep4xnuzprg","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"任务名称","structType":"json","sub":1,"key":"kwk3mzbxzc62ksy2659","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"json","sub":1,"key":"kwk3sprxj3d2vj0mat","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk3ukxrnn0ie0rc3oh","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":1,"key":"kwk3v3epr2gpzmkdcmk","children":[]},{"field":"consumed","paramsType":"float","required":true,"desc":"消耗工时","structType":"json","sub":1,"key":"kwk3vjxjszs3uqmmvvm","children":[]},{"field":"left","paramsType":"float","required":true,"desc":"剩余工时","structType":"json","sub":1,"key":"kwk3vu4gwz2vrlwpqd","children":[]},{"field":"deadline","paramsType":"date","required":true,"desc":"预计结束日期","structType":"json","sub":1,"key":"kwk3w6k2qqt6ad9fj6f","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已完成 | closed 已关闭 | cancel 已取消)","structType":"json","sub":1,"key":"kwk3wq0acq6kcla9bxl","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"任务描述","structType":"json","sub":1,"key":"kwk3zv7ssgfg2nko2d","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwk407dr61cugmxhlyv","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwk40d9j5001v5ztro","children":[]},{"field":"assignedTo","paramsType":"string","required":true,"desc":"指派给","structType":"json","sub":1,"key":"kwk40sbi2gb6wlayec8","children":[]},{"field":"assignedDate","paramsType":"datetime","required":true,"desc":"指派时间","structType":"json","sub":1,"key":"kwk40wjuji9duwfxwg","children":[]},{"field":"estStarted","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":1,"key":"kwk41sqvjzmwj2l6k0c","children":[]},{"field":"realStarted","paramsType":"datetime","required":"","desc":"实际开始时间","structType":"json","sub":1,"key":"kwk41tggydumzmjjov","children":[]},{"field":"finishedBy","paramsType":"string","required":"","desc":"由谁完成","structType":"json","sub":1,"key":"kwk41tldxm6egute0hf","children":[]},{"field":"finishedDate","paramsType":"datetime","required":"","desc":"完成时间","structType":"json","sub":1,"key":"kwk41tq3oy1wfxwdm0a","children":[]},{"field":"closedBy","paramsType":"string","required":"","desc":"由谁关闭","structType":"json","sub":1,"key":"kwk42tximh8mftw3o2h","children":[]},{"field":"closedDate","paramsType":"datetime","required":"","desc":"关闭时间","structType":"json","sub":1,"key":"kwk42u2nz10u8prmjqe","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:167;O:8:"stdClass":19:{s:2:"id";s:4:"1435";s:3:"doc";s:3:"457";s:6:"module";s:3:"115";s:5:"title";s:12:"修改任务";s:4:"path";s:10:"/tasks/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:1781:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"formData","sub":1,"key":"kwk2vtnfxn98pr2h8yf","children":[]},{"field":"story","paramsType":"int","required":"","desc":"关联需求","structType":"formData","sub":1,"key":"kwk2xlvcr1gkg6izip","children":[]},{"field":"fromBug","paramsType":"int","required":"","desc":"来自于Bug","structType":"formData","sub":1,"key":"kwk2xviqx2ak237g4yi","children":[]},{"field":"name","paramsType":"string","required":false,"desc":"任务名称","structType":"formData","sub":1,"key":"kwk2yavrfjddi4941np","children":[]},{"field":"type","paramsType":"string","required":false,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"formData","sub":1,"key":"kwk2yhq6v5epv4ino7","children":[]},{"field":"assignedTo","paramsType":"array","required":false,"desc":"指派给,[\"admin\"]","structType":"formData","sub":1,"key":"kwk2zis5zbu6jepnl5","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"formData","sub":1,"key":"kwk2zvwesy6jyygqm2","children":[]},{"field":"estimate","paramsType":"float","required":"","desc":"预计工时","structType":"formData","sub":1,"key":"kwk305ekgwbjv0gzb4p","children":[]},{"field":"estStarted","paramsType":"date","required":false,"desc":"预计开始日期","structType":"formData","sub":1,"key":"kwk32zmfpl4kmya3l5h","children":[]},{"field":"deadline","paramsType":"date","required":false,"desc":"预计结束日期","structType":"formData","sub":1,"key":"kwk335gooe4o9gndxb","children":[]}],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4075:"[{"field":"id","paramsType":"int","required":true,"desc":"任务ID","structType":"json","sub":1,"key":"kwk2vtnjuurgha4gkcc","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属任务","structType":"json","sub":1,"key":"kwk37ng942x5k9g1xxm","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父任务","structType":"json","sub":1,"key":"kwk382nnpny9ddvyndg","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwk38e5so8kannzevsl","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwk3imzj095g74m8ff5k","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"关联需求","structType":"json","sub":1,"key":"kwk3iw6rp6bbt5gq3kh","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来源于Bug","structType":"json","sub":1,"key":"kwk3j8pscep4xnuzprg","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"任务名称","structType":"json","sub":1,"key":"kwk3mzbxzc62ksy2659","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"json","sub":1,"key":"kwk3sprxj3d2vj0mat","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk3ukxrnn0ie0rc3oh","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":1,"key":"kwk3v3epr2gpzmkdcmk","children":[]},{"field":"consumed","paramsType":"float","required":true,"desc":"消耗工时","structType":"json","sub":1,"key":"kwk3vjxjszs3uqmmvvm","children":[]},{"field":"left","paramsType":"float","required":true,"desc":"剩余工时","structType":"json","sub":1,"key":"kwk3vu4gwz2vrlwpqd","children":[]},{"field":"deadline","paramsType":"date","required":true,"desc":"预计结束日期","structType":"json","sub":1,"key":"kwk3w6k2qqt6ad9fj6f","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已完成 | closed 已关闭 | cancel 已取消)","structType":"json","sub":1,"key":"kwk3wq0acq6kcla9bxl","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"任务描述","structType":"json","sub":1,"key":"kwk3zv7ssgfg2nko2d","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwk407dr61cugmxhlyv","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwk40d9j5001v5ztro","children":[]},{"field":"assignedTo","paramsType":"1","required":true,"desc":"指派给","structType":"json","sub":1,"key":"kwk40sbi2gb6wlayec8","children":[]},{"field":"assignedDate","paramsType":"datetime","required":true,"desc":"指派时间","structType":"json","sub":1,"key":"kwk40wjuji9duwfxwg","children":[]},{"field":"estStarted","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":1,"key":"kwk41sqvjzmwj2l6k0c","children":[]},{"field":"realStarted","paramsType":"datetime","required":"","desc":"实际开始时间","structType":"json","sub":1,"key":"kwk41tggydumzmjjov","children":[]},{"field":"finishedBy","paramsType":"1","required":"","desc":"由谁完成","structType":"json","sub":1,"key":"kwk41tldxm6egute0hf","children":[]},{"field":"finishedDate","paramsType":"datetime","required":"","desc":"完成时间","structType":"json","sub":1,"key":"kwk41tq3oy1wfxwdm0a","children":[]},{"field":"closedBy","paramsType":"1","required":"","desc":"由谁关闭","structType":"json","sub":1,"key":"kwk42tximh8mftw3o2h","children":[]},{"field":"closedDate","paramsType":"datetime","required":"","desc":"关闭时间","structType":"json","sub":1,"key":"kwk42u2nz10u8prmjqe","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:168;O:8:"stdClass":19:{s:2:"id";s:4:"1434";s:3:"doc";s:3:"459";s:6:"module";s:3:"114";s:5:"title";s:21:"获取产品Bug列表";s:4:"path";s:18:"/products/:id/bugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4563:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwk7eduw8zanbk9e6ht","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"Bug总数","structType":"json","sub":1,"key":"kwk7pmjg8bx9ks5nsdk","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页Bug数","structType":"json","sub":1,"key":"kwk7pp5rjiki3jhrqle","children":[]},{"field":"bugs","paramsType":"array","required":true,"desc":"Bug列表","structType":"json","sub":1,"key":"kwk7q10gli3djouo26c","children":[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":2,"key":"kwk7qqlrf6qsab9fmhm","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwk7qzuq0oj0uidcf22","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwk7rseae435am146u","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":2,"key":"kwk7s28age0knpphuk8","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwk7sbfgc2u9vfys535","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwk7ssk9hsnhc1jacyb","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"toTask","paramsType":"int","required":true,"desc":"转为任务","structType":"json","sub":2,"key":"kwk7t6cv3ijumgtosse","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"toStory","paramsType":"int","required":true,"desc":"转为需求","structType":"json","sub":2,"key":"kwk7u9hhuk9imxkru49","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":2,"key":"kwk7uqb51qjre1zitzb","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"keywords","paramsType":"string","required":true,"desc":"关键字","structType":"json","sub":2,"key":"kwk7vlp4zqjj0c4imok","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":2,"key":"kwk7vvdcae2kc4wvix9","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":2,"key":"kwk7w5ganzfmj1j1x1","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":2,"key":"kwk7wk6xujzgiw0wo48","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":2,"key":"kwk803zry1ramko62gs","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":2,"key":"kwk848lg0liivvjhbc8p","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"steps","paramsType":"string","required":true,"desc":"重现步骤","structType":"json","sub":2,"key":"kwk84q6nkrbk25cc99q","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":2,"key":"kwk857q69enhdu23efr","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":2,"key":"kwk85lg2fc6z3rexd4","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwk86fotnf13zmf0en","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwk87b3qoug8jgtbdjg","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"deadline","paramsType":"date","required":false,"desc":"截止日期","structType":"json","sub":2,"key":"kwk87tq3dxyomivkxs6","parentKey":"kwk7q10gli3djouo26c","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:169;O:8:"stdClass":19:{s:2:"id";s:4:"1433";s:3:"doc";s:3:"459";s:6:"module";s:3:"114";s:5:"title";s:21:"获取产品Bug列表";s:4:"path";s:18:"/products/:id/bugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:5844:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwk7eduw8zanbk9e6ht","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"Bug总数","structType":"json","sub":1,"key":"kwk7pmjg8bx9ks5nsdk","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页Bug数","structType":"json","sub":1,"key":"kwk7pp5rjiki3jhrqle","children":[]},{"field":"bugs","paramsType":"array","required":true,"desc":"Bug列表","structType":"json","sub":1,"key":"kwk7q10gli3djouo26c","children":[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":2,"key":"kwk7qqlrf6qsab9fmhm","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwk7qzuq0oj0uidcf22","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwk7rseae435am146u","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":2,"key":"kwk7s28age0knpphuk8","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwk7sbfgc2u9vfys535","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwk7ssk9hsnhc1jacyb","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"toTask","paramsType":"int","required":true,"desc":"转为任务","structType":"json","sub":2,"key":"kwk7t6cv3ijumgtosse","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"toStory","paramsType":"int","required":true,"desc":"转为需求","structType":"json","sub":2,"key":"kwk7u9hhuk9imxkru49","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":2,"key":"kwk7uqb51qjre1zitzb","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"keywords","paramsType":"string","required":true,"desc":"关键字","structType":"json","sub":2,"key":"kwk7vlp4zqjj0c4imok","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":2,"key":"kwk7vvdcae2kc4wvix9","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":2,"key":"kwk7w5ganzfmj1j1x1","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":2,"key":"kwk7wk6xujzgiw0wo48","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":2,"key":"kwk803zry1ramko62gs","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":2,"key":"kwk848lg0liivvjhbc8p","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"steps","paramsType":"string","required":true,"desc":"重现步骤","structType":"json","sub":2,"key":"kwk84q6nkrbk25cc99q","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":2,"key":"kwk857q69enhdu23efr","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":2,"key":"kwk85lg2fc6z3rexd4","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwk86fotnf13zmf0en","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwk87b3qoug8jgtbdjg","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"deadline","paramsType":"date","required":false,"desc":"截止日期","structType":"json","sub":2,"key":"kwk87tq3dxyomivkxs6","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"assignedTo","paramsType":"1","required":"","desc":"指派给","structType":"json","sub":2,"key":"kwtbqoa9vqb7f21srse","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"assignedDate","paramsType":"datetime","required":"","desc":"指派时间","structType":"json","sub":2,"key":"kwtbr15ttoimxdswkrp","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"resolvedBy","paramsType":"1","required":"","desc":"由谁解决","structType":"json","sub":2,"key":"kwtbrhatv8b7tmo9ku","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"resolvedDate","paramsType":"datetime","required":"","desc":"解决时间","structType":"json","sub":2,"key":"kwtbrwq0a2lla3pd2o","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"resolvedBuild","paramsType":"string","required":"","desc":"解决版本","structType":"json","sub":2,"key":"kwtbsjcl1go23ol6x9n","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"closedBy","paramsType":"1","required":"","desc":"由谁关闭","structType":"json","sub":2,"key":"kwtbsrk3rnmf8jsrllp","parentKey":"kwk7q10gli3djouo26c","children":[]},{"field":"closedDate","paramsType":"datetime","required":"","desc":"关闭时间","structType":"json","sub":2,"key":"kwtbts64oocm7bnt20m","parentKey":"kwk7q10gli3djouo26c","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:170;O:8:"stdClass":19:{s:2:"id";s:4:"1432";s:3:"doc";s:3:"456";s:6:"module";s:3:"114";s:5:"title";s:9:"创建Bug";s:4:"path";s:18:"/products/:id/bugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"5";s:6:"params";s:2501:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk8aqb89rtg6cglkie","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk8bltwrldt1wgchnm","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk8bvemkvpxfdwwxy","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk8c7sybpxtka3kowi","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwk8crrf3fiqj00xivb","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk8d0a47z72hrd0o9i","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk8ddaj9c4lek4vez","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk8dmjemjpf2bn97an","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk8f6cl5ykqt41zk7s","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk8fgo4lqfxxjvdn3e","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk8fpxtwg5me792glg","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk8g0hztx0ofv70fy","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk8gemtbllui458dm","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk8gutklfhqqj3ilkf","children":[]},{"field":"openedBuild","paramsType":"array","required":"","desc":"影响版本","structType":"json","sub":1,"key":"kwk8ib5qsuuqbsf1iur","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4317:"[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":1,"key":"kwk8xdeull75i2kwmsc","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwk8xmknfik26dkmycn","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":1,"key":"kwk922tvb2h0uasmm08","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwk92jra5kpmzq4jtj5","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwk92tvgygxc0o40qo","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwk9337e0ptpx29g28ln","children":[]},{"field":"toTask","paramsType":"boolean","required":"","desc":"转为任务","structType":"json","sub":1,"key":"kwk93c39rt0sgpm82no","children":[]},{"field":"toStory","paramsType":"boolean","required":"","desc":"转为需求","structType":"json","sub":1,"key":"kwk93grgd74t8m9nild","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk93oo1wzuqt58wwp","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键字","structType":"json","sub":1,"key":"kwk93y5cozg5crw2uyf","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk9476xpfedgaf852g","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk94fp1l7dy6hzh1qq","children":[]},{"field":"type","paramsType":"string","required":"","desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk94olautm2qx8bo0d","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk94xg2mnjnw4alypf","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk9566paqsrfqx9mk7","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk95fals8zmsirxa1","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk95o8svqhwas7tvp","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk95y26wdspfvfn33n","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwk967690ddf5geqegzg","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwk96ggevpdw00iv46o","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk96nz9ct92dakrmq","children":[]},{"field":"assignedTo","paramsType":"1","required":"","desc":"指派给","structType":"json","sub":1,"key":"kwtbxz7soft90d6fnke","children":[]},{"field":"assgnedDate","paramsType":"datetime","required":"","desc":"指派时间","structType":"json","sub":1,"key":"kwtby03fouineb88qc","children":[]},{"field":"resolvedBy","paramsType":"1","required":"","desc":"由谁解决","structType":"json","sub":1,"key":"kwtby0lkg4929a72gjs","children":[]},{"field":"resolvedDate","paramsType":"datetime","required":"","desc":"解决时间","structType":"json","sub":1,"key":"kwtbynzmtg2sre0lwps","children":[]},{"field":"resolvedBuild","paramsType":"string","required":"","desc":"解决版本","structType":"json","sub":1,"key":"kwtbyokpoegco7yc8d","children":[]},{"field":"closedBy","paramsType":"1","required":"","desc":"由谁关闭","structType":"json","sub":1,"key":"kwtc0ep34n5r0k2f8cf","children":[]},{"field":"closedDate","paramsType":"datetime","required":"","desc":"关闭时间","structType":"json","sub":1,"key":"kwtc0fquc5yf55mpcm","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:171;O:8:"stdClass":19:{s:2:"id";s:4:"1431";s:3:"doc";s:3:"456";s:6:"module";s:3:"114";s:5:"title";s:9:"创建Bug";s:4:"path";s:18:"/products/:id/bugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"6";s:6:"params";s:2501:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk8aqb89rtg6cglkie","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk8bltwrldt1wgchnm","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk8bvemkvpxfdwwxy","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk8c7sybpxtka3kowi","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwk8crrf3fiqj00xivb","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk8d0a47z72hrd0o9i","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk8ddaj9c4lek4vez","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk8dmjemjpf2bn97an","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk8f6cl5ykqt41zk7s","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk8fgo4lqfxxjvdn3e","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk8fpxtwg5me792glg","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk8g0hztx0ofv70fy","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk8gemtbllui458dm","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk8gutklfhqqj3ilkf","children":[]},{"field":"openedBuild","paramsType":"array","required":"","desc":"影响版本","structType":"json","sub":1,"key":"kwk8ib5qsuuqbsf1iur","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4317:"[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":1,"key":"kwk8xdeull75i2kwmsc","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwk8xmknfik26dkmycn","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":1,"key":"kwk922tvb2h0uasmm08","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwk92jra5kpmzq4jtj5","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwk92tvgygxc0o40qo","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwk9337e0ptpx29g28ln","children":[]},{"field":"toTask","paramsType":"boolean","required":"","desc":"转为任务","structType":"json","sub":1,"key":"kwk93c39rt0sgpm82no","children":[]},{"field":"toStory","paramsType":"boolean","required":"","desc":"转为需求","structType":"json","sub":1,"key":"kwk93grgd74t8m9nild","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk93oo1wzuqt58wwp","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键字","structType":"json","sub":1,"key":"kwk93y5cozg5crw2uyf","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk9476xpfedgaf852g","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk94fp1l7dy6hzh1qq","children":[]},{"field":"type","paramsType":"string","required":"","desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk94olautm2qx8bo0d","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk94xg2mnjnw4alypf","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk9566paqsrfqx9mk7","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk95fals8zmsirxa1","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk95o8svqhwas7tvp","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk95y26wdspfvfn33n","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwk967690ddf5geqegzg","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwk96ggevpdw00iv46o","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk96nz9ct92dakrmq","children":[]},{"field":"assignedTo","paramsType":"1","required":"","desc":"指派给","structType":"json","sub":1,"key":"kwtbxz7soft90d6fnke","children":[]},{"field":"assgnedDate","paramsType":"datetime","required":"","desc":"指派时间","structType":"json","sub":1,"key":"kwtby03fouineb88qc","children":[]},{"field":"resolvedBy","paramsType":"1","required":"","desc":"由谁解决","structType":"json","sub":1,"key":"kwtby0lkg4929a72gjs","children":[]},{"field":"resolvedDate","paramsType":"datetime","required":"","desc":"解决时间","structType":"json","sub":1,"key":"kwtbynzmtg2sre0lwps","children":[]},{"field":"resolvedBuild","paramsType":"string","required":"","desc":"解决版本","structType":"json","sub":1,"key":"kwtbyokpoegco7yc8d","children":[]},{"field":"closedBy","paramsType":"1","required":"","desc":"由谁关闭","structType":"json","sub":1,"key":"kwtc0ep34n5r0k2f8cf","children":[]},{"field":"closedDate","paramsType":"datetime","required":"","desc":"关闭时间","structType":"json","sub":1,"key":"kwtc0fquc5yf55mpcm","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:172;O:8:"stdClass":19:{s:2:"id";s:4:"1430";s:3:"doc";s:3:"456";s:6:"module";s:3:"114";s:5:"title";s:9:"创建Bug";s:4:"path";s:18:"/products/:id/bugs";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"7";s:6:"params";s:2501:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":1,"key":"kwk8aqb89rtg6cglkie","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"json","sub":1,"key":"kwk8bltwrldt1wgchnm","children":[]},{"field":"execution","paramsType":"int","required":"","desc":"所属执行","structType":"json","sub":1,"key":"kwk8bvemkvpxfdwwxy","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk8c7sybpxtka3kowi","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwk8crrf3fiqj00xivb","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk8d0a47z72hrd0o9i","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk8ddaj9c4lek4vez","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk8dmjemjpf2bn97an","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk8f6cl5ykqt41zk7s","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk8fgo4lqfxxjvdn3e","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk8fpxtwg5me792glg","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk8g0hztx0ofv70fy","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk8gemtbllui458dm","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk8gutklfhqqj3ilkf","children":[]},{"field":"openedBuild","paramsType":"array","required":"","desc":"影响版本","structType":"json","sub":1,"key":"kwk8ib5qsuuqbsf1iur","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4514:"[{"field":"id","paramsType":"int","required":true,"desc":"Bug ID","structType":"json","sub":1,"key":"kwk8xdeull75i2kwmsc","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwk8xmknfik26dkmycn","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":1,"key":"kwk922tvb2h0uasmm08","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwk92jra5kpmzq4jtj5","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwk92tvgygxc0o40qo","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwk9337e0ptpx29g28ln","children":[]},{"field":"toTask","paramsType":"boolean","required":"","desc":"转为任务","structType":"json","sub":1,"key":"kwk93c39rt0sgpm82no","children":[]},{"field":"toStory","paramsType":"boolean","required":"","desc":"转为需求","structType":"json","sub":1,"key":"kwk93grgd74t8m9nild","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"Bug标题","structType":"json","sub":1,"key":"kwk93oo1wzuqt58wwp","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键字","structType":"json","sub":1,"key":"kwk93y5cozg5crw2uyf","children":[]},{"field":"severity","paramsType":"int","required":true,"desc":"严重程度","structType":"json","sub":1,"key":"kwk9476xpfedgaf852g","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk94fp1l7dy6hzh1qq","children":[]},{"field":"type","paramsType":"string","required":"","desc":"Bug类型(codeerror 代码错误 | config 配置相关 | install 安装部署 | security 安全相关 | performance 性能问题 | standard 标准规范 | automation |测试脚本 | designdefect 设计缺陷 | others 其他)","structType":"json","sub":1,"key":"kwk94olautm2qx8bo0d","children":[]},{"field":"os","paramsType":"string","required":"","desc":"操作系统","structType":"json","sub":1,"key":"kwk94xg2mnjnw4alypf","children":[]},{"field":"browser","paramsType":"string","required":"","desc":"浏览器","structType":"json","sub":1,"key":"kwk9566paqsrfqx9mk7","children":[]},{"field":"steps","paramsType":"string","required":"","desc":"重现步骤","structType":"json","sub":1,"key":"kwk95fals8zmsirxa1","children":[]},{"field":"task","paramsType":"int","required":"","desc":"相关任务","structType":"json","sub":1,"key":"kwk95o8svqhwas7tvp","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关需求","structType":"json","sub":1,"key":"kwk95y26wdspfvfn33n","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwk967690ddf5geqegzg","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwk96ggevpdw00iv46o","children":[]},{"field":"deadline","paramsType":"date","required":"","desc":"截止日期","structType":"json","sub":1,"key":"kwk96nz9ct92dakrmq","children":[]},{"field":"assignedTo","paramsType":"1","required":"","desc":"指派给","structType":"json","sub":1,"key":"kwtbxz7soft90d6fnke","children":[]},{"field":"assgnedDate","paramsType":"datetime","required":"","desc":"指派时间","structType":"json","sub":1,"key":"kwtby03fouineb88qc","children":[]},{"field":"resolvedBy","paramsType":"1","required":"","desc":"由谁解决","structType":"json","sub":1,"key":"kwtby0lkg4929a72gjs","children":[]},{"field":"resolvedDate","paramsType":"datetime","required":"","desc":"解决时间","structType":"json","sub":1,"key":"kwtbynzmtg2sre0lwps","children":[]},{"field":"resolvedBuild","paramsType":"string","required":"","desc":"解决版本","structType":"json","sub":1,"key":"kwtbyokpoegco7yc8d","children":[]},{"field":"closedBy","paramsType":"1","required":"","desc":"由谁关闭","structType":"json","sub":1,"key":"kwtc0ep34n5r0k2f8cf","children":[]},{"field":"closedDate","paramsType":"datetime","required":"","desc":"关闭时间","structType":"json","sub":1,"key":"kwtc0fquc5yf55mpcm","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(active 激活 | resolved 已解决 | closed 已关闭)","structType":"json","sub":1,"key":"kwtdcy67h7ab3mrs7r","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:173;O:8:"stdClass":19:{s:2:"id";s:4:"1429";s:3:"doc";s:3:"452";s:6:"module";s:3:"113";s:5:"title";s:24:"获取产品用例列表";s:4:"path";s:23:"/products/:id/testcases";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4343:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwk9g1dojwbroymrcws","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"用例总数","structType":"json","sub":1,"key":"kwkahlaakbout0bp6fn","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页用例数","structType":"json","sub":1,"key":"kwkahlgmogbrc7psek","children":[]},{"field":"testcases","paramsType":"array","required":true,"desc":"用例列表","structType":"json","sub":1,"key":"kwkai7c6gyotx0jcuyo","children":[{"field":"id","paramsType":"int","required":true,"desc":"用例ID","structType":"json","sub":2,"key":"kwkaimzfdgn2x7b9m8r","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"product","paramsType":"int","required":"","desc":"所属产品","structType":"json","sub":2,"key":"kwkaiwknw27spdo17d","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":2,"key":"kwkamrbw5phoosjotue","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所有模块","structType":"json","sub":2,"key":"kwkan7k2pxrj00bk8ak","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关研发需求","structType":"json","sub":2,"key":"kwkanjh2c1x7mpvmsqo","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"storyVersion","paramsType":"int","required":"","desc":"需求版本","structType":"json","sub":2,"key":"kwkao2n2ft4n19f1jcu","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"title","paramsType":"string","required":"","desc":"用例标题","structType":"json","sub":2,"key":"kwkarhs99mt7mbrg2gs","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"precondition","paramsType":"string","required":"","desc":"前置条件","structType":"json","sub":2,"key":"kwkas0x38pi6gs6z4cj","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":2,"key":"kwkasbwzd2tn1leos8u","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":2,"key":"kwkaskmf0g3yfcecg0x","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"type","paramsType":"string","required":"","desc":"用例类型(feature 功能测试 | performance 性能测试 | config 配置相关 | install 安装部署 | security 安全相关 | interface 接口测试 | unit 单元测试 | other 其他)","structType":"json","sub":2,"key":"kwkassfkmsmqc55n94m","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"stage","paramsType":"string","required":"","desc":"适用阶段(unittest 单元测试阶段 | feature 功能测试阶段 | intergrate 集成测试阶段 | system 系统测试阶段 | smoke 冒烟测试阶段 | bvt 版本验证阶段)","structType":"json","sub":2,"key":"kwkavbir1xzs1p0zat8","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"status","paramsType":"object","required":"","desc":"状态","structType":"json","sub":2,"key":"kwkax2enp5573iuu8ba","parentKey":"kwkai7c6gyotx0jcuyo","children":[{"field":"code","paramsType":"string","required":"","desc":"状态编号","structType":"json","sub":3,"key":"kwkaxv4ydl52rkoa88q","parentKey":"kwkax2enp5573iuu8ba","children":[]},{"field":"name","paramsType":"string","required":"","desc":"状态名称","structType":"json","sub":3,"key":"kwkay6a25nug5uorjc9","parentKey":"kwkax2enp5573iuu8ba","children":[]}]},{"field":"openedBy","paramsType":"1","required":"","desc":"创建人","structType":"json","sub":2,"key":"kwkayfdu351ai2383im","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"openedDate","paramsType":"datetime","required":"","desc":"创建时间","structType":"json","sub":2,"key":"kwkayqk5u0rb5qof06m","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"fromBug","paramsType":"int","required":"","desc":"来自于Bug","structType":"json","sub":2,"key":"kwkaz9zrf2m6ossk686","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"fromCaseID","paramsType":"int","required":"","desc":"来自于用例","structType":"json","sub":2,"key":"kwkazwf5s3mg7p8fyr","parentKey":"kwkai7c6gyotx0jcuyo","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:174;O:8:"stdClass":19:{s:2:"id";s:4:"1428";s:3:"doc";s:3:"450";s:6:"module";s:3:"113";s:5:"title";s:12:"修改用例";s:4:"path";s:14:"/testcases/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:2277:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"branch","paramsType":"int","required":false,"desc":"所属分支","structType":"json","sub":1,"key":"kwkb585nh9kq7cvquwf","children":[]},{"field":"module","paramsType":"int","required":false,"desc":"所属模块","structType":"json","sub":1,"key":"kwkb5gnh9rqsunyb7w","children":[]},{"field":"story","paramsType":"int","required":false,"desc":"所属需求","structType":"json","sub":1,"key":"kwkb5vnpernt7n7qr1","children":[]},{"field":"title","paramsType":"string","required":false,"desc":"用例标题","structType":"json","sub":1,"key":"kwkb67fcgbtqwt9t1n","children":[]},{"field":"type","paramsType":"string","required":false,"desc":"用例类型(feature 功能测试 | performance 性能测试 | config 配置相关 | install 安装部署 | security 安全相关 | interface 接口测试 | unit 单元测试 | other 其他)","structType":"json","sub":1,"key":"kwkbdbba1q8y7ciotzw","children":[]},{"field":"stage","paramsType":"string","required":"","desc":"适用阶段(unittest 单元测试阶段 | feature 功能测试阶段 | intergrate 集成测试阶段 | system 系统测试阶段 | smoke 冒烟测试阶段 | bvt 版本验证阶段)","structType":"json","sub":1,"key":"kwkbgfsltq5w0sv7p9c","children":[]},{"field":"precondition","paramsType":"string","required":"","desc":"前置条件","structType":"json","sub":1,"key":"kwkbgqjsa1jgzrmg4vn","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":1,"key":"kwkbihae0iunh2kdnnxu","children":[]},{"field":"steps","paramsType":"array","required":false,"desc":"用例步骤","structType":"json","sub":1,"key":"kwkbiv37ihuyv1ugzs","children":[{"field":"desc","paramsType":"string","required":false,"desc":"步骤","structType":"json","sub":2,"key":"kwkc323gs0rax2k3dr","parentKey":"kwkbiv37ihuyv1ugzs","children":[]},{"field":"expect","paramsType":"string","required":false,"desc":"期望","structType":"json","sub":2,"key":"kwkc2unsakue1k30x9","parentKey":"kwkbiv37ihuyv1ugzs","children":[]}]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":1,"key":"kwkbjwoa4v710jbgcms","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3054:"[{"field":"id","paramsType":"int","required":true,"desc":"用例ID","structType":"json","sub":1,"key":"kwkc2rk8pm0jqqb5p4e","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwkcew5dn6k84l1b2w","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":1,"key":"kwkcfe0icj4821ilk0a","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwkcfnyket632bglf8d","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"相关需求","structType":"json","sub":1,"key":"kwkcfxczmv2ceuh1fr","children":[]},{"field":"storyVersion","paramsType":"int","required":true,"desc":"需求版本","structType":"json","sub":1,"key":"kwkcgcbnskreyy1oltq","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":1,"key":"kwkcgtezpflujhz1lg8","children":[]},{"field":"precondition","paramsType":"string","required":true,"desc":"前置条件","structType":"json","sub":1,"key":"kwkch57jxjil6a7eise","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwkchabrzuz0zbf84b","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"用例类型(feature 功能测试 | performance 性能测试 | config 配置相关 | install 安装部署 | security 安全相关 | interface 接口测试 | unit 单元测试 | other 其他)","structType":"json","sub":1,"key":"kwkchpw4m40vhbp5z9","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"适用阶段(unittest 单元测试阶段 | feature 功能测试阶段 | intergrate 集成测试阶段 | system 系统测试阶段 | smoke 冒烟测试阶段 | bvt 版本验证阶段)","structType":"json","sub":1,"key":"kwkcihgaceclorkxpy","children":[]},{"field":"steps","paramsType":"array","required":true,"desc":"用例步骤列表","structType":"json","sub":1,"key":"kwkcissin2l8deqtjo","children":[{"field":"desc","paramsType":"string","required":true,"desc":"步骤","structType":"json","sub":2,"key":"kwkck2mbvdyprzp4ji","parentKey":"kwkcissin2l8deqtjo","children":[]},{"field":"expect","paramsType":"string","required":true,"desc":"期望","structType":"json","sub":2,"key":"kwkcjt8o3jey849nf2n","parentKey":"kwkcissin2l8deqtjo","children":[]}]},{"field":"fromBug","paramsType":"int","required":"","desc":"来自于Bug","structType":"json","sub":1,"key":"kwkcm29boc0ev1phqul","children":[]},{"field":"fromCaseID","paramsType":"int","required":"","desc":"来自于用例","structType":"json","sub":1,"key":"kwkcm7yt26ijdjj8rum","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwkcmxk7j2t3yftrf7","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwkcmxxoua9sk0sgagd","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:175;O:8:"stdClass":19:{s:2:"id";s:4:"1427";s:3:"doc";s:3:"433";s:6:"module";s:3:"110";s:5:"title";s:21:"获取测试单列表";s:4:"path";s:10:"/testtasks";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:459:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[{"field":"page","required":false,"desc":"当前页数,默认为1"},{"field":"limit","required":false,"desc":"每页测试单数,默认20个"},{"field":"order","required":false,"desc":"排序,默认 id_desc 按照id倒序"},{"field":"product","required":"","desc":"所属产品"},{"field":"branch","required":"","desc":"所属分支"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3134:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页面","structType":"json","sub":1,"key":"kwo8ucgi1qbiaae0r5g","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"Bug总数","structType":"json","sub":1,"key":"kwo8ylqaacg8y7cb8b","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页Bug数","structType":"json","sub":1,"key":"kwo9046hkmpcyzx2v4g","children":[]},{"field":"testtasks","paramsType":"array","required":true,"desc":"测试单列表","structType":"json","sub":1,"key":"kwo90jo2wiqkcj2scf","children":[{"field":"id","paramsType":"int","required":true,"desc":"测试单编号","structType":"json","sub":2,"key":"kwo9188usj7n1ypugb8","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwo91fs9wlmq36edrq","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwo91gbs4lbogx6x3n7","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"测试单名称","structType":"json","sub":2,"key":"kwo91goa75b2azrowyj","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwo923z994jrii35ild","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"build","paramsType":"int","required":true,"desc":"所属版本","structType":"json","sub":2,"key":"kwo9244im88g3ytyoji","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"type","paramsType":"string","required":"","desc":"类型","structType":"json","sub":2,"key":"kwo92gxzu39f8r2oec8","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"owner","paramsType":"string","required":"","desc":"负责人","structType":"json","sub":2,"key":"kwo92hhy3l0aft9p0ws","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":2,"key":"kwo93wl5werxqr8dobr","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"开始日期","structType":"json","sub":2,"key":"kwo94u9sz3j1xwiusrl","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"end","paramsType":"date","required":"","desc":"结束日期","structType":"json","sub":2,"key":"kwo950hwe55wyfih99t","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"描述","structType":"json","sub":2,"key":"kwo95vdgd2ftem8xbxq","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已关闭 | blocked 被阻塞)","structType":"json","sub":2,"key":"kwo968gmepovbs7hvxu","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwo986kmt9w834kdmzs","parentKey":"kwo90jo2wiqkcj2scf","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:176;O:8:"stdClass":19:{s:2:"id";s:4:"1426";s:3:"doc";s:3:"433";s:6:"module";s:3:"110";s:5:"title";s:21:"获取测试单列表";s:4:"path";s:10:"/testtasks";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"5";s:6:"params";s:459:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[{"field":"page","required":false,"desc":"当前页数,默认为1"},{"field":"limit","required":false,"desc":"每页测试单数,默认20个"},{"field":"order","required":false,"desc":"排序,默认 id_desc 按照id倒序"},{"field":"product","required":"","desc":"所属产品"},{"field":"branch","required":"","desc":"所属分支"}]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3129:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页面","structType":"json","sub":1,"key":"kwo8ucgi1qbiaae0r5g","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"Bug总数","structType":"json","sub":1,"key":"kwo8ylqaacg8y7cb8b","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页Bug数","structType":"json","sub":1,"key":"kwo9046hkmpcyzx2v4g","children":[]},{"field":"testtasks","paramsType":"array","required":true,"desc":"测试单列表","structType":"json","sub":1,"key":"kwo90jo2wiqkcj2scf","children":[{"field":"id","paramsType":"int","required":true,"desc":"测试单编号","structType":"json","sub":2,"key":"kwo9188usj7n1ypugb8","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwo91fs9wlmq36edrq","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwo91gbs4lbogx6x3n7","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"测试单名称","structType":"json","sub":2,"key":"kwo91goa75b2azrowyj","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwo923z994jrii35ild","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"build","paramsType":"int","required":true,"desc":"所属版本","structType":"json","sub":2,"key":"kwo9244im88g3ytyoji","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"type","paramsType":"string","required":"","desc":"类型","structType":"json","sub":2,"key":"kwo92gxzu39f8r2oec8","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"owner","paramsType":"1","required":"","desc":"负责人","structType":"json","sub":2,"key":"kwo92hhy3l0aft9p0ws","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":2,"key":"kwo93wl5werxqr8dobr","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"开始日期","structType":"json","sub":2,"key":"kwo94u9sz3j1xwiusrl","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"end","paramsType":"date","required":"","desc":"结束日期","structType":"json","sub":2,"key":"kwo950hwe55wyfih99t","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"描述","structType":"json","sub":2,"key":"kwo95vdgd2ftem8xbxq","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已关闭 | blocked 被阻塞)","structType":"json","sub":2,"key":"kwo968gmepovbs7hvxu","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwo986kmt9w834kdmzs","parentKey":"kwo90jo2wiqkcj2scf","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:177;O:8:"stdClass":19:{s:2:"id";s:4:"1424";s:3:"doc";s:3:"429";s:6:"module";s:3:"110";s:5:"title";s:21:"获取测试单详情";s:4:"path";s:14:"/testtasks/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1844:"[{"field":"id","paramsType":"int","required":true,"desc":"测试单编号","structType":"json","sub":1,"key":"kwohs2y3qvmtjra64a","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwoi42b454iu4jm0gy2","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwoi4d86f1dtrl88ivw","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"测试单名称","structType":"json","sub":1,"key":"kwoi4y4umklckqtw02s","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwoi5dao0i9y2m9l7byb","children":[]},{"field":"build","paramsType":"int","required":true,"desc":"所属版本","structType":"json","sub":1,"key":"kwoi5pkrmti70ofie28","children":[]},{"field":"type","paramsType":"string","required":"","desc":"类型(integrate 集成测试 | system 系统测试 | acceptance 验收测试 | performance 性能测试 | safety 安全测试)","structType":"json","sub":1,"key":"kwoi60vq1qds4eic0tz","children":[]},{"field":"owner","paramsType":"1","required":"","desc":"负责人","structType":"json","sub":1,"key":"kwoi9orjbpmdakv07yl","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":1,"key":"kwoigqrt0dz13j7aaq4","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"开始日期","structType":"json","sub":1,"key":"kwoih8m0gxlep05qzd","children":[]},{"field":"end","paramsType":"date","required":"","desc":"结束日期","structType":"json","sub":1,"key":"kwoihh018oo0afnumpa","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"描述","structType":"json","sub":1,"key":"kwoihnqfavvu8h5qvgw","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:178;O:8:"stdClass":19:{s:2:"id";s:4:"1425";s:3:"doc";s:3:"431";s:6:"module";s:3:"110";s:5:"title";s:24:"获取项目的测试单";s:4:"path";s:23:"/projects/:id/testtasks";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3129:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页面","structType":"json","sub":1,"key":"kwo8ucgi1qbiaae0r5g","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"Bug总数","structType":"json","sub":1,"key":"kwo8ylqaacg8y7cb8b","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页Bug数","structType":"json","sub":1,"key":"kwo9046hkmpcyzx2v4g","children":[]},{"field":"testtasks","paramsType":"array","required":true,"desc":"测试单列表","structType":"json","sub":1,"key":"kwo90jo2wiqkcj2scf","children":[{"field":"id","paramsType":"int","required":true,"desc":"测试单编号","structType":"json","sub":2,"key":"kwo9188usj7n1ypugb8","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":2,"key":"kwo91fs9wlmq36edrq","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwo91gbs4lbogx6x3n7","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"测试单名称","structType":"json","sub":2,"key":"kwo91goa75b2azrowyj","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":2,"key":"kwo923z994jrii35ild","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"build","paramsType":"int","required":true,"desc":"所属版本","structType":"json","sub":2,"key":"kwo9244im88g3ytyoji","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"type","paramsType":"string","required":"","desc":"类型","structType":"json","sub":2,"key":"kwo92gxzu39f8r2oec8","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"owner","paramsType":"1","required":"","desc":"负责人","structType":"json","sub":2,"key":"kwo92hhy3l0aft9p0ws","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"json","sub":2,"key":"kwo93wl5werxqr8dobr","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"begin","paramsType":"date","required":"","desc":"开始日期","structType":"json","sub":2,"key":"kwo94u9sz3j1xwiusrl","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"end","paramsType":"date","required":"","desc":"结束日期","structType":"json","sub":2,"key":"kwo950hwe55wyfih99t","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"描述","structType":"json","sub":2,"key":"kwo95vdgd2ftem8xbxq","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已关闭 | blocked 被阻塞)","structType":"json","sub":2,"key":"kwo968gmepovbs7hvxu","parentKey":"kwo90jo2wiqkcj2scf","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":2,"key":"kwo986kmt9w834kdmzs","parentKey":"kwo90jo2wiqkcj2scf","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:179;O:8:"stdClass":19:{s:2:"id";s:4:"1422";s:3:"doc";s:3:"449";s:6:"module";s:3:"113";s:5:"title";s:18:"获取用例详情";s:4:"path";s:14:"/testcases/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"2";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:3271:"[{"field":"id","paramsType":"int","required":true,"desc":"用例ID","structType":"json","sub":1,"key":"kwkc2rk8pm0jqqb5p4e","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwkcew5dn6k84l1b2w","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属分支","structType":"json","sub":1,"key":"kwkcfe0icj4821ilk0a","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwkcfnyket632bglf8d","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"相关需求","structType":"json","sub":1,"key":"kwkcfxczmv2ceuh1fr","children":[]},{"field":"storyVersion","paramsType":"int","required":true,"desc":"需求版本","structType":"json","sub":1,"key":"kwkcgcbnskreyy1oltq","children":[]},{"field":"title","paramsType":"string","required":true,"desc":"需求标题","structType":"json","sub":1,"key":"kwkcgtezpflujhz1lg8","children":[]},{"field":"precondition","paramsType":"string","required":true,"desc":"前置条件","structType":"json","sub":1,"key":"kwkch57jxjil6a7eise","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwkchabrzuz0zbf84b","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"用例类型(feature 功能测试 | performance 性能测试 | config 配置相关 | install 安装部署 | security 安全相关 | interface 接口测试 | unit 单元测试 | other 其他)","structType":"json","sub":1,"key":"kwkchpw4m40vhbp5z9","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"适用阶段(unittest 单元测试阶段 | feature 功能测试阶段 | intergrate 集成测试阶段 | system 系统测试阶段 | smoke 冒烟测试阶段 | bvt 版本验证阶段)","structType":"json","sub":1,"key":"kwkcihgaceclorkxpy","children":[]},{"field":"steps","paramsType":"array","required":true,"desc":"用例步骤列表","structType":"json","sub":1,"key":"kwkcissin2l8deqtjo","children":[{"field":"desc","paramsType":"string","required":true,"desc":"步骤","structType":"json","sub":2,"key":"kwkck2mbvdyprzp4ji","parentKey":"kwkcissin2l8deqtjo","children":[]},{"field":"expect","paramsType":"string","required":true,"desc":"期望","structType":"json","sub":2,"key":"kwkcjt8o3jey849nf2n","parentKey":"kwkcissin2l8deqtjo","children":[]}]},{"field":"fromBug","paramsType":"int","required":"","desc":"来自于Bug","structType":"json","sub":1,"key":"kwkcm29boc0ev1phqul","children":[]},{"field":"fromCaseID","paramsType":"int","required":"","desc":"来自于用例","structType":"json","sub":1,"key":"kwkcm7yt26ijdjj8rum","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwkcmxk7j2t3yftrf7","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwkcmxxoua9sk0sgagd","children":[]},{"field":"status","paramsType":"string","required":"","desc":"状态(wait 待评审 | normal 正常 | blocked 被阻塞 | investigate 研究中)","structType":"json","sub":1,"key":"kwtxzea0ytpl9vcbwgf","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:180;O:8:"stdClass":19:{s:2:"id";s:4:"1423";s:3:"doc";s:3:"452";s:6:"module";s:3:"113";s:5:"title";s:24:"获取产品用例列表";s:4:"path";s:23:"/products/:id/testcases";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"GET";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:120:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4076:"[{"field":"page","paramsType":"int","required":true,"desc":"当前页数","structType":"json","sub":1,"key":"kwk9g1dojwbroymrcws","children":[]},{"field":"total","paramsType":"int","required":true,"desc":"用例总数","structType":"json","sub":1,"key":"kwkahlaakbout0bp6fn","children":[]},{"field":"limit","paramsType":"int","required":true,"desc":"每页用例数","structType":"json","sub":1,"key":"kwkahlgmogbrc7psek","children":[]},{"field":"testcases","paramsType":"array","required":true,"desc":"用例列表","structType":"json","sub":1,"key":"kwkai7c6gyotx0jcuyo","children":[{"field":"id","paramsType":"int","required":true,"desc":"用例ID","structType":"json","sub":2,"key":"kwkaimzfdgn2x7b9m8r","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":2,"key":"kwkaiwknw27spdo17d","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"branch","paramsType":"int","required":"","desc":"所属分支","structType":"json","sub":2,"key":"kwkamrbw5phoosjotue","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"module","paramsType":"int","required":"","desc":"所有模块","structType":"json","sub":2,"key":"kwkan7k2pxrj00bk8ak","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"story","paramsType":"int","required":"","desc":"相关研发需求","structType":"json","sub":2,"key":"kwkanjh2c1x7mpvmsqo","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"storyVersion","paramsType":"int","required":"","desc":"需求版本","structType":"json","sub":2,"key":"kwkao2n2ft4n19f1jcu","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"title","paramsType":"string","required":"","desc":"用例标题","structType":"json","sub":2,"key":"kwkarhs99mt7mbrg2gs","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"precondition","paramsType":"string","required":"","desc":"前置条件","structType":"json","sub":2,"key":"kwkas0x38pi6gs6z4cj","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"keywords","paramsType":"string","required":"","desc":"关键词","structType":"json","sub":2,"key":"kwkasbwzd2tn1leos8u","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":2,"key":"kwkaskmf0g3yfcecg0x","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"用例类型(feature 功能测试 | performance 性能测试 | config 配置相关 | install 安装部署 | security 安全相关 | interface 接口测试 | unit 单元测试 | other 其他)","structType":"json","sub":2,"key":"kwkassfkmsmqc55n94m","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"stage","paramsType":"string","required":true,"desc":"适用阶段(unittest 单元测试阶段 | feature 功能测试阶段 | intergrate 集成测试阶段 | system 系统测试阶段 | smoke 冒烟测试阶段 | bvt 版本验证阶段)","structType":"json","sub":2,"key":"kwkavbir1xzs1p0zat8","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 待评审 | normal 正常 | blocked 被阻塞 | investigate 研究中)","structType":"json","sub":2,"key":"kwkax2enp5573iuu8ba","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":2,"key":"kwkayfdu351ai2383im","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":2,"key":"kwkayqk5u0rb5qof06m","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"fromBug","paramsType":"int","required":"","desc":"来自于Bug","structType":"json","sub":2,"key":"kwkaz9zrf2m6ossk686","parentKey":"kwkai7c6gyotx0jcuyo","children":[]},{"field":"fromCaseID","paramsType":"int","required":"","desc":"来自于用例","structType":"json","sub":2,"key":"kwkazwf5s3mg7p8fyr","parentKey":"kwkai7c6gyotx0jcuyo","children":[]}]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:181;O:8:"stdClass":19:{s:2:"id";s:4:"1418";s:3:"doc";s:3:"423";s:6:"module";s:3:"108";s:5:"title";s:12:"创建用户";s:4:"path";s:6:"/users";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"1";s:6:"params";s:777:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"account","paramsType":"string","required":true,"desc":"账号","structType":"json","sub":1,"key":"l41zlm7syi7tpslnib","children":[]},{"field":"password","paramsType":"string","required":true,"desc":"密码","structType":"json","sub":1,"key":"l41zteb0u7pqb5432d","children":[]},{"field":"realname","paramsType":"string","required":"","desc":"真实姓名","structType":"json","sub":1,"key":"l41zthpk4jhr9vixiz3","children":[]},{"field":"visions","paramsType":"array","required":"","desc":"界面 [“rnd”, “lite”],(研发综合界面 rnd, 运营管理界面 lite)。默认是rnd","structType":"json","sub":1,"key":"l41ztwgamfcn0dxx40s","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:136:"{"account": "usertest", "password": "123qwe!@#", "realname": "测试用户"}";s:15:"responseExample";s:1648:"{ "id": 8, "company": 0, "type": "inside", @@ -415,4 +415,4 @@ a:185:{i:0;O:8:"stdClass":19:{s:2:"id";s:4:"1602";s:3:"doc";s:3:"498";s:6:"modul "deleted": "0", "clientStatus": "offline", "clientLang": "zh-cn" -}";s:8:"response";s:907:"[{"field":"id","paramsType":"int","required":true,"desc":"用户id","structType":"json","sub":1,"key":"l41zlm7x9w72ahehfvi","children":[]},{"field":"account","paramsType":"string","required":true,"desc":"登录名","structType":"json","sub":1,"key":"l420073u3zm6mcp1t79","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"内部用户 inside, 外部用户 outside","structType":"json","sub":1,"key":"l41zy79w4kmzkxsv9tp","children":[]},{"field":"gender","paramsType":"string","required":true,"desc":"f 女性, m 男性","structType":"json","sub":1,"key":"l41zypdr7jz9gutju1f","children":[]},{"field":"dept","paramsType":"int","required":"","desc":"部门ID","structType":"json","sub":1,"key":"l41zzkudg6597xn5s6u","children":[]},{"field":"realname","paramsType":"string","required":false,"desc":"真实姓名","structType":"json","sub":1,"key":"l41zzx8g3lx8dwwm0ml","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:182;O:8:"stdClass":19:{s:2:"id";s:4:"1420";s:3:"doc";s:3:"472";s:6:"module";s:3:"107";s:5:"title";s:12:"修改执行";s:4:"path";s:15:"/executions/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"5";s:6:"params";s:2401:"{"header":[{"field":"Token","required":true,"desc":"认证凭证"}],"params":[{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwg1ms08tbuujh4amd","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwg1oztyy48dm8m7ykk","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwg1pb011jy7te3dhil","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwg1piwmz4iad8atw8g","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwg1po8c6g02wciwc8k","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"json","sub":1,"key":"kwg1py9vcmy6q1qt3vs","children":[]},{"field":"lifetime","paramsType":"string","required":"","desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwg1qxpt6mhzoy5sxm","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwg1rogihd6h959v8en","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"迭代负责人","structType":"json","sub":1,"key":"kwg1u5uwk6dty43r8yq","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwg1ud1wtozclb1wa7","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwg1ujvuqtad5zav3z","children":[]},{"field":"teamMembers","paramsType":"array","required":"","desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwg1ur6sq8cfjlizc8m","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"迭代描述","structType":"json","sub":1,"key":"kwg1vny7cdpckj9m7w5","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwg1wz0cs5bpn14c1x","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg21q5ul24mkz2654r","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2780:"[{"field":"id","paramsType":"int","required":true,"desc":"执行ID","structType":"json","sub":1,"key":"kwje93s0z2ssy5ly0fe","children":[]},{"field":"project","paramsType":"boolean","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwje9v54b34cthkc1of","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwjea30ar0z9hsc1urn","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwjeabewhizyxsjf4cg","children":[]},{"field":"days","paramsType":"int","required":true,"desc":"可用工作日","structType":"json","sub":1,"key":"kwjearrn1hjcssfmckq","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwjeb0e477czkhdc37b","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwjeb7kflmn5w24jp7r","children":[]},{"field":"lifetime","paramsType":"string","required":true,"desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwjebm589usadvn8bd","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwjebvvo35mmg93g23t","children":[]},{"field":"PM","paramsType":"string","required":false,"desc":"迭代负责人","structType":"json","sub":1,"key":"kwjec64i8fbsgsk6o16","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwjec75526g0hq0afpu","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwjeckfrxddq94il8xn","children":[]},{"field":"teamMembers","paramsType":"array","required":true,"desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwjecwu03ma77kxt3a5","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"迭代描述","structType":"json","sub":1,"key":"kwjedoygiwsq148p2kg","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwjedzd69dldudhd355","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单,acl = private时生效","structType":"json","sub":1,"key":"kwjee3inl8cabnd73lj","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwjgxee7xz31l6mlr38","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwjgxmx4kfy4ru55g7","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:183;O:8:"stdClass":19:{s:2:"id";s:4:"1421";s:3:"doc";s:3:"436";s:6:"module";s:3:"109";s:5:"title";s:12:"创建版本";s:4:"path";s:20:"/projects/:id/builds";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:1482:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"formData","sub":1,"key":"kwn2hke2m16i7h452cb","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"formData","sub":1,"key":"kwn2l3dui8vpwwx9y8f","children":[]},{"field":"branch","paramsType":"int","required":false,"desc":"所属分支","structType":"formData","sub":1,"key":"kwn2lkz5au17o6goi1o","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"版本名称","structType":"formData","sub":1,"key":"kwn2nomwzdoima7e2hb","children":[]},{"field":"builder","paramsType":"string","required":true,"desc":"构建者","structType":"formData","sub":1,"key":"kwn36kwqb4zzjppzwv7","children":[]},{"field":"date","paramsType":"date","required":"","desc":"打包日期","structType":"formData","sub":1,"key":"kwn374he8b8lbg24sze","children":[]},{"field":"scmPath","paramsType":"string","required":"","desc":"源代码地址","structType":"formData","sub":1,"key":"kwn37q7exee3380qxw","children":[]},{"field":"filePath","paramsType":"string","required":"","desc":"下载地址","structType":"formData","sub":1,"key":"kwn38kxvzw8oql3u0qh","children":[]},{"field":"desc","paramsType":"string","required":false,"desc":"版本描述","structType":"formData","sub":1,"key":"kwn39igbbcz2nsjctqr","children":[]}],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1638:"[{"field":"id","paramsType":"int","required":true,"desc":"版本ID","structType":"json","sub":1,"key":"kwn2hke96i5njkoy06m","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwn3iu5ilw20yqn6gao","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwn3jaea9a00bqeziw","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属产品分支(主分支为0)","structType":"json","sub":1,"key":"kwn3jkc5xrijl3g11rg","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwn3jzf0144tenen2fal","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"版本名称","structType":"json","sub":1,"key":"kwn3kjjk0v3i8tduutf","children":[]},{"field":"scmPath","paramsType":"string","required":true,"desc":"源代码地址","structType":"json","sub":1,"key":"kwn3kyosy9ygwek0o2s","children":[]},{"field":"filePath","paramsType":"string","required":true,"desc":"下载地址","structType":"json","sub":1,"key":"kwn3l8b97lgsvxg2xd5","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"版本描述","structType":"json","sub":1,"key":"kwn3lgm8punjni3qcdc","children":[]},{"field":"builder","paramsType":"1","required":true,"desc":"构建者","structType":"json","sub":1,"key":"kwn3m6hi7t4ywwrh596","children":[]},{"field":"date","paramsType":"date","required":true,"desc":"打包日期","structType":"json","sub":1,"key":"kwn3mcpyk6lwlh5msa8","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:184;O:8:"stdClass":19:{s:2:"id";s:4:"1419";s:3:"doc";s:3:"457";s:6:"module";s:3:"115";s:5:"title";s:12:"修改任务";s:4:"path";s:10:"/tasks/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:1781:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"formData","sub":1,"key":"kwk2vtnfxn98pr2h8yf","children":[]},{"field":"story","paramsType":"int","required":"","desc":"关联需求","structType":"formData","sub":1,"key":"kwk2xlvcr1gkg6izip","children":[]},{"field":"fromBug","paramsType":"int","required":"","desc":"来自于Bug","structType":"formData","sub":1,"key":"kwk2xviqx2ak237g4yi","children":[]},{"field":"name","paramsType":"string","required":false,"desc":"任务名称","structType":"formData","sub":1,"key":"kwk2yavrfjddi4941np","children":[]},{"field":"type","paramsType":"string","required":false,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"formData","sub":1,"key":"kwk2yhq6v5epv4ino7","children":[]},{"field":"assignedTo","paramsType":"array","required":false,"desc":"指派给,[\"admin\"]","structType":"formData","sub":1,"key":"kwk2zis5zbu6jepnl5","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"formData","sub":1,"key":"kwk2zvwesy6jyygqm2","children":[]},{"field":"estimate","paramsType":"float","required":"","desc":"预计工时","structType":"formData","sub":1,"key":"kwk305ekgwbjv0gzb4p","children":[]},{"field":"estStarted","paramsType":"date","required":false,"desc":"预计开始日期","structType":"formData","sub":1,"key":"kwk32zmfpl4kmya3l5h","children":[]},{"field":"deadline","paramsType":"date","required":false,"desc":"预计结束日期","structType":"formData","sub":1,"key":"kwk335gooe4o9gndxb","children":[]}],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4075:"[{"field":"id","paramsType":"int","required":true,"desc":"任务ID","structType":"json","sub":1,"key":"kwk2vtnjuurgha4gkcc","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属任务","structType":"json","sub":1,"key":"kwk37ng942x5k9g1xxm","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父任务","structType":"json","sub":1,"key":"kwk382nnpny9ddvyndg","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwk38e5so8kannzevsl","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwk3imzj095g74m8ff5k","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"关联需求","structType":"json","sub":1,"key":"kwk3iw6rp6bbt5gq3kh","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来源于Bug","structType":"json","sub":1,"key":"kwk3j8pscep4xnuzprg","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"任务名称","structType":"json","sub":1,"key":"kwk3mzbxzc62ksy2659","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"json","sub":1,"key":"kwk3sprxj3d2vj0mat","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk3ukxrnn0ie0rc3oh","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":1,"key":"kwk3v3epr2gpzmkdcmk","children":[]},{"field":"consumed","paramsType":"float","required":true,"desc":"消耗工时","structType":"json","sub":1,"key":"kwk3vjxjszs3uqmmvvm","children":[]},{"field":"left","paramsType":"float","required":true,"desc":"剩余工时","structType":"json","sub":1,"key":"kwk3vu4gwz2vrlwpqd","children":[]},{"field":"deadline","paramsType":"date","required":true,"desc":"预计结束日期","structType":"json","sub":1,"key":"kwk3w6k2qqt6ad9fj6f","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已完成 | closed 已关闭 | cancel 已取消)","structType":"json","sub":1,"key":"kwk3wq0acq6kcla9bxl","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"任务描述","structType":"json","sub":1,"key":"kwk3zv7ssgfg2nko2d","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwk407dr61cugmxhlyv","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwk40d9j5001v5ztro","children":[]},{"field":"assignedTo","paramsType":"1","required":true,"desc":"指派给","structType":"json","sub":1,"key":"kwk40sbi2gb6wlayec8","children":[]},{"field":"assignedDate","paramsType":"datetime","required":true,"desc":"指派时间","structType":"json","sub":1,"key":"kwk40wjuji9duwfxwg","children":[]},{"field":"estStarted","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":1,"key":"kwk41sqvjzmwj2l6k0c","children":[]},{"field":"realStarted","paramsType":"datetime","required":"","desc":"实际开始时间","structType":"json","sub":1,"key":"kwk41tggydumzmjjov","children":[]},{"field":"finishedBy","paramsType":"1","required":"","desc":"由谁完成","structType":"json","sub":1,"key":"kwk41tldxm6egute0hf","children":[]},{"field":"finishedDate","paramsType":"datetime","required":"","desc":"完成时间","structType":"json","sub":1,"key":"kwk41tq3oy1wfxwdm0a","children":[]},{"field":"closedBy","paramsType":"1","required":"","desc":"由谁关闭","structType":"json","sub":1,"key":"kwk42tximh8mftw3o2h","children":[]},{"field":"closedDate","paramsType":"datetime","required":"","desc":"关闭时间","structType":"json","sub":1,"key":"kwk42u2nz10u8prmjqe","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}} \ No newline at end of file +}";s:8:"response";s:907:"[{"field":"id","paramsType":"int","required":true,"desc":"用户id","structType":"json","sub":1,"key":"l41zlm7x9w72ahehfvi","children":[]},{"field":"account","paramsType":"string","required":true,"desc":"登录名","structType":"json","sub":1,"key":"l420073u3zm6mcp1t79","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"内部用户 inside, 外部用户 outside","structType":"json","sub":1,"key":"l41zy79w4kmzkxsv9tp","children":[]},{"field":"gender","paramsType":"string","required":true,"desc":"f 女性, m 男性","structType":"json","sub":1,"key":"l41zypdr7jz9gutju1f","children":[]},{"field":"dept","paramsType":"int","required":"","desc":"部门ID","structType":"json","sub":1,"key":"l41zzkudg6597xn5s6u","children":[]},{"field":"realname","paramsType":"string","required":false,"desc":"真实姓名","structType":"json","sub":1,"key":"l41zzx8g3lx8dwwm0ml","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:182;O:8:"stdClass":19:{s:2:"id";s:4:"1420";s:3:"doc";s:3:"472";s:6:"module";s:3:"107";s:5:"title";s:12:"修改执行";s:4:"path";s:15:"/executions/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"5";s:6:"params";s:2401:"{"header":[{"field":"Token","required":true,"desc":"认证凭证"}],"params":[{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwg1ms08tbuujh4amd","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwg1oztyy48dm8m7ykk","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwg1pb011jy7te3dhil","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwg1piwmz4iad8atw8g","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwg1po8c6g02wciwc8k","children":[]},{"field":"days","paramsType":"int","required":"","desc":"可用工作日","structType":"json","sub":1,"key":"kwg1py9vcmy6q1qt3vs","children":[]},{"field":"lifetime","paramsType":"string","required":"","desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwg1qxpt6mhzoy5sxm","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwg1rogihd6h959v8en","children":[]},{"field":"PM","paramsType":"string","required":"","desc":"迭代负责人","structType":"json","sub":1,"key":"kwg1u5uwk6dty43r8yq","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwg1ud1wtozclb1wa7","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwg1ujvuqtad5zav3z","children":[]},{"field":"teamMembers","paramsType":"array","required":"","desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwg1ur6sq8cfjlizc8m","children":[]},{"field":"desc","paramsType":"string","required":"","desc":"迭代描述","structType":"json","sub":1,"key":"kwg1vny7cdpckj9m7w5","children":[]},{"field":"acl","paramsType":"string","required":"","desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwg1wz0cs5bpn14c1x","children":[]},{"field":"whitelist","paramsType":"array","required":"","desc":"白名单","structType":"json","sub":1,"key":"kwg21q5ul24mkz2654r","children":[]}],"paramsType":"json","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:2780:"[{"field":"id","paramsType":"int","required":true,"desc":"执行ID","structType":"json","sub":1,"key":"kwje93s0z2ssy5ly0fe","children":[]},{"field":"project","paramsType":"boolean","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwje9v54b34cthkc1of","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"执行名称","structType":"json","sub":1,"key":"kwjea30ar0z9hsc1urn","children":[]},{"field":"code","paramsType":"string","required":true,"desc":"执行代号","structType":"json","sub":1,"key":"kwjeabewhizyxsjf4cg","children":[]},{"field":"days","paramsType":"int","required":true,"desc":"可用工作日","structType":"json","sub":1,"key":"kwjearrn1hjcssfmckq","children":[]},{"field":"begin","paramsType":"date","required":true,"desc":"计划开始日期","structType":"json","sub":1,"key":"kwjeb0e477czkhdc37b","children":[]},{"field":"end","paramsType":"date","required":true,"desc":"计划结束日期","structType":"json","sub":1,"key":"kwjeb7kflmn5w24jp7r","children":[]},{"field":"lifetime","paramsType":"string","required":true,"desc":"类型(short 短期 | long 长期 | ops 运维)","structType":"json","sub":1,"key":"kwjebm589usadvn8bd","children":[]},{"field":"PO","paramsType":"string","required":"","desc":"产品负责人","structType":"json","sub":1,"key":"kwjebvvo35mmg93g23t","children":[]},{"field":"PM","paramsType":"string","required":false,"desc":"迭代负责人","structType":"json","sub":1,"key":"kwjec64i8fbsgsk6o16","children":[]},{"field":"QD","paramsType":"string","required":"","desc":"测试负责人","structType":"json","sub":1,"key":"kwjec75526g0hq0afpu","children":[]},{"field":"RD","paramsType":"string","required":"","desc":"发布负责人","structType":"json","sub":1,"key":"kwjeckfrxddq94il8xn","children":[]},{"field":"teamMembers","paramsType":"array","required":true,"desc":"团队成员 [\"admin\"]","structType":"json","sub":1,"key":"kwjecwu03ma77kxt3a5","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"迭代描述","structType":"json","sub":1,"key":"kwjedoygiwsq148p2kg","children":[]},{"field":"acl","paramsType":"string","required":true,"desc":"访问控制(private 私有 | open 继承项目权限)","structType":"json","sub":1,"key":"kwjedzd69dldudhd355","children":[]},{"field":"whitelist","paramsType":"array","required":true,"desc":"白名单,acl = private时生效","structType":"json","sub":1,"key":"kwjee3inl8cabnd73lj","children":[]},{"field":"openedBy","paramsType":"string","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwjgxee7xz31l6mlr38","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwjgxmx4kfy4ru55g7","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:183;O:8:"stdClass":19:{s:2:"id";s:4:"1421";s:3:"doc";s:3:"436";s:6:"module";s:3:"109";s:5:"title";s:12:"创建版本";s:4:"path";s:20:"/projects/:id/builds";s:8:"protocol";s:4:"HTTP";s:6:"method";s:4:"POST";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"3";s:6:"params";s:1482:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"formData","sub":1,"key":"kwn2hke2m16i7h452cb","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"formData","sub":1,"key":"kwn2l3dui8vpwwx9y8f","children":[]},{"field":"branch","paramsType":"int","required":false,"desc":"所属分支","structType":"formData","sub":1,"key":"kwn2lkz5au17o6goi1o","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"版本名称","structType":"formData","sub":1,"key":"kwn2nomwzdoima7e2hb","children":[]},{"field":"builder","paramsType":"string","required":true,"desc":"构建者","structType":"formData","sub":1,"key":"kwn36kwqb4zzjppzwv7","children":[]},{"field":"date","paramsType":"date","required":"","desc":"打包日期","structType":"formData","sub":1,"key":"kwn374he8b8lbg24sze","children":[]},{"field":"scmPath","paramsType":"string","required":"","desc":"源代码地址","structType":"formData","sub":1,"key":"kwn37q7exee3380qxw","children":[]},{"field":"filePath","paramsType":"string","required":"","desc":"下载地址","structType":"formData","sub":1,"key":"kwn38kxvzw8oql3u0qh","children":[]},{"field":"desc","paramsType":"string","required":false,"desc":"版本描述","structType":"formData","sub":1,"key":"kwn39igbbcz2nsjctqr","children":[]}],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:1638:"[{"field":"id","paramsType":"int","required":true,"desc":"版本ID","structType":"json","sub":1,"key":"kwn2hke96i5njkoy06m","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属项目","structType":"json","sub":1,"key":"kwn3iu5ilw20yqn6gao","children":[]},{"field":"product","paramsType":"int","required":true,"desc":"所属产品","structType":"json","sub":1,"key":"kwn3jaea9a00bqeziw","children":[]},{"field":"branch","paramsType":"int","required":true,"desc":"所属产品分支(主分支为0)","structType":"json","sub":1,"key":"kwn3jkc5xrijl3g11rg","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwn3jzf0144tenen2fal","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"版本名称","structType":"json","sub":1,"key":"kwn3kjjk0v3i8tduutf","children":[]},{"field":"scmPath","paramsType":"string","required":true,"desc":"源代码地址","structType":"json","sub":1,"key":"kwn3kyosy9ygwek0o2s","children":[]},{"field":"filePath","paramsType":"string","required":true,"desc":"下载地址","structType":"json","sub":1,"key":"kwn3l8b97lgsvxg2xd5","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"版本描述","structType":"json","sub":1,"key":"kwn3lgm8punjni3qcdc","children":[]},{"field":"builder","paramsType":"1","required":true,"desc":"构建者","structType":"json","sub":1,"key":"kwn3m6hi7t4ywwrh596","children":[]},{"field":"date","paramsType":"date","required":true,"desc":"打包日期","structType":"json","sub":1,"key":"kwn3mcpyk6lwlh5msa8","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}i:184;O:8:"stdClass":19:{s:2:"id";s:4:"1419";s:3:"doc";s:3:"457";s:6:"module";s:3:"115";s:5:"title";s:12:"修改任务";s:4:"path";s:10:"/tasks/:id";s:8:"protocol";s:4:"HTTP";s:6:"method";s:3:"PUT";s:11:"requestType";s:16:"application/json";s:12:"responseType";s:0:"";s:6:"status";s:4:"done";s:5:"owner";s:5:"admin";s:4:"desc";s:0:"";s:7:"version";s:1:"4";s:6:"params";s:1781:"{"header":[{"field":"Token","required":true,"desc":"认证凭证Token"}],"params":[{"field":"module","paramsType":"int","required":"","desc":"所属模块","structType":"formData","sub":1,"key":"kwk2vtnfxn98pr2h8yf","children":[]},{"field":"story","paramsType":"int","required":"","desc":"关联需求","structType":"formData","sub":1,"key":"kwk2xlvcr1gkg6izip","children":[]},{"field":"fromBug","paramsType":"int","required":"","desc":"来自于Bug","structType":"formData","sub":1,"key":"kwk2xviqx2ak237g4yi","children":[]},{"field":"name","paramsType":"string","required":false,"desc":"任务名称","structType":"formData","sub":1,"key":"kwk2yavrfjddi4941np","children":[]},{"field":"type","paramsType":"string","required":false,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"formData","sub":1,"key":"kwk2yhq6v5epv4ino7","children":[]},{"field":"assignedTo","paramsType":"array","required":false,"desc":"指派给,[\"admin\"]","structType":"formData","sub":1,"key":"kwk2zis5zbu6jepnl5","children":[]},{"field":"pri","paramsType":"int","required":"","desc":"优先级","structType":"formData","sub":1,"key":"kwk2zvwesy6jyygqm2","children":[]},{"field":"estimate","paramsType":"float","required":"","desc":"预计工时","structType":"formData","sub":1,"key":"kwk305ekgwbjv0gzb4p","children":[]},{"field":"estStarted","paramsType":"date","required":false,"desc":"预计开始日期","structType":"formData","sub":1,"key":"kwk32zmfpl4kmya3l5h","children":[]},{"field":"deadline","paramsType":"date","required":false,"desc":"预计结束日期","structType":"formData","sub":1,"key":"kwk335gooe4o9gndxb","children":[]}],"paramsType":"formData","query":[]}";s:13:"paramsExample";s:0:"";s:15:"responseExample";s:0:"";s:8:"response";s:4075:"[{"field":"id","paramsType":"int","required":true,"desc":"任务ID","structType":"json","sub":1,"key":"kwk2vtnjuurgha4gkcc","children":[]},{"field":"project","paramsType":"int","required":true,"desc":"所属任务","structType":"json","sub":1,"key":"kwk37ng942x5k9g1xxm","children":[]},{"field":"parent","paramsType":"int","required":true,"desc":"父任务","structType":"json","sub":1,"key":"kwk382nnpny9ddvyndg","children":[]},{"field":"execution","paramsType":"int","required":true,"desc":"所属执行","structType":"json","sub":1,"key":"kwk38e5so8kannzevsl","children":[]},{"field":"module","paramsType":"int","required":true,"desc":"所属模块","structType":"json","sub":1,"key":"kwk3imzj095g74m8ff5k","children":[]},{"field":"story","paramsType":"int","required":true,"desc":"关联需求","structType":"json","sub":1,"key":"kwk3iw6rp6bbt5gq3kh","children":[]},{"field":"fromBug","paramsType":"int","required":true,"desc":"来源于Bug","structType":"json","sub":1,"key":"kwk3j8pscep4xnuzprg","children":[]},{"field":"name","paramsType":"string","required":true,"desc":"任务名称","structType":"json","sub":1,"key":"kwk3mzbxzc62ksy2659","children":[]},{"field":"type","paramsType":"string","required":true,"desc":"任务类型(design 设计 | devel 开发 | request 需求 | test 测试 | study 研究 | discuss 讨论 | ui 界面 | affair 事务 | misc 其他)","structType":"json","sub":1,"key":"kwk3sprxj3d2vj0mat","children":[]},{"field":"pri","paramsType":"int","required":true,"desc":"优先级","structType":"json","sub":1,"key":"kwk3ukxrnn0ie0rc3oh","children":[]},{"field":"estimate","paramsType":"float","required":true,"desc":"预计工时","structType":"json","sub":1,"key":"kwk3v3epr2gpzmkdcmk","children":[]},{"field":"consumed","paramsType":"float","required":true,"desc":"消耗工时","structType":"json","sub":1,"key":"kwk3vjxjszs3uqmmvvm","children":[]},{"field":"left","paramsType":"float","required":true,"desc":"剩余工时","structType":"json","sub":1,"key":"kwk3vu4gwz2vrlwpqd","children":[]},{"field":"deadline","paramsType":"date","required":true,"desc":"预计结束日期","structType":"json","sub":1,"key":"kwk3w6k2qqt6ad9fj6f","children":[]},{"field":"status","paramsType":"string","required":true,"desc":"状态(wait 未开始 | doing 进行中 | done 已完成 | closed 已关闭 | cancel 已取消)","structType":"json","sub":1,"key":"kwk3wq0acq6kcla9bxl","children":[]},{"field":"desc","paramsType":"string","required":true,"desc":"任务描述","structType":"json","sub":1,"key":"kwk3zv7ssgfg2nko2d","children":[]},{"field":"openedBy","paramsType":"1","required":true,"desc":"创建人","structType":"json","sub":1,"key":"kwk407dr61cugmxhlyv","children":[]},{"field":"openedDate","paramsType":"datetime","required":true,"desc":"创建时间","structType":"json","sub":1,"key":"kwk40d9j5001v5ztro","children":[]},{"field":"assignedTo","paramsType":"1","required":true,"desc":"指派给","structType":"json","sub":1,"key":"kwk40sbi2gb6wlayec8","children":[]},{"field":"assignedDate","paramsType":"datetime","required":true,"desc":"指派时间","structType":"json","sub":1,"key":"kwk40wjuji9duwfxwg","children":[]},{"field":"estStarted","paramsType":"date","required":true,"desc":"预计开始日期","structType":"json","sub":1,"key":"kwk41sqvjzmwj2l6k0c","children":[]},{"field":"realStarted","paramsType":"datetime","required":"","desc":"实际开始时间","structType":"json","sub":1,"key":"kwk41tggydumzmjjov","children":[]},{"field":"finishedBy","paramsType":"1","required":"","desc":"由谁完成","structType":"json","sub":1,"key":"kwk41tldxm6egute0hf","children":[]},{"field":"finishedDate","paramsType":"datetime","required":"","desc":"完成时间","structType":"json","sub":1,"key":"kwk41tq3oy1wfxwdm0a","children":[]},{"field":"closedBy","paramsType":"1","required":"","desc":"由谁关闭","structType":"json","sub":1,"key":"kwk42tximh8mftw3o2h","children":[]},{"field":"closedDate","paramsType":"datetime","required":"","desc":"关闭时间","structType":"json","sub":1,"key":"kwk42u2nz10u8prmjqe","children":[]}]";s:7:"addedBy";s:5:"admin";s:9:"addedDate";s:19:"2022-06-28 09:51:31";}} diff --git a/db/update16.4.sql b/db/update16.4.sql index bbbec92803..8dd68b4c76 100644 --- a/db/update16.4.sql +++ b/db/update16.4.sql @@ -31,14 +31,9 @@ UPDATE `zt_group` SET `vision`='lite', `project`='0' WHERE `role` = 'feedback'; DELETE FROM `zt_group` WHERE `vision` = 'lite' AND `role` IN ('liteAdmin','liteProject','liteTeam'); -INSERT INTO `zt_group` (`vision`, `name`, `role`, `desc`) VALUES -('lite', '管理员', 'liteAdmin', '迅捷版用户分组'); - -INSERT INTO `zt_group` (`vision`, `name`, `role`, `desc`) VALUES -('lite', '项目管理', 'liteProject', '迅捷版用户分组'); - -INSERT INTO `zt_group` (`vision`, `name`, `role`, `desc`) VALUES -('lite', '团队成员', 'liteTeam', '迅捷版用户分组'); +INSERT INTO `zt_group` (`vision`, `name`, `role`, `desc`) VALUES('lite', '管理员', 'liteAdmin', '运营管理界面用户分组'); +INSERT INTO `zt_group` (`vision`, `name`, `role`, `desc`) VALUES('lite', '项目管理', 'liteProject', '运营管理界面用户分组'); +INSERT INTO `zt_group` (`vision`, `name`, `role`, `desc`) VALUES('lite', '团队成员', 'liteTeam', '运营管理界面用户分组'); ALTER TABLE `zt_productplan` ADD `closedReason` varchar(20) NOT NULL AFTER `order`; diff --git a/db/update17.8.sql b/db/update17.8.sql new file mode 100644 index 0000000000..b06ba61f43 --- /dev/null +++ b/db/update17.8.sql @@ -0,0 +1,39 @@ +ALTER TABLE `zt_product` ADD `shadow` tinyint(1) unsigned NOT NULL AFTER `code`; +ALTER TABLE `zt_project` ADD `hasProduct` tinyint(1) unsigned NOT NULL DEFAULT 1 AFTER `code`; +ALTER table `zt_project` ADD `multiple` enum('0', '1') NOT NULL DEFAULT '1'; +ALTER TABLE `zt_repo` ADD `projects` varchar(255) NOT NULL AFTER `product`; +ALTER TABLE `zt_release` CHANGE `project` `project` varchar(255) NOT NULL; +ALTER TABLE `zt_release` CHANGE `branch` `branch` varchar(255) NOT NULL; +ALTER TABLE `zt_release` CHANGE `build` `build` varchar(255) NOT NULL; + +CREATE OR REPLACE VIEW `ztv_normalproduct` AS SELECT * FROM `zt_product` WHERE `shadow` = 0; + +REPLACE INTO `zt_report` (`code`, `name`, `module`, `sql`, `vars`, `langs`, `params`, `step`, `desc`, `addedBy`, `addedDate`) VALUES +('product-invest', '{\"zh-cn\":\"\\u4ea7\\u54c1\\u6295\\u5165\\u8868\",\"zh-tw\":\"\\u7522\\u54c1\\u6295\\u5165\\u8868\",\"en\":\"Product Investment\"}', ',product', 'select t1.id,t1.name,1 as projects, round(t3.consumed,2) as consumed from TABLE_PRODUCT as t1\r\n left join TABLE_PROJECTPRODUCT as t2 on t1.id=t2.product\r\n left join ztv_projectsummary as t3 on t2.project=t3.project\r\n left join TABLE_PROJECT as t4 on t2.project=t4.id\r\n left join TABLE_PROGRAM as t5 on t1.program=t5.id\r\n where t1.deleted=\'0\' and t4.deleted=\'0\' and t4.type=\'project\'\r\norder by t5.`order` asc, t1.line desc, t1.`order` asc', '', '{\"projects\":{\"zh-cn\":\"\\u9879\\u76ee\\u6570\",\"zh-tw\":\"\\u9879\\u76ee\\u6570\",\"en\":\"Projects\"},\"consumed\":{\"zh-cn\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"zh-tw\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"en\":\"Cost(h)\"}}', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"projects\",\"consumed\"],\"reportType\":[\"sum\",\"sum\"],\"sumAppend\":[\"projects\",\"consumed\"]}', 2, '{\"zh-cn\":\"\\u5217\\u51fa\\u6bcf\\u4e2a\\u4ea7\\u54c1\\u7684\\u9879\\u76ee\\u603b\\u6570\\uff0c\\u5df2\\u7ecf\\u6d88\\u8017\\u7684\\u5de5\\u65f6\\u3002\",\"zh-tw\":\"\\u5217\\u51fa\\u6bcf\\u500b\\u7522\\u54c1\\u7684\\u9805\\u76ee\\u7e3d\\u6578\\uff0c\\u5df2\\u7d93\\u6d88\\u8017\\u7684\\u5de5\\u6642\\u3002\",\"en\":\"Number of projects and consumed hours.\"}', 'admin', '2015-07-20 14:21:30'), +('product-progress', '{\"zh-cn\":\"\\u4ea7\\u54c1\\u5b8c\\u6210\\u5ea6\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u7522\\u54c1\\u5b8c\\u6210\\u5ea6\\u7d71\\u8a08\\u8868\",\"en\":\"Product Progress\"}', ',product', 'select t1.*,t2.name, (case when t1.status = \'closed\' or t1.stage = \'released\' then 1 else 0 end) as done, 1 as count from TABLE_STORY as t1 \r\nleft join TABLE_PRODUCT as t2 on t1.product=t2.id \r\nleft join TABLE_PROGRAM as t3 on t2.program=t3.id \r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\'\r\norder by t3.`order` asc, t2.line desc, t2.`order` asc', '', '{\"count\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"done\":{\"zh-cn\":\"\\u5b8c\\u6210\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u6570\",\"en\":\"Done\"}}', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"count\",\"done\"],\"reportType\":[\"sum\",\"sum\"],\"sumAppend\":[\"count\",\"done\"],\"percent\":{\"1\":\"1\"},\"contrast\":{\"1\":\"count\"},\"showAlone\":{\"1\":\"1\"}}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u4ea7\\u54c1\\u5217\\u51fa\\u9700\\u6c42\\u603b\\u6570\\uff0c\\u5b8c\\u6210\\u7684\\u603b\\u6570(\\u72b6\\u6001\\u662f\\u5173\\u95ed\\uff0c\\u6216\\u8005\\u7814\\u53d1\\u9636\\u6bb5\\u662f\\u53d1\\u5e03)\\uff0c\\u5b8c\\u6210\\u7684\\u767e\\u5206\\u6bd4\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u7522\\u54c1\\u5217\\u51fa\\u9700\\u6c42\\u7e3d\\u6578\\uff0c\\u5b8c\\u6210\\u7684\\u7e3d\\u6578(\\u72c0\\u614b\\u662f\\u95dc\\u9589\\uff0c\\u6216\\u8005\\u7814\\u767c\\u968e\\u6bb5\\u662f\\u767c\\u5e03)\\uff0c\\u5b8c\\u6210\\u7684\\u767e\\u5206\\u6bd4\\u3002\",\"en\":\"Number of total stories,done stories(state is closed, or stage is released), percent of completion.\"}', 'admin', '2015-07-21 15:07:48'), +('story-status', '{\"zh-cn\":\"\\u4ea7\\u54c1\\u9700\\u6c42\\u72b6\\u6001\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u7522\\u54c1\\u9700\\u6c42\\u72c0\\u614b\\u5206\\u5e03\\u8868\",\"en\":\"Story Status\"}', ',product', 'select t1.*,t2.name from TABLE_STORY as t1\r\n left join TABLE_PRODUCT as t2 on t1.product=t2.id \r\nleft join TABLE_PROGRAM as t3 on t2.program=t3.id \r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\'\r\norder by t3.`order` asc, t2.line desc, t2.`order` asc', '', '', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"status\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u4ea7\\u54c1\\u5217\\u51fa\\u9700\\u6c42\\u603b\\u6570\\uff0c\\u72b6\\u6001\\u7684\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u7522\\u54c1\\u5217\\u51fa\\u9700\\u6c42\\u7e3d\\u6578\\uff0c\\u72c0\\u614b\\u7684\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"Total number and status distribution of stories.\"}', 'admin', '2015-07-21 15:35:38'), +('story-stage', '{\"zh-cn\":\"\\u4ea7\\u54c1\\u9700\\u6c42\\u9636\\u6bb5\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u7522\\u54c1\\u9700\\u6c42\\u968e\\u6bb5\\u5206\\u5e03\\u8868\",\"en\":\"Story Stage\"}', ',product', 'select t1.*,t2.name from TABLE_STORY as t1\r\n left join TABLE_PRODUCT as t2 on t1.product=t2.id \r\nleft join TABLE_PROGRAM as t3 on t2.program=t3.id \r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\'\r\norder by t3.`order` asc, t2.line desc, t2.`order` asc', '', '', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"stage\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u4ea7\\u54c1\\u5217\\u51fa\\u9700\\u6c42\\u603b\\u6570\\uff0c\\u7814\\u53d1\\u9636\\u6bb5\\u7684\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u7522\\u54c1\\u5217\\u51fa\\u9700\\u6c42\\u7e3d\\u6578\\uff0c\\u7814\\u767c\\u968e\\u6bb5\\u7684\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"Total number and stage distribution of stories \"}', 'admin', '2015-07-21 15:38:34'), +('product-release', '{\"zh-cn\":\"\\u4ea7\\u54c1\\u53d1\\u5e03\\u6570\\u91cf\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u7522\\u54c1\\u767c\\u5e03\\u6578\\u91cf\\u7d71\\u8a08\\u8868\",\"en\":\"Product Release\"}', ',product', 'select t2.name, 1 as releases from TABLE_RELEASE as t1 \r\nleft join TABLE_PRODUCT as t2 on t1.product=t2.id \r\nleft join TABLE_PROGRAM as t3 on t2.program=t3.id \r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\'\r\norder by t3.`order` asc, t2.line desc, t2.`order` asc', '', '{\"count\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"done\":{\"zh-cn\":\"\\u5b8c\\u6210\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u6570\",\"en\":\"Done\"}}', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"releases\"],\"reportType\":[\"sum\"],\"sumAppend\":[\"releases\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u4ea7\\u54c1\\u5217\\u51fa\\u53d1\\u5e03\\u7684\\u6570\\u91cf\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u7522\\u54c1\\u5217\\u51fa\\u767c\\u5e03\\u7684\\u6578\\u91cf\\u3002\",\"en\":\"Product Release.\"}', 'admin', '2015-07-21 16:00:52'), +('task-status', '{\"zh-cn\":\"\\u4efb\\u52a1\\u72b6\\u6001\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u4efb\\u52d9\\u72c0\\u614b\\u7d71\\u8a08\\u8868\",\"en\":\"Task Status Report\",\"de\":\"Task Status Report\",\"fr\":\"Task Status Report\",\"vi\":\"Task Status Report\",\"ja\":\"Task Status Report\"}', ',project', 'select t1.id,t3.name as project,t1.name,t2.status,IF(t3.multiple="1",t1.name,"") as execution,t2.id as taskID, t1.status as projectstatus, (case when t2.deadline < CURDATE() and t2.deadline != \'0000-00-00\' and t2.status != \'closed\' and t2.status != \'done\' and t2.status != \'cancel\' then 1 else 0 end) as timeout from TABLE_EXECUTION as t1\r\n left join TABLE_TASK as t2 on t1.id=t2.execution\r\n left join TABLE_PROJECT as t3 on t3.id=t1.project\r\n where t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and t2.deleted=\'0\' and if($project=\'\',1,t3.id=$project) and if($status=\'\',1,t1.status=$status) and if($beginDate=\'\',1,t1.begin>=$beginDate) and if($endDate=\'\',1,t1.end<=$endDate)', '{\"varName\":[\"project\",\"status\",\"beginDate\",\"endDate\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\",\"\\u6267\\u884c\\u8d77\\u59cb\\u65e5\\u671f\",\"\\u6267\\u884c\\u7ed3\\u675f\\u65e5\\u671f\"],\"requestType\":[\"select\",\"select\",\"date\",\"date\"],\"selectList\":[\"project\",\"project.status\",\"user\",\"user\"],\"default\":[\"\",\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"status\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u6267\\u884c\\u7edf\\u8ba1\\u4efb\\u52a1\\u7684\\u72b6\\u6001\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u57f7\\u884c\\u7d71\\u8a08\\u4efb\\u52d9\\u7684\\u72c0\\u614b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-22 11:28:33'), +('task-type', '{\"zh-cn\":\"\\u4efb\\u52a1\\u7c7b\\u578b\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u4efb\\u52d9\\u985e\\u578b\\u7d71\\u8a08\\u8868\",\"en\":\"Task Type Report\",\"de\":\"Task Type Report\",\"fr\":\"Task Type Report\",\"vi\":\"Task Type Report\",\"ja\":\"Task Type Report\"}', ',project', 'select t1.id,t3.name as project,IF(t3.multiple="1",t1.name,"") as execution,t2.type,t2.id as taskID, t1.status as projectstatus from TABLE_EXECUTION as t1 \r\nleft join TABLE_TASK as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and t2.deleted=\'0\' and if($project=\'\',1,t3.id=$project) and if($status=\'\',1,t1.status=$status) and if($beginDate=\'\',1,t1.begin>=$beginDate) and if($endDate=\'\',1,t1.end<=$endDate)', '{\"varName\":[\"project\",\"status\",\"beginDate\",\"endDate\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\",\"\\u6267\\u884c\\u8d77\\u59cb\\u65e5\\u671f\",\"\\u6267\\u884c\\u7ed3\\u675f\\u65e5\\u671f\"],\"requestType\":[\"select\",\"select\",\"date\",\"date\"],\"selectList\":[\"project\",\"project.status\",\"user\",\"user\"],\"default\":[\"\",\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"type\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1\\u4efb\\u52a1\\u7684\\u7c7b\\u578b\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08\\u4efb\\u52d9\\u7684\\u985e\\u578b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-22 13:06:46'), +('task-assign', '{\"zh-cn\":\"\\u9879\\u76ee\\u4efb\\u52a1\\u6307\\u6d3e\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u4efb\\u52d9\\u6307\\u6d3e\\u7d71\\u8a08\\u8868\",\"en\":\"Task Assign Report\",\"de\":\"Task Assign Report\",\"fr\":\"Task Assign Report\",\"vi\":\"Task Assign Report\",\"ja\":\"Task Assign Report\"}', ',project', 'select t1.id,t4.name as project,IF(t4.multiple="1",t1.name,"") as execution,if(t3.account is not null, t3.account,t2.assignedTo) as assignedTo,t2.id as taskID, t1.status as projectstatus from TABLE_EXECUTION as t1\r\n left join TABLE_TASK as t2 on t1.id=t2.execution\r\n left join TABLE_TEAM as t3 on t3.type=\'task\' && t3.root=t2.id \r\nleft join TABLE_PROJECT as t4 on t1.project=t4.id\r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and t2.deleted=\'0\' and if($project=\'\',1,t4.id=$project) and if($status=\'\',1,t1.status=$status) and if($beginDate=\'\',1,t1.begin>=$beginDate) and if($endDate=\'\',1,t1.end<=$endDate)', '{\"varName\":[\"project\",\"status\",\"beginDate\",\"endDate\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\",\"\\u6267\\u884c\\u8d77\\u59cb\\u65e5\\u671f\",\"\\u6267\\u884c\\u7ed3\\u675f\\u65e5\\u671f\"],\"requestType\":[\"select\",\"select\",\"date\",\"date\"],\"selectList\":[\"project\",\"project.status\",\"user\",\"user\"],\"default\":[\"\",\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"assignedTo\":{\"zh-cn\":\"\\u6307\\u6d3e\\u7ed9\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"assignedTo\"],\"isUser\":{\"reportField\":[[\"1\"]]},\"reportType\":[\"count\"],\"sumAppend\":[\"\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1\\u4efb\\u52a1\\u7684\\u6307\\u6d3e\\u7ed9\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08\\u4efb\\u52d9\\u7684\\u6307\\u6d3e\\u7d66\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-22 13:13:28'), +('task-finish', '{\"zh-cn\":\"\\u9879\\u76ee\\u4efb\\u52a1\\u5b8c\\u6210\\u8005\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u4efb\\u52d9\\u5b8c\\u6210\\u8005\\u7d71\\u8a08\\u8868\",\"en\":\"Task Finish Report\",\"de\":\"Task Finish Report\",\"fr\":\"Task Finish Report\",\"vi\":\"Task Finish Report\",\"ja\":\"Task Finish Report\"}', ',project', 'select t1.id,t3.name as project,IF(t3.multiple="1",t1.name,"") as execution,t2.finishedBy,t2.id as taskID, t1.status as projectstatus from TABLE_EXECUTION as t1 \r\nleft join TABLE_TASK as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t1.project=t3.id \r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and t2.deleted=\'0\' and t2.finishedBy!=\'\' and if($project=\'\',1,t3.id=$project) and if($status=\'\',1,t1.status=$status) and if($beginDate=\'\',1,t1.begin>=$beginDate) and if($endDate=\'\',1,t1.end<=$endDate)', '{\"varName\":[\"project\",\"status\",\"beginDate\",\"endDate\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\",\"\\u6267\\u884c\\u8d77\\u59cb\\u65e5\\u671f\",\"\\u6267\\u884c\\u7ed3\\u675f\\u65e5\\u671f\"],\"requestType\":[\"select\",\"select\",\"date\",\"date\"],\"selectList\":[\"project\",\"project.status\",\"user\",\"user\"],\"default\":[\"\",\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"finishedBy\"],\"isUser\":{\"reportField\":[[\"1\"]]},\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1\\u4efb\\u52a1\\u7684\\u5b8c\\u6210\\u8005\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08\\u4efb\\u52d9\\u7684\\u5b8c\\u6210\\u8005\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-22 13:16:21'), +('project-invest', '{\"zh-cn\":\"\\u9879\\u76ee\\u6295\\u5165\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u6295\\u5165\\u7d71\\u8a08\\u8868\",\"en\":\"Project Invest Report\",\"de\":\"Project Invest Report\",\"fr\":\"Project Invest Report\",\"vi\":\"Project Invest Report\",\"ja\":\"Project Invest Report\"}', ',project', 'select t1.id,t5.name as project,IF(t5.multiple="1",t1.name,"") as execution,CONCAT(t1.begin,\' ~ \',t1.end) as timeLimit,t2.teams,t3.stories,round(t4.consumed,1) as consumed,t4.number, t1.status as projectstatus \r\nfrom TABLE_EXECUTION as t1\r\n left join ztv_projectteams as t2 on t1.id=t2.execution\r\nleft join ztv_projectstories as t3 on t1.id=t3.execution\r\n left join ztv_executionsummary as t4 on t1.id=t4.execution \r\nleft join TABLE_PROJECT as t5 on t1.project=t5.id \r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and if($project=\'\',1,t5.id=$project) and if($status=\'\',1,t1.status=$status) and if($beginDate=\'\',1,t1.begin>=$beginDate) and if($endDate=\'\',1,t1.end<=$endDate)', '{\"varName\":[\"project\",\"status\",\"beginDate\",\"endDate\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\",\"\\u6267\\u884c\\u8d77\\u59cb\\u65e5\\u671f\",\"\\u6267\\u884c\\u7ed3\\u675f\\u65e5\\u671f\"],\"requestType\":[\"select\",\"select\",\"date\",\"date\"],\"selectList\":[\"project\",\"project.status\",\"user\",\"user\"],\"default\":[\"\",\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"timeLimit\":{\"zh-cn\":\"\\u5de5\\u671f\"},\"teams\":{\"zh-cn\":\"\\u4eba\\u6570\"},\"stories\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\"},\"consumed\":{\"zh-cn\":\"\\u603b\\u6d88\\u8017\"},\"number\":{\"zh-cn\":\"\\u4efb\\u52a1\\u6570\"},\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"number\",\"stories\",\"teams\",\"consumed\"],\"reportType\":[\"sum\",\"sum\",\"sum\",\"sum\"],\"sumAppend\":[\"number\",\"stories\",\"teams\",\"consumed\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u5217\\u51fa\\uff1a\\u4efb\\u52a1\\u6570\\uff0c\\u9700\\u6c42\\u6570\\uff0c\\u4eba\\u6570\\uff0c\\u603b\\u6d88\\u8017\\u5de5\\u65f6\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u5217\\u51fa\\uff1a\\u4efb\\u52d9\\u6578\\uff0c\\u9700\\u6c42\\u6578\\uff0c\\u4eba\\u6578\\uff0c\\u7e3d\\u6d88\\u8017\\u5de5\\u6642\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-22 16:37:38'), +('projectstory-status', '{\"zh-cn\":\"\\u9879\\u76ee\\u9700\\u6c42\\u72b6\\u6001\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u9700\\u6c42\\u72c0\\u614b\\u5206\\u5e03\\u8868\",\"en\":\"Project Story Status\",\"de\":\"Project Story Status\",\"fr\":\"Project Story Status\",\"vi\":\"Project Story Status\",\"ja\":\"Project Story Status\"}', ',project', 'select t2.id, t4.name as project,IF(t4.multiple="1",t2.name,"") as execution,t3.status from TABLE_PROJECTSTORY as t1 \r\nleft join TABLE_EXECUTION as t2 on t1.project=t2.id \r\nleft join TABLE_STORY as t3 on t1.story=t3.id \r\nleft join TABLE_PROJECT as t4 on t4.id=t2.project\r\nwhere t2.deleted=\'0\' and t2.type in(\'sprint\', \'stage\') and if($project=\'\',1,t4.id=$project) and if($execution=\'\',1,t2.id=$execution) and if($status=\'\',1,t2.status=$status)', '{\"varName\":[\"project\",\"execution\",\"status\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\"],\"requestType\":[\"select\",\"select\",\"select\"],\"selectList\":[\"project\",\"execution\",\"project.status\"],\"default\":[\"\",\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"status\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1\\u9700\\u6c42\\u7684\\u72b6\\u6001\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08\\u9700\\u6c42\\u7684\\u72c0\\u614b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 15:35:08'), +('project-stage', '{\"zh-cn\":\"\\u9879\\u76ee\\u9700\\u6c42\\u9636\\u6bb5\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u9700\\u6c42\\u968e\\u6bb5\\u5206\\u5e03\\u8868\",\"en\":\"Project Stage Report\",\"de\":\"Project Stage Report\",\"fr\":\"Project Stage Report\",\"vi\":\"Project Stage Report\",\"ja\":\"Project Stage Report\"}', ',project', 'select t2.id, t4.name as project,IF(t4.multiple="1",t2.name,"") as execution,t3.stage from TABLE_PROJECTSTORY as t1 \r\nleft join TABLE_EXECUTION as t2 on t1.project=t2.id \r\nleft join TABLE_STORY as t3 on t1.story=t3.id \r\nleft join TABLE_PROJECT as t4 on t4.id=t2.project\r\nwhere t2.deleted=\'0\' and t2.type in(\'sprint\', \'stage\') and if($project=\'\',1,t4.id=$project) and if($execution=\'\',1,t2.id=$execution) and if($status=\'\',1,t2.status=$status)', '{\"varName\":[\"project\",\"execution\",\"status\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\"],\"requestType\":[\"select\",\"select\",\"select\"],\"selectList\":[\"project\",\"execution\",\"project.status\"],\"default\":[\"\",\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"stage\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1\\u9700\\u6c42\\u9636\\u6bb5\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08\\u9700\\u6c42\\u968e\\u6bb5\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 15:38:18'), +('projectbug-resolution', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u89e3\\u51b3\\u65b9\\u6848\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u89e3\\u6c7a\\u65b9\\u6848\\u5206\\u5e03\\u8868\",\"en\":\"Project Bug Resolution\",\"de\":\"Project Bug Resolution\",\"fr\":\"Project Bug Resolution\",\"vi\":\"Project Bug Resolution\",\"ja\":\"Project Bug Resolution\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,IF(t3.multiple="1",t1.name,"") as execution,t1.id as bugID,t2.resolution from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\n where t1.deleted=\'0\' and t2.deleted=\'0\' and t2.resolution!=\'\' having bugID!=\'\' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"resolution\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u89e3\\u51b3\\u65b9\\u6848\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u89e3\\u6c7a\\u65b9\\u6848\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 16:04:46'), +('projectbug-status', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u72b6\\u6001\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u72c0\\u614b\\u5206\\u5e03\\u8868\",\"en\":\"Project Bug Status\",\"de\":\"Project Bug Status\",\"fr\":\"Project Bug Status\",\"vi\":\"Project Bug Status\",\"ja\":\"Project Bug Status\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,IF(t3.multiple="1",t1.name,"") as execution,t1.id as bugID,t2.status from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\' having bugID!=\' \' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"status\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u72b6\\u6001\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u72c0\\u614b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 15:48:03'), +('projectbug-opened', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u521b\\u5efa\\u8005\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u5275\\u5efa\\u8005\\u5206\\u5e03\\u8868\",\"en\":\"Project Bug Opened\",\"de\":\"Project Bug Opened\",\"fr\":\"Project Bug Opened\",\"vi\":\"Project Bug Opened\",\"ja\":\"Project Bug Opened\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,IF(t3.multiple="1",t1.name,"") as execution,t1.id as bugID,t2.openedBy from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\' having bugID!=\'\' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"openedBy\"],\"isUser\":{\"reportField\":[[\"1\"]]},\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u521b\\u5efa\\u8005\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u5275\\u5efa\\u8005\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 16:08:10'), +('projectbug-resolve', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u89e3\\u51b3\\u8005\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u89e3\\u6c7a\\u8005\\u5206\\u5e03\\u8868\",\"en\":\"Project Bug Resolve\",\"de\":\"Project Bug Resolve\",\"fr\":\"Project Bug Resolve\",\"vi\":\"Project Bug Resolve\",\"ja\":\"Project Bug Resolve\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,IF(t3.multiple="1",t1.name,"") as execution,t1.id as bugID,t2.resolvedBy from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\' and t2.status!=\'active\' and t2.resolvedBy!=\'\' having bugID!=\'\' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"resolvedBy\"],\"isUser\":{\"reportField\":[[\"1\"]]},\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u89e3\\u51b3\\u8005\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u89e3\\u6c7a\\u8005\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 16:13:16'), +('projectbug-assign', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u6307\\u6d3e\\u7ed9\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u6307\\u6d3e\\u7d66\\u5206\\u5e03\\u8868\",\"en\":\"Project Bug Assign\",\"de\":\"Project Bug Assign\",\"fr\":\"Project Bug Assign\",\"vi\":\"Project Bug Assign\",\"ja\":\"Project Bug Assign\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,IF(t3.multiple="1",t1.name,"") as execution,t1.id as bugID,t2.assignedTo from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution \r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\' having bugID!=\'\' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"assignedTo\"],\"isUser\":{\"reportField\":[[\"1\"]]},\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u6307\\u6d3e\\u7ed9\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u6307\\u6d3e\\u7d66\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 16:29:10'), +('project-quality', '{\"zh-cn\":\"\\u9879\\u76ee\\u8d28\\u91cf\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u8cea\\u91cf\\u8868\",\"en\":\"Project Quality Report\",\"de\":\"Project Quality Report\",\"fr\":\"Project Quality Report\",\"vi\":\"Project Quality Report\",\"ja\":\"Project Quality Report\"}', ',project', 'select t1.id, t5.name as project,t5.id,IF(t5.multiple="1",t1.name,"") as execution,t2.stories,(t2.stories-t2.undone) as doneStory,t3.number,(t3.number-t3.undone) as doneTask,t4.bugs,t4.resolutions, round(t4.bugs/(t2.stories-t2.undone),2) as bugthanstory,round(t4.bugs/(t3.number-t3.undone),2) as bugthantask,t4.seriousBugs from TABLE_EXECUTION as t1 \r\nleft join ztv_projectstories as t2 on t1.id=t2.execution\r\nleft join ztv_executionsummary as t3 on t1.id=t3.execution\r\nleft join ztv_projectbugs as t4 on t1.id=t4.execution\r\nleft join TABLE_PROJECT as t5 on t5.id=t1.project\r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and t1.grade=\'1\' and if($project=\'\',1,t5.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"stories\":{\"zh-cn\":\"\\u9700\\u6c42\\u603b\\u6570\"},\"doneStory\":{\"zh-cn\":\"\\u5b8c\\u6210\\u9700\\u6c42\\u6570\"},\"number\":{\"zh-cn\":\"\\u4efb\\u52a1\\u603b\\u6570\"},\"doneTask\":{\"zh-cn\":\"\\u5b8c\\u6210\\u4efb\\u52a1\\u6570\"},\"bugs\":{\"zh-cn\":\"Bug\\u6570\"},\"resolutions\":{\"zh-cn\":\"\\u89e3\\u51b3Bug\\u6570\"},\"bugthanstory\":{\"zh-cn\":\"Bug\\/\\u5b8c\\u6210\\u9700\\u6c42\"},\"bugthantask\":{\"zh-cn\":\"Bug\\/\\u5b8c\\u6210\\u4efb\\u52a1\"},\"seriousBugs\":{\"zh-cn\":\"\\u91cd\\u8981Bug\\u6570\"},\"seriousBugsPercent\":{\"zh-cn\":\"\\u4e25\\u91cdBug\\u6bd4\\u7387\"},\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"stories\",\"doneStory\",\"number\",\"doneTask\",\"bugs\",\"resolutions\",\"bugthanstory\",\"bugthantask\",\"seriousBugs\"],\"reportType\":[\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\"],\"sumAppend\":[\"stories\",\"doneStory\",\"number\",\"doneTask\",\"bugs\",\"resolutions\",\"bugthanstory\",\"bugthantask\",\"seriousBugs\"]}', 2, '{\"zh-cn\":\"\\u5217\\u51fa\\u9879\\u76ee\\u7684\\u9700\\u6c42\\u603b\\u6570\\uff0c\\u5b8c\\u6210\\u9700\\u6c42\\u6570\\uff0c\\u4efb\\u52a1\\u603b\\u6570\\uff0c\\u5b8c\\u6210\\u7684\\u4efb\\u52a1\\u6570\\uff0cBug\\u6570\\uff0c\\u89e3\\u51b3\\u7684Bug\\u6570\\uff0cBug\\/\\u9700\\u6c42\\uff0cBug\\/\\u4efb\\u52a1\\uff0c\\u91cd\\u8981Bug\\u6570\\u91cf(\\u4e25\\u91cd\\u7a0b\\u5ea6\\u4e0d\\u5927\\u4e8e3\\uff09\\u3002\",\"zh-tw\":\"\\u5217\\u51fa\\u9805\\u76ee\\u7684\\u9700\\u6c42\\u7e3d\\u6578\\uff0c\\u5b8c\\u6210\\u9700\\u6c42\\u6578\\uff0c\\u4efb\\u52d9\\u7e3d\\u6578\\uff0c\\u5b8c\\u6210\\u7684\\u4efb\\u52d9\\u6578\\uff0cBug\\u6578\\uff0c\\u89e3\\u6c7a\\u7684Bug\\u6578\\uff0cBug\\/\\u9700\\u6c42\\uff0cBug\\/\\u4efb\\u52d9\\uff0c\\u91cd\\u8981Bug\\u6578\\u91cf(\\u56b4\\u91cd\\u7a0b\\u5ea6\\u4e0d\\u5927\\u65bc3\\uff09\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 17:03:10'), +('productbug-type', '{\"zh-cn\":\"\\u4ea7\\u54c1Bug\\u7c7b\\u578b\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u7522\\u54c1Bug\\u985e\\u578b\\u7d71\\u8a08\\u8868\",\"en\":\"Bug Type of Product\"}', ',product,test', 'select t1.id,t1.name,t2.id as bugID,t2.type from TABLE_PRODUCT as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.product \r\nleft join TABLE_PROGRAM as t3 on t1.program=t3.id \r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\'\r\norder by t3.`order` asc, t1.line desc, t1.`order` asc', '', '{\"count\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"done\":{\"zh-cn\":\"\\u5b8c\\u6210\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u6570\",\"en\":\"Done\"}}', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"type\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u4ea7\\u54c1\\u7edf\\u8ba1Bug\\u7684\\u7c7b\\u578b\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u7522\\u54c1\\u7d71\\u8a08Bug\\u7684\\u985e\\u578b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"Type distribution of Bugs.\"}', 'admin', '2015-07-24 13:48:22'), +('product-quality', '{\"zh-cn\":\"\\u4ea7\\u54c1\\u8d28\\u91cf\\u8868\",\"zh-tw\":\"\\u7522\\u54c1\\u8cea\\u91cf\\u8868\",\"en\":\"Product Quality\"}', ',product', 'select t1.id,t1.name,t2.stories,(t2.stories-t2.undone) as doneStory,t3.bugs,t3.resolutions,round(t3.bugs/(t2.stories-t2.undone),2) as bugthanstory,t3.seriousBugs from TABLE_PRODUCT as t1 \r\nleft join ztv_productstories as t2 on t1.id=t2.product \r\nleft join ztv_productbugs as t3 on t1.id=t3.product \r\nleft join TABLE_PROGRAM as t4 on t1.program=t4.id \r\nwhere t1.deleted=\'0\'\r\norder by t4.`order` asc, t1.line desc, t1.`order` asc', '', '{\"stories\":{\"zh-cn\":\"\\u9700\\u6c42\\u603b\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u603b\\u6570\",\"en\":\"Stories\"},\"doneStory\":{\"zh-cn\":\"\\u5b8c\\u6210\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u9700\\u6c42\\u6570\",\"en\":\"Finished Stories\"},\"bugs\":{\"zh-cn\":\"Bug\\u6570\",\"zh-tw\":\"Bug\\u6570\",\"en\":\"Bugs\"},\"resolutions\":{\"zh-cn\":\"\\u89e3\\u51b3Bug\\u6570\",\"zh-tw\":\"\\u89e3\\u51b3Bug\\u6570\",\"en\":\"Solved Bugs\"},\"bugthanstory\":{\"zh-cn\":\"Bug\\/\\u5b8c\\u6210\\u9700\\u6c42\",\"zh-tw\":\"Bug\\/\\u5b8c\\u6210\\u9700\\u6c42\",\"en\":\"Bug\\/Finished Story\"},\"seriousBugs\":{\"zh-cn\":\"\\u91cd\\u8981Bug\\u6570\",\"zh-tw\":\"\\u91cd\\u8981Bug\\u6570\",\"en\":\"Serious Bugs\"},\"seriousBugsPercent\":{\"zh-cn\":\"\\u4e25\\u91cdbug\\u6bd4\\u7387\",\"zh-tw\":\"\\u4e25\\u91cdbug\\u6bd4\\u7387\",\"en\":\"Serious Bugs %\"}}', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"stories\",\"doneStory\",\"bugs\",\"resolutions\",\"bugthanstory\",\"seriousBugs\"],\"reportType\":[\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\"],\"sumAppend\":[\"stories\",\"doneStory\",\"bugs\",\"resolutions\",\"bugthanstory\",\"seriousBugs\"],\"percent\":{\"5\":\"1\"},\"contrast\":{\"5\":\"bugs\"},\"showAlone\":{\"5\":\"1\"}}', 2, '{\"zh-cn\":\"\\u5217\\u51fa\\u4ea7\\u54c1\\u7684\\u9700\\u6c42\\u6570\\uff0c\\u5b8c\\u6210\\u7684\\u9700\\u6c42\\u603b\\u6570\\uff0cBug\\u6570\\uff0c\\u89e3\\u51b3\\u7684Bug\\u603b\\u6570\\uff0cBug\\/\\u9700\\u6c42\\uff0c\\u91cd\\u8981Bug\\u6570\\u91cf(\\u4e25\\u91cd\\u7a0b\\u5ea6\\u4e0d\\u5927\\u4e8e3)\\u3002\",\"zh-tw\":\"\\u5217\\u51fa\\u7522\\u54c1\\u7684\\u9700\\u6c42\\u6578\\uff0c\\u5b8c\\u6210\\u7684\\u9700\\u6c42\\u7e3d\\u6578\\uff0cBug\\u6578\\uff0c\\u89e3\\u6c7a\\u7684Bug\\u7e3d\\u6578\\uff0cBug\\/\\u9700\\u6c42\\uff0c\\u91cd\\u8981Bug\\u6578\\u91cf(\\u56b4\\u91cd\\u7a0b\\u5ea6\\u4e0d\\u5927\\u65bc3)\\u3002\",\"en\":\"Serious Bug (severity is less than 3).\"}', 'admin', '2015-07-23 17:17:40'), +('user-login', '{\"zh-cn\":\"\\u5458\\u5de5\\u767b\\u5f55\\u6b21\\u6570\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u54e1\\u5de5\\u767b\\u9304\\u6b21\\u6578\\u7d71\\u8a08\\u8868\",\"en\":\"Login Times\"}', ',staff', 'select actor,LEFT(`date`,10) as `day` from TABLE_ACTION where `action`=\'login\' and if($startDate=\'\',1,`date`>=$startDate) and if($endDate=\'\',1,`date`<=$endDate) order by `date` asc, actor asc', '{\"varName\":[\"startDate\",\"endDate\"],\"showName\":[\"\\u8d77\\u59cb\\u65f6\\u95f4\",\"\\u7ed3\\u675f\\u65f6\\u95f4\"],\"requestType\":[\"date\",\"date\"],\"selectList\":[\"user\",\"user\"],\"default\":[\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"count\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"done\":{\"zh-cn\":\"\\u5b8c\\u6210\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u6570\",\"en\":\"Done\"}}', '{\"group1\":\"actor\",\"isUser\":{\"group1\":[\"1\"]},\"group2\":\"\",\"reportField\":[\"day\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u5b9e\\u73b0\\u5458\\u5de5\\u767b\\u5f55\\u6b21\\u6570\\u7edf\\u8ba1\\u62a5\\u8868\\uff0c\\u6309\\u7167\\u5929\\u7edf\\u8ba1\\u6bcf\\u5929\\u6bcf\\u4e2a\\u4eba\\u7684\\u767b\\u5f55\\u6b21\\u6570\\uff0c\\u4ee5\\u53ca\\u603b\\u6570\\u3002\",\"zh-tw\":\"\\u5be6\\u73fe\\u54e1\\u5de5\\u767b\\u9304\\u6b21\\u6578\\u7d71\\u8a08\\u5831\\u8868\\uff0c\\u6309\\u7167\\u5929\\u7d71\\u8a08\\u6bcf\\u5929\\u6bcf\\u500b\\u4eba\\u7684\\u767b\\u9304\\u6b21\\u6578\\uff0c\\u4ee5\\u53ca\\u7e3d\\u6578\\u3002\",\"en\":\"The summary of user login times.\"}', 'admin', '2015-07-24 14:28:11'), +('effort', '{\"zh-cn\":\"\\u65e5\\u5fd7\\u6c47\\u603b\\u8868\",\"zh-tw\":\"\\u65e5\\u8a8c\\u532f\\u7e3d\\u8868\",\"en\":\"Effort Summary\"}', ',staff', 'select t1.account,t1.consumed,t1.`date`,if($dept=\'0\',0,t2.dept) as dept from TABLE_EFFORT as t1 left join TABLE_USER as t2 on t1.account=t2.account where t1.`deleted`=\'0\' and if($startDate=\'\',1,t1.`date`>=$startDate) and if($endDate=\'\',1,t1.`date`<=$endDate) having dept=$dept order by `date` asc', '{\"varName\":[\"dept\",\"startDate\",\"endDate\"],\"showName\":[\"\\u90e8\\u95e8\",\"\\u8d77\\u59cb\\u65f6\\u95f4\",\"\\u7ed3\\u675f\\u65f6\\u95f4\"],\"requestType\":[\"select\",\"date\",\"date\"],\"selectList\":[\"dept\",\"user\",\"user\"],\"default\":[\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"date\":{\"zh-cn\":\"\\u65e5\\u671f\",\"zh-tw\":\"\\u65e5\\u671f\",\"en\":\"Date\"},\"consumed\":{\"zh-cn\":\"\\u6d88\\u8017\\u5de5\\u65f6\",\"zh-tw\":\"\\u6d88\\u8017\\u5de5\\u65f6\",\"en\":\"Cost\"}}', '{\"group1\":\"account\",\"isUser\":{\"group1\":[\"1\"]},\"group2\":\"\",\"reportField\":[\"date\"],\"reportType\":[\"sum\"],\"sumAppend\":[\"consumed\"]}', 2, '{\"zh-cn\":\"\\u67e5\\u770b\\u67d0\\u4e2a\\u65f6\\u95f4\\u6bb5\\u5185\\u7684\\u65e5\\u5fd7\\u60c5\\u51b5\\uff0c\\u53ef\\u4ee5\\u6309\\u7167\\u90e8\\u95e8\\u9009\\u62e9\\u3002\",\"zh-tw\":\"\\u67e5\\u770b\\u67d0\\u500b\\u6642\\u9593\\u6bb5\\u5167\\u7684\\u65e5\\u8a8c\\u60c5\\u6cc1\\uff0c\\u53ef\\u4ee5\\u6309\\u7167\\u90e8\\u9580\\u9078\\u64c7\\u3002\",\"en\":\"Effort summary of users.\"}', 'admin', '2015-07-27 13:53:32'), +('company-dynamic', '{\"zh-cn\":\"\\u516c\\u53f8\\u52a8\\u6001\\u6c47\\u603b\\u8868\",\"zh-tw\":\"\\u516c\\u53f8\\u52d5\\u614b\\u532f\\u7e3d\\u8868\",\"en\":\"Company Dynamics\"}', ',staff', 'select t1.day,t2.userlogin,t3.consumed,t4.storyopen,t5.storyclose,t6.taskopen,t7.taskfinish,t8.bugopen,t9.bugresolve,t1.actions from ztv_dayactions as t1 left join ztv_dayuserlogin as t2 on t1.day=t2.day left join ztv_dayeffort as t3 on t1.day=t3.date left join ztv_daystoryopen as t4 on t1.day=t4.day left join ztv_daystoryclose as t5 on t1.day=t5.day left join ztv_daytaskopen as t6 on t1.day=t6.day left join ztv_daytaskfinish as t7 on t1.day=t7.day left join ztv_daybugopen as t8 on t1.day=t8.day left join ztv_daybugresolve as t9 on t1.day=t9.day where if($startDate=\'\',1,t1.day>=$startDate) and if($endDate=\'\',1,t1.day<=$endDate)', '{\"varName\":[\"startDate\",\"endDate\"],\"showName\":[\"\\u8d77\\u59cb\\u65f6\\u95f4\",\"\\u7ed3\\u675f\\u65f6\\u95f4\"],\"requestType\":[\"date\",\"date\"],\"selectList\":[\"user\",\"user\"],\"default\":[\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"day\":{\"zh-cn\":\"\\u65e5\\u671f\",\"zh-tw\":\"\\u65e5\\u671f\",\"en\":\"Date\"},\"userlogin\":{\"zh-cn\":\"\\u767b\\u5f55\\u6b21\\u6570\",\"zh-tw\":\"\\u767b\\u9304\\u6b21\\u6578\",\"en\":\"Login\"},\"consumed\":{\"zh-cn\":\"\\u65e5\\u5fd7\\u5de5\\u65f6\",\"zh-tw\":\"\\u65e5\\u8a8c\\u5de5\\u6642\",\"en\":\"Cost(h)\"},\"storyopen\":{\"zh-cn\":\"\\u65b0\\u589e\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u65b0\\u589e\\u9700\\u6c42\\u6578\",\"en\":\"Open Story\"},\"storyclose\":{\"zh-cn\":\"\\u5173\\u95ed\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u95dc\\u9589\\u9700\\u6c42\\u6578\",\"en\":\"Closed Story\"},\"taskopen\":{\"zh-cn\":\"\\u65b0\\u589e\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u65b0\\u589e\\u4efb\\u52d9\\u6578\",\"en\":\"Open Task\"},\"taskfinish\":{\"zh-cn\":\"\\u5b8c\\u6210\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u4efb\\u52d9\\u6578\",\"en\":\"Finished Task\"},\"bugopen\":{\"zh-cn\":\"\\u65b0\\u589eBug\\u6570\",\"zh-tw\":\"\\u65b0\\u589eBug\\u6578\",\"en\":\"Open Bug\"},\"bugresolve\":{\"zh-cn\":\"\\u89e3\\u51b3Bug\\u6570\",\"zh-tw\":\"\\u89e3\\u51b3Bug\\u6578\",\"en\":\"Resolved bug\"},\"actions\":{\"zh-cn\":\"\\u52a8\\u6001\\u6570\",\"zh-tw\":\"\\u52d5\\u614b\\u6578\",\"en\":\"Dynamics\"}}', '{\"group1\":\"day\",\"isUser\":{\"group1\":[\"1\"]},\"group2\":\"\",\"reportField\":[\"userlogin\",\"consumed\",\"storyopen\",\"storyclose\",\"taskopen\",\"taskfinish\",\"bugopen\",\"bugresolve\",\"actions\"],\"reportType\":[\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\"],\"sumAppend\":[\"userlogin\",\"consumed\",\"storyopen\",\"storyclose\",\"taskopen\",\"taskfinish\",\"bugopen\",\"bugresolve\",\"actions\"]}', 2, '{\"zh-cn\":\"\\u53ef\\u4ee5\\u6307\\u5b9a\\u4e00\\u4e2a\\u65f6\\u671f\\uff0c\\u5217\\u51fa\\u76f8\\u5e94\\u7684\\u6570\\u636e\\uff1a1. \\u6bcf\\u5929\\u7684\\u767b\\u5f55\\u6b21\\u6570\\u30022. \\u6bcf\\u5929\\u7684\\u65e5\\u5fd7\\u5de5\\u65f6\\u91cf\\u30023. \\u6bcf\\u5929\\u65b0\\u589e\\u7684\\u9700\\u6c42\\u6570\\u30024. \\u6bcf\\u5929\\u5173\\u95ed\\u7684\\u9700\\u6c42\\u6570\\u30025. \\u6bcf\\u5929\\u65b0\\u589e\\u7684\\u4efb\\u52a1\\u6570\\u30026. \\u6bcf\\u5929\\u5b8c\\u6210\\u7684\\u4efb\\u52a1\\u6570\\u30027. \\u6bcf\\u5929\\u65b0\\u589e\\u7684Bug\\u6570\\u30028. \\u6bcf\\u5929\\u89e3\\u51b3\\u7684Bug\\u6570\\u30029. \\u6bcf\\u5929\\u7684\\u52a8\\u6001\\u6570\\u3002\",\"zh-tw\":\"\\u53ef\\u4ee5\\u6307\\u5b9a\\u4e00\\u500b\\u6642\\u671f\\uff0c\\u5217\\u51fa\\u76f8\\u61c9\\u7684\\u6578\\u64da\\uff1a1. \\u6bcf\\u5929\\u7684\\u767b\\u9304\\u6b21\\u6578\\u30022. \\u6bcf\\u5929\\u7684\\u65e5\\u8a8c\\u5de5\\u6642\\u91cf\\u30023. \\u6bcf\\u5929\\u65b0\\u589e\\u7684\\u9700\\u6c42\\u6578\\u30024. \\u6bcf\\u5929\\u95dc\\u9589\\u7684\\u9700\\u6c42\\u6578\\u30025. \\u6bcf\\u5929\\u65b0\\u589e\\u7684\\u4efb\\u52d9\\u6578\\u30026. \\u6bcf\\u5929\\u5b8c\\u6210\\u7684\\u4efb\\u52d9\\u6578\\u30027. \\u6bcf\\u5929\\u65b0\\u589e\\u7684Bug\\u6578\\u30028. \\u6bcf\\u5929\\u89e3\\u6c7a\\u7684Bug\\u6578\\u30029. \\u6bcf\\u5929\\u7684\\u52d5\\u614b\\u6578\\u3002\",\"en\":\"The summary of company dynamics\"}', 'admin', '2015-07-27 15:09:42'), +('bug-resolve', '{\"zh-cn\":\"Bug\\u89e3\\u51b3\\u8868\",\"zh-tw\":\"Bug\\u89e3\\u6c7a\\u8868\",\"en\":\"Solved Bugs\"}', ',test', 'select *,if($product=\'\',0,product) as customproduct from TABLE_BUG where deleted=\'0\' and resolution!=\'\' and if($startDate=\'\',1,resolvedDate>=$startDate) and if($endDate=\'\',1,resolvedDate<=$endDate) having customproduct=$product', '{\"varName\":[\"product\",\"startDate\",\"endDate\"],\"showName\":[\"\\u4ea7\\u54c1\",\"\\u89e3\\u51b3\\u65e5\\u671f\\u5f00\\u59cb\",\"\\u89e3\\u51b3\\u65e5\\u671f\\u7ed3\\u675f\"],\"requestType\":[\"select\",\"date\",\"date\"],\"selectList\":[\"product\",\"user\",\"user\"],\"default\":[\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"count\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"done\":{\"zh-cn\":\"\\u5b8c\\u6210\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u6570\",\"en\":\"Done\"}}', '{\"group1\":\"resolvedBy\",\"isUser\":{\"group1\":[\"1\"]},\"group2\":\"\",\"reportField\":[\"resolution\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"],\"percent\":[\"1\"],\"contrast\":[\"crystalTotal\"],\"showAlone\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u5217\\u51fa\\u89e3\\u51b3\\u7684Bug\\u603b\\u6570\\uff0c\\u89e3\\u51b3\\u65b9\\u6848\\u7684\\u5206\\u5e03\\uff0c\\u5360\\u7684\\u6bd4\\u4f8b\\uff08\\u8be5\\u7528\\u6237\\u89e3\\u51b3\\u7684Bug\\u7684\\u6570\\u91cf\\u5360\\u6240\\u6709\\u7684\\u89e3\\u51b3\\u7684Bug\\u7684\\u6570\\u91cf)\\u3002\",\"zh-tw\":\"\\u5217\\u51fa\\u89e3\\u6c7a\\u7684Bug\\u7e3d\\u6578\\uff0c\\u89e3\\u6c7a\\u65b9\\u6848\\u7684\\u5206\\u5e03\\uff0c\\u5360\\u7684\\u6bd4\\u4f8b\\uff08\\u8a72\\u7528\\u6236\\u89e3\\u6c7a\\u7684Bug\\u7684\\u6578\\u91cf\\u5360\\u6240\\u6709\\u7684\\u89e3\\u6c7a\\u7684Bug\\u7684\\u6578\\u91cf)\\u3002\",\"en\":\"percentage:self resolved \\/ all resolved\"}', 'admin', '2015-07-24 13:44:25'), +('project-progress', '{\"zh-cn\":\"\\u9879\\u76ee\\u8fdb\\u5c55\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u9032\\u5c55\\u8868\",\"en\":\"Project Progress Report\",\"de\":\"Project Progress Report\",\"fr\":\"Project Progress Report\",\"vi\":\"Project Progress Report\",\"ja\":\"Project Progress Report\"}', ',project', 'select t1.id,t4.name as project,t4.id,IF(t4.multiple="1",t1.name,"") as execution,t1.status,t2.number as tasks,round(t2.consumed,2) as consumed,round(t2.`left`,2) as `left`,t3.stories,t2.undone as undoneTask,t3.undone as undoneStory,t2.totalReal from TABLE_EXECUTION as t1 \r\nleft join ztv_executionsummary as t2 on t1.id=t2.execution\r\nleft join ztv_projectstories as t3 on t1.id=t3.execution\r\nleft join TABLE_PROJECT as t4 on t4.id=t1.project\r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and if($project=\'\',1,t4.id=$project) and if($execution=\'\',1,t1.id=$execution) and if($status=\'\',1,t1.status=$status)', '{\"varName\":[\"project\",\"execution\",\"status\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\"],\"requestType\":[\"select\",\"select\",\"select\"],\"selectList\":[\"project\",\"execution\",\"project.status\"],\"default\":[\"\",\"\",\"\"]}', '{\"stories\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"tasks\":{\"zh-cn\":\"\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u4efb\\u52a1\\u6570\",\"en\":\"Tasks\"},\"undoneStory\":{\"zh-cn\":\"\\u5269\\u4f59\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u5269\\u4f59\\u9700\\u6c42\\u6570\",\"en\":\"Undone Story\"},\"undoneTask\":{\"zh-cn\":\"\\u5269\\u4f59\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u5269\\u4f59\\u4efb\\u52a1\\u6570\",\"en\":\"Undone Task\"},\"consumed\":{\"zh-cn\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"zh-tw\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"en\":\"Cost(h)\"},\"left\":{\"zh-cn\":\"\\u5269\\u4f59\\u5de5\\u65f6\",\"zh-tw\":\"\\u5269\\u4f59\\u5de5\\u65f6\",\"en\":\"Left(h)\"},\"consumedPercent\":{\"zh-cn\":\"\\u8fdb\\u5ea6\",\"zh-tw\":\"\\u8fdb\\u5ea6\",\"en\":\"Process\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"stories\",\"undoneStory\",\"tasks\",\"undoneTask\",\"left\",\"consumed\"],\"reportType\":[\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\"],\"sumAppend\":[\"stories\",\"undoneStory\",\"tasks\",\"undoneTask\",\"left\",\"consumed\"],\"percent\":{\"5\":\"1\"},\"contrast\":{\"5\":\"totalReal\"},\"showAlone\":{\"5\":\"1\"}}', 2, '{\"zh-cn\":\"\\u9879\\u76ee\\u7684\\u9700\\u6c42\\u6570\\uff0c\\u4efb\\u52a1\\u6570\\uff0c\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\\uff0c\\u5269\\u4f59\\u5de5\\u65f6\\uff0c\\u5269\\u4f59\\u9700\\u6c42\\u6570\\uff0c\\u5269\\u4f59\\u4efb\\u52a1\\u6570\\uff0c\\u8fdb\\u5ea6\\u3002\",\"zh-tw\":\"\\u9805\\u76ee\\u7684\\u9700\\u6c42\\u6578\\uff0c\\u4efb\\u52d9\\u6578\\uff0c\\u5df2\\u6d88\\u8017\\u5de5\\u6642\\uff0c\\u5269\\u9918\\u5de5\\u6642\\uff0c\\u5269\\u9918\\u9700\\u6c42\\u6578\\uff0c\\u5269\\u9918\\u4efb\\u52d9\\u6578\\uff0c\\u9032\\u5ea6\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 14:03:06'), +('projectbug-type', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u7c7b\\u578b\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u985e\\u578b\\u7d71\\u8a08\\u8868\",\"en\":\"Project Bug Type\",\"de\":\"Project Bug Type\",\"fr\":\"Project Bug Type\",\"vi\":\"Project Bug Type\",\"ja\":\"Project Bug Type\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,IF(t3.multiple="1",t1.name,"") as execution,t2.id as bugID,t2.type from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"stories\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"tasks\":{\"zh-cn\":\"\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u4efb\\u52a1\\u6570\",\"en\":\"Tasks\"},\"undoneStory\":{\"zh-cn\":\"\\u5269\\u4f59\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u5269\\u4f59\\u9700\\u6c42\\u6570\",\"en\":\"Undone Story\"},\"undoneTask\":{\"zh-cn\":\"\\u5269\\u4f59\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u5269\\u4f59\\u4efb\\u52a1\\u6570\",\"en\":\"Undone Task\"},\"consumed\":{\"zh-cn\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"zh-tw\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"en\":\"Cost(h)\"},\"left\":{\"zh-cn\":\"\\u5269\\u4f59\\u5de5\\u65f6\",\"zh-tw\":\"\\u5269\\u4f59\\u5de5\\u65f6\",\"en\":\"Left(h)\"},\"consumedPercent\":{\"zh-cn\":\"\\u8fdb\\u5ea6\",\"zh-tw\":\"\\u8fdb\\u5ea6\",\"en\":\"Process\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"type\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u7c7b\\u578b\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u985e\\u578b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-08-04 13:54:22'); + +ALTER TABLE `zt_project` ADD `division` enum('0','1') COLLATE 'utf8_general_ci' NOT NULL DEFAULT '1'; diff --git a/db/updateproinstall.sql b/db/updateproinstall.sql index d393bed109..45f00324cf 100644 --- a/db/updateproinstall.sql +++ b/db/updateproinstall.sql @@ -487,6 +487,7 @@ CREATE OR REPLACE VIEW `ztv_daytaskfinish` AS select count(*) AS `taskfinish`,le CREATE OR REPLACE VIEW `ztv_daybugopen` AS select count(*) AS `bugopen`,left(`zt_action`.`date`,10) AS `day` from `zt_action` where ((`zt_action`.`objectType` = 'bug') and (`zt_action`.`action` = 'opened')) group by left(`zt_action`.`date`,10); CREATE OR REPLACE VIEW `ztv_daybugresolve` AS select count(*) AS `bugresolve`,left(`zt_action`.`date`,10) AS `day` from `zt_action` where ((`zt_action`.`objectType` = 'bug') and (`zt_action`.`action` = 'resolved')) group by left(`zt_action`.`date`,10); CREATE OR REPLACE VIEW `ztv_dayactions` AS select count(*) AS `actions`,left(`zt_action`.`date`,10) AS `day` from `zt_action` group by left(`zt_action`.`date`,10); +CREATE OR REPLACE VIEW `ztv_normalproduct` AS SELECT * FROM `zt_product` WHERE `shadow` = 0; REPLACE INTO `zt_report` (`code`, `name`, `module`, `sql`, `vars`, `langs`, `params`, `step`, `desc`, `addedBy`, `addedDate`) VALUES ('product-invest', '{\"zh-cn\":\"\\u4ea7\\u54c1\\u6295\\u5165\\u8868\",\"zh-tw\":\"\\u7522\\u54c1\\u6295\\u5165\\u8868\",\"en\":\"Product Investment\"}', ',product', 'select t1.id,t1.name,1 as projects, round(t3.consumed,2) as consumed from TABLE_PRODUCT as t1\r\n left join TABLE_PROJECTPRODUCT as t2 on t1.id=t2.product\r\n left join ztv_projectsummary as t3 on t2.project=t3.project\r\n left join TABLE_PROJECT as t4 on t2.project=t4.id\r\n left join TABLE_PROGRAM as t5 on t1.program=t5.id\r\n where t1.deleted=\'0\' and t4.deleted=\'0\' and t4.type=\'project\'\r\norder by t5.`order` asc, t1.line desc, t1.`order` asc', '', '{\"projects\":{\"zh-cn\":\"\\u9879\\u76ee\\u6570\",\"zh-tw\":\"\\u9879\\u76ee\\u6570\",\"en\":\"Projects\"},\"consumed\":{\"zh-cn\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"zh-tw\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"en\":\"Cost(h)\"}}', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"projects\",\"consumed\"],\"reportType\":[\"sum\",\"sum\"],\"sumAppend\":[\"projects\",\"consumed\"]}', 2, '{\"zh-cn\":\"\\u5217\\u51fa\\u6bcf\\u4e2a\\u4ea7\\u54c1\\u7684\\u9879\\u76ee\\u603b\\u6570\\uff0c\\u5df2\\u7ecf\\u6d88\\u8017\\u7684\\u5de5\\u65f6\\u3002\",\"zh-tw\":\"\\u5217\\u51fa\\u6bcf\\u500b\\u7522\\u54c1\\u7684\\u9805\\u76ee\\u7e3d\\u6578\\uff0c\\u5df2\\u7d93\\u6d88\\u8017\\u7684\\u5de5\\u6642\\u3002\",\"en\":\"Number of projects and consumed hours.\"}', 'admin', '2015-07-20 14:21:30'), diff --git a/db/zentao.sql b/db/zentao.sql index 04440768fa..935a4b54c4 100755 --- a/db/zentao.sql +++ b/db/zentao.sql @@ -1099,8 +1099,9 @@ CREATE TABLE IF NOT EXISTS `zt_planstory` ( CREATE TABLE IF NOT EXISTS `zt_product` ( `id` mediumint(8) unsigned NOT NULL auto_increment, `program` mediumint(8) unsigned NOT NULL, - `name` varchar(90) NOT NULL, + `name` varchar(110) NOT NULL, `code` varchar(45) NOT NULL, + `shadow` tinyint(1) unsigned NOT NULL, `bind` enum('0','1') NOT NULL DEFAULT '0', `line` mediumint(8) NOT NULL, `type` varchar(30) NOT NULL default 'normal', @@ -1149,6 +1150,7 @@ CREATE TABLE IF NOT EXISTS `zt_project` ( `project` mediumint(8) NOT NULL DEFAULT 0, `model` char(30) NOT NULL, `type` char(30) NOT NULL DEFAULT 'sprint', + `hasProduct` tinyint(1) unsigned NOT NULL DEFAULT 1, `lifetime` char(30) NOT NULL DEFAULT '', `budget` varchar(30) NOT NULL DEFAULT '0', `budgetUnit` char(30) NOT NULL DEFAULT 'CNY', @@ -1196,6 +1198,7 @@ CREATE TABLE IF NOT EXISTS `zt_project` ( `vision` varchar(10) NOT NULL DEFAULT 'rnd', `displayCards` smallint(6) NOT NULL default '0', `fluidBoard` enum('0','1') NOT NULL DEFAULT '0', + `multiple` enum('0','1') NOT NULL DEFAULT '1', `colWidth` smallint(4) NOT NULL DEFAULT '264', `minColWidth` smallint(4) NOT NULL DEFAULT '200', `maxColWidth` smallint(4) NOT NULL DEFAULT '384', @@ -1277,10 +1280,10 @@ CREATE TABLE IF NOT EXISTS `zt_relation` ( -- DROP TABLE IF EXISTS `zt_release`; CREATE TABLE IF NOT EXISTS `zt_release` ( `id` mediumint(8) unsigned NOT NULL auto_increment, - `project` mediumint(8) unsigned NOT NULL, + `project` varchar(255) NOT NULL, `product` mediumint(8) unsigned NOT NULL default '0', - `branch` mediumint(8) unsigned NOT NULL default '0', - `build` mediumint(8) unsigned NOT NULL, + `branch` varchar(255) unsigned NOT NULL default '0', + `build` varchar(255) NOT NULL, `name` varchar(255) NOT NULL default '', `marker` enum('0','1') NOT NULL default '0', `date` date NOT NULL, @@ -1303,6 +1306,7 @@ CREATE TABLE IF NOT EXISTS `zt_release` ( CREATE TABLE IF NOT EXISTS `zt_repo` ( `id` mediumint(9) NOT NULL AUTO_INCREMENT, `product` varchar(255) NOT NULL, + `projects` varchar(255) NOT NULL, `name` varchar(255) NOT NULL, `path` varchar(255) NOT NULL, `prefix` varchar(100) NOT NULL, @@ -7013,33 +7017,36 @@ CREATE OR REPLACE VIEW `ztv_daytaskfinish` AS select count(*) AS `taskfinish`,le CREATE OR REPLACE VIEW `ztv_daybugopen` AS select count(*) AS `bugopen`,left(`zt_action`.`date`,10) AS `day` from `zt_action` where ((`zt_action`.`objectType` = 'bug') and (`zt_action`.`action` = 'opened')) group by left(`zt_action`.`date`,10); CREATE OR REPLACE VIEW `ztv_daybugresolve` AS select count(*) AS `bugresolve`,left(`zt_action`.`date`,10) AS `day` from `zt_action` where ((`zt_action`.`objectType` = 'bug') and (`zt_action`.`action` = 'resolved')) group by left(`zt_action`.`date`,10); CREATE OR REPLACE VIEW `ztv_dayactions` AS select count(*) AS `actions`,left(`zt_action`.`date`,10) AS `day` from `zt_action` group by left(`zt_action`.`date`,10); +CREATE OR REPLACE VIEW `ztv_normalproduct` AS SELECT * FROM `zt_product` WHERE `shadow` = 0; REPLACE INTO `zt_report` (`code`, `name`, `module`, `sql`, `vars`, `langs`, `params`, `step`, `desc`, `addedBy`, `addedDate`) VALUES +('product-invest', '{\"zh-cn\":\"\\u4ea7\\u54c1\\u6295\\u5165\\u8868\",\"zh-tw\":\"\\u7522\\u54c1\\u6295\\u5165\\u8868\",\"en\":\"Product Investment\"}', ',product', 'select t1.id,t1.name,1 as projects, round(t3.consumed,2) as consumed from TABLE_PRODUCT as t1\r\n left join TABLE_PROJECTPRODUCT as t2 on t1.id=t2.product\r\n left join ztv_projectsummary as t3 on t2.project=t3.project\r\n left join TABLE_PROJECT as t4 on t2.project=t4.id\r\n left join TABLE_PROGRAM as t5 on t1.program=t5.id\r\n where t1.deleted=\'0\' and t4.deleted=\'0\' and t4.type=\'project\'\r\norder by t5.`order` asc, t1.line desc, t1.`order` asc', '', '{\"projects\":{\"zh-cn\":\"\\u9879\\u76ee\\u6570\",\"zh-tw\":\"\\u9879\\u76ee\\u6570\",\"en\":\"Projects\"},\"consumed\":{\"zh-cn\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"zh-tw\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"en\":\"Cost(h)\"}}', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"projects\",\"consumed\"],\"reportType\":[\"sum\",\"sum\"],\"sumAppend\":[\"projects\",\"consumed\"]}', 2, '{\"zh-cn\":\"\\u5217\\u51fa\\u6bcf\\u4e2a\\u4ea7\\u54c1\\u7684\\u9879\\u76ee\\u603b\\u6570\\uff0c\\u5df2\\u7ecf\\u6d88\\u8017\\u7684\\u5de5\\u65f6\\u3002\",\"zh-tw\":\"\\u5217\\u51fa\\u6bcf\\u500b\\u7522\\u54c1\\u7684\\u9805\\u76ee\\u7e3d\\u6578\\uff0c\\u5df2\\u7d93\\u6d88\\u8017\\u7684\\u5de5\\u6642\\u3002\",\"en\":\"Number of projects and consumed hours.\"}', 'admin', '2015-07-20 14:21:30'), ('product-progress', '{\"zh-cn\":\"\\u4ea7\\u54c1\\u5b8c\\u6210\\u5ea6\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u7522\\u54c1\\u5b8c\\u6210\\u5ea6\\u7d71\\u8a08\\u8868\",\"en\":\"Product Progress\"}', ',product', 'select t1.*,t2.name, (case when t1.status = \'closed\' or t1.stage = \'released\' then 1 else 0 end) as done, 1 as count from TABLE_STORY as t1 \r\nleft join TABLE_PRODUCT as t2 on t1.product=t2.id \r\nleft join TABLE_PROGRAM as t3 on t2.program=t3.id \r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\'\r\norder by t3.`order` asc, t2.line desc, t2.`order` asc', '', '{\"count\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"done\":{\"zh-cn\":\"\\u5b8c\\u6210\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u6570\",\"en\":\"Done\"}}', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"count\",\"done\"],\"reportType\":[\"sum\",\"sum\"],\"sumAppend\":[\"count\",\"done\"],\"percent\":{\"1\":\"1\"},\"contrast\":{\"1\":\"count\"},\"showAlone\":{\"1\":\"1\"}}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u4ea7\\u54c1\\u5217\\u51fa\\u9700\\u6c42\\u603b\\u6570\\uff0c\\u5b8c\\u6210\\u7684\\u603b\\u6570(\\u72b6\\u6001\\u662f\\u5173\\u95ed\\uff0c\\u6216\\u8005\\u7814\\u53d1\\u9636\\u6bb5\\u662f\\u53d1\\u5e03)\\uff0c\\u5b8c\\u6210\\u7684\\u767e\\u5206\\u6bd4\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u7522\\u54c1\\u5217\\u51fa\\u9700\\u6c42\\u7e3d\\u6578\\uff0c\\u5b8c\\u6210\\u7684\\u7e3d\\u6578(\\u72c0\\u614b\\u662f\\u95dc\\u9589\\uff0c\\u6216\\u8005\\u7814\\u767c\\u968e\\u6bb5\\u662f\\u767c\\u5e03)\\uff0c\\u5b8c\\u6210\\u7684\\u767e\\u5206\\u6bd4\\u3002\",\"en\":\"Number of total stories,done stories(state is closed, or stage is released), percent of completion.\"}', 'admin', '2015-07-21 15:07:48'), ('story-status', '{\"zh-cn\":\"\\u4ea7\\u54c1\\u9700\\u6c42\\u72b6\\u6001\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u7522\\u54c1\\u9700\\u6c42\\u72c0\\u614b\\u5206\\u5e03\\u8868\",\"en\":\"Story Status\"}', ',product', 'select t1.*,t2.name from TABLE_STORY as t1\r\n left join TABLE_PRODUCT as t2 on t1.product=t2.id \r\nleft join TABLE_PROGRAM as t3 on t2.program=t3.id \r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\'\r\norder by t3.`order` asc, t2.line desc, t2.`order` asc', '', '', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"status\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u4ea7\\u54c1\\u5217\\u51fa\\u9700\\u6c42\\u603b\\u6570\\uff0c\\u72b6\\u6001\\u7684\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u7522\\u54c1\\u5217\\u51fa\\u9700\\u6c42\\u7e3d\\u6578\\uff0c\\u72c0\\u614b\\u7684\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"Total number and status distribution of stories.\"}', 'admin', '2015-07-21 15:35:38'), ('story-stage', '{\"zh-cn\":\"\\u4ea7\\u54c1\\u9700\\u6c42\\u9636\\u6bb5\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u7522\\u54c1\\u9700\\u6c42\\u968e\\u6bb5\\u5206\\u5e03\\u8868\",\"en\":\"Story Stage\"}', ',product', 'select t1.*,t2.name from TABLE_STORY as t1\r\n left join TABLE_PRODUCT as t2 on t1.product=t2.id \r\nleft join TABLE_PROGRAM as t3 on t2.program=t3.id \r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\'\r\norder by t3.`order` asc, t2.line desc, t2.`order` asc', '', '', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"stage\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u4ea7\\u54c1\\u5217\\u51fa\\u9700\\u6c42\\u603b\\u6570\\uff0c\\u7814\\u53d1\\u9636\\u6bb5\\u7684\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u7522\\u54c1\\u5217\\u51fa\\u9700\\u6c42\\u7e3d\\u6578\\uff0c\\u7814\\u767c\\u968e\\u6bb5\\u7684\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"Total number and stage distribution of stories \"}', 'admin', '2015-07-21 15:38:34'), -('product-release', '{\"zh-cn\":\"\\u4ea7\\u54c1\\u53d1\\u5e03\\u6570\\u91cf\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u7522\\u54c1\\u767c\\u5e03\\u6578\\u91cf\\u7d71\\u8a08\\u8868\",\"en\":\"Product Release\"}', ',product', 'select t2.name, 1 as releases from TABLE_RELEASE as t1 \r\nleft join TABLE_PRODUCT as t2 on t1.product=t2.id \r\nleft join TABLE_PROGRAM as t3 on t2.program=t3.id \r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\'\r\norder by t3.`order` asc, t2.line desc, t2.`order` asc', '', '{\"count\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"done\":{\"zh-cn\":\"\\u5b8c\\u6210\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u6570\",\"en\":\"Done\"}}', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"releases\"],\"reportType\":[\"sum\"],\"sumAppend\":[\"releases\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u4ea7\\u54c1\\u5217\\u51fa\\u53d1\\u5e03\\u7684\\u6570\\u91cf\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u7522\\u54c1\\u5217\\u51fa\\u767c\\u5e03\\u7684\\u6578\\u91cf\\u3002\",\"en\":\"List the number of releases by product.\"}', 'admin', '2015-07-21 16:00:52'), -('task-status', '{\"zh-cn\":\"\\u4efb\\u52a1\\u72b6\\u6001\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u4efb\\u52d9\\u72c0\\u614b\\u7d71\\u8a08\\u8868\",\"en\":\"Task Status Report\"}', ',project', 'select t1.id,t3.name as project,t1.name,t2.status,t1.name as execution,t2.id as taskID, t1.status as projectstatus, (case when t2.deadline < CURDATE() and t2.deadline != \'0000-00-00\' and t2.status != \'closed\' and t2.status != \'done\' and t2.status != \'cancel\' then 1 else 0 end) as timeout from TABLE_EXECUTION as t1\r\n left join TABLE_TASK as t2 on t1.id=t2.execution\r\n left join TABLE_PROJECT as t3 on t3.id=t1.project\r\n where t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and t2.deleted=\'0\' and if($project=\'\',1,t3.id=$project) and if($status=\'\',1,t1.status=$status) and if($beginDate=\'\',1,t1.begin>=$beginDate) and if($endDate=\'\',1,t1.end<=$endDate)', '{\"varName\":[\"project\",\"status\",\"beginDate\",\"endDate\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\",\"\\u6267\\u884c\\u8d77\\u59cb\\u65e5\\u671f\",\"\\u6267\\u884c\\u7ed3\\u675f\\u65e5\\u671f\"],\"requestType\":[\"select\",\"select\",\"date\",\"date\"],\"selectList\":[\"project\",\"project.status\",\"user\",\"user\"],\"default\":[\"\",\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"status\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u6267\\u884c\\u7edf\\u8ba1\\u4efb\\u52a1\\u7684\\u72b6\\u6001\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u57f7\\u884c\\u7d71\\u8a08\\u4efb\\u52d9\\u7684\\u72c0\\u614b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"Based on the status distribution of statistical tasks.\"}', 'admin', '2015-07-22 11:28:33'), -('task-type', '{\"zh-cn\":\"\\u4efb\\u52a1\\u7c7b\\u578b\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u4efb\\u52d9\\u985e\\u578b\\u7d71\\u8a08\\u8868\",\"en\":\"Task Type Report\"}', ',project', 'select t1.id,t3.name as project,t1.name as execution,t2.type,t2.id as taskID, t1.status as projectstatus from TABLE_EXECUTION as t1 \r\nleft join TABLE_TASK as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and t2.deleted=\'0\' and if($project=\'\',1,t3.id=$project) and if($status=\'\',1,t1.status=$status) and if($beginDate=\'\',1,t1.begin>=$beginDate) and if($endDate=\'\',1,t1.end<=$endDate)', '{\"varName\":[\"project\",\"status\",\"beginDate\",\"endDate\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\",\"\\u6267\\u884c\\u8d77\\u59cb\\u65e5\\u671f\",\"\\u6267\\u884c\\u7ed3\\u675f\\u65e5\\u671f\"],\"requestType\":[\"select\",\"select\",\"date\",\"date\"],\"selectList\":[\"project\",\"project.status\",\"user\",\"user\"],\"default\":[\"\",\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"type\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1\\u4efb\\u52a1\\u7684\\u7c7b\\u578b\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08\\u4efb\\u52d9\\u7684\\u985e\\u578b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"According to the type of statistical task distribution.\"}', 'admin', '2015-07-22 13:06:46'), -('task-assign', '{\"zh-cn\":\"\\u9879\\u76ee\\u4efb\\u52a1\\u6307\\u6d3e\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u4efb\\u52d9\\u6307\\u6d3e\\u7d71\\u8a08\\u8868\",\"en\":\"Task Assign Report\"}', ',project', 'select t1.id,t4.name as project,t1.name as execution,if(t3.account is not null, t3.account,t2.assignedTo) as assignedTo,t2.id as taskID, t1.status as projectstatus from TABLE_EXECUTION as t1\r\n left join TABLE_TASK as t2 on t1.id=t2.execution\r\n left join TABLE_TEAM as t3 on t3.type=\'task\' && t3.root=t2.id \r\nleft join TABLE_PROJECT as t4 on t1.project=t4.id\r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and t2.deleted=\'0\' and if($project=\'\',1,t4.id=$project) and if($status=\'\',1,t1.status=$status) and if($beginDate=\'\',1,t1.begin>=$beginDate) and if($endDate=\'\',1,t1.end<=$endDate)', '{\"varName\":[\"project\",\"status\",\"beginDate\",\"endDate\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\",\"\\u6267\\u884c\\u8d77\\u59cb\\u65e5\\u671f\",\"\\u6267\\u884c\\u7ed3\\u675f\\u65e5\\u671f\"],\"requestType\":[\"select\",\"select\",\"date\",\"date\"],\"selectList\":[\"project\",\"project.status\",\"user\",\"user\"],\"default\":[\"\",\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"assignedTo\":{\"zh-cn\":\"\\u6307\\u6d3e\\u7ed9\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"assignedTo\"],\"isUser\":{\"reportField\":[[\"1\"]]},\"reportType\":[\"count\"],\"sumAppend\":[\"\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1\\u4efb\\u52a1\\u7684\\u6307\\u6d3e\\u7ed9\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08\\u4efb\\u52d9\\u7684\\u6307\\u6d3e\\u7d66\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"According to the project statistics task assigned to the distribution.\"}', 'admin', '2015-07-22 13:13:28'), -('task-finish', '{\"zh-cn\":\"\\u9879\\u76ee\\u4efb\\u52a1\\u5b8c\\u6210\\u8005\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u4efb\\u52d9\\u5b8c\\u6210\\u8005\\u7d71\\u8a08\\u8868\",\"en\":\"Task Finish Report\"}', ',project', 'select t1.id,t3.name as project,t1.name as execution,t2.finishedBy,t2.id as taskID, t1.status as projectstatus from TABLE_EXECUTION as t1 \r\nleft join TABLE_TASK as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t1.project=t3.id \r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and t2.deleted=\'0\' and t2.finishedBy!=\'\' and if($project=\'\',1,t3.id=$project) and if($status=\'\',1,t1.status=$status) and if($beginDate=\'\',1,t1.begin>=$beginDate) and if($endDate=\'\',1,t1.end<=$endDate)', '{\"varName\":[\"project\",\"status\",\"beginDate\",\"endDate\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\",\"\\u6267\\u884c\\u8d77\\u59cb\\u65e5\\u671f\",\"\\u6267\\u884c\\u7ed3\\u675f\\u65e5\\u671f\"],\"requestType\":[\"select\",\"select\",\"date\",\"date\"],\"selectList\":[\"project\",\"project.status\",\"user\",\"user\"],\"default\":[\"\",\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"finishedBy\"],\"isUser\":{\"reportField\":[[\"1\"]]},\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1\\u4efb\\u52a1\\u7684\\u5b8c\\u6210\\u8005\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08\\u4efb\\u52d9\\u7684\\u5b8c\\u6210\\u8005\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"According to the project statistics task completion distribution.\"}', 'admin', '2015-07-22 13:16:21'), -('project-invest', '{\"zh-cn\":\"\\u9879\\u76ee\\u6295\\u5165\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u6295\\u5165\\u7d71\\u8a08\\u8868\",\"en\":\"Project Invest Report\"}', ',project', 'select t1.id,t5.name as project,t1.name as execution,CONCAT(t1.begin,\' ~ \',t1.end) as timeLimit,t2.teams,t3.stories,round(t4.consumed,1) as consumed,t4.number, t1.status as projectstatus \r\nfrom TABLE_EXECUTION as t1\r\n left join ztv_projectteams as t2 on t1.id=t2.execution\r\nleft join ztv_projectstories as t3 on t1.id=t3.execution\r\n left join ztv_executionsummary as t4 on t1.id=t4.execution \r\nleft join TABLE_PROJECT as t5 on t1.project=t5.id \r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and if($project=\'\',1,t5.id=$project) and if($status=\'\',1,t1.status=$status) and if($beginDate=\'\',1,t1.begin>=$beginDate) and if($endDate=\'\',1,t1.end<=$endDate)', '{\"varName\":[\"project\",\"status\",\"beginDate\",\"endDate\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\",\"\\u6267\\u884c\\u8d77\\u59cb\\u65e5\\u671f\",\"\\u6267\\u884c\\u7ed3\\u675f\\u65e5\\u671f\"],\"requestType\":[\"select\",\"select\",\"date\",\"date\"],\"selectList\":[\"project\",\"project.status\",\"user\",\"user\"],\"default\":[\"\",\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"timeLimit\":{\"zh-cn\":\"\\u5de5\\u671f\"},\"teams\":{\"zh-cn\":\"\\u4eba\\u6570\"},\"stories\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\"},\"consumed\":{\"zh-cn\":\"\\u603b\\u6d88\\u8017\"},\"number\":{\"zh-cn\":\"\\u4efb\\u52a1\\u6570\"},\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"number\",\"stories\",\"teams\",\"consumed\"],\"reportType\":[\"sum\",\"sum\",\"sum\",\"sum\"],\"sumAppend\":[\"number\",\"stories\",\"teams\",\"consumed\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u5217\\u51fa\\uff1a\\u4efb\\u52a1\\u6570\\uff0c\\u9700\\u6c42\\u6570\\uff0c\\u4eba\\u6570\\uff0c\\u603b\\u6d88\\u8017\\u5de5\\u65f6\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u5217\\u51fa\\uff1a\\u4efb\\u52d9\\u6578\\uff0c\\u9700\\u6c42\\u6578\\uff0c\\u4eba\\u6578\\uff0c\\u7e3d\\u6d88\\u8017\\u5de5\\u6642\\u3002\",\"en\":\"Listed by project: number of tasks, number of demands, number of people, total hours consumed.\"}', 'admin', '2015-07-22 16:37:38'), -('projectstory-status', '{\"zh-cn\":\"\\u9879\\u76ee\\u9700\\u6c42\\u72b6\\u6001\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u9700\\u6c42\\u72c0\\u614b\\u5206\\u5e03\\u8868\",\"en\":\"Project Story Status\"}', ',project', 'select t2.id, t4.name as project,t2.name as execution,t3.status from TABLE_PROJECTSTORY as t1 \r\nleft join TABLE_EXECUTION as t2 on t1.project=t2.id \r\nleft join TABLE_STORY as t3 on t1.story=t3.id \r\nleft join TABLE_PROJECT as t4 on t4.id=t2.project\r\nwhere t2.deleted=\'0\' and t2.type in(\'sprint\', \'stage\') and if($project=\'\',1,t4.id=$project) and if($execution=\'\',1,t2.id=$execution) and if($status=\'\',1,t2.status=$status)', '{\"varName\":[\"project\",\"execution\",\"status\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\"],\"requestType\":[\"select\",\"select\",\"select\"],\"selectList\":[\"project\",\"execution\",\"project.status\"],\"default\":[\"\",\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"status\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1\\u9700\\u6c42\\u7684\\u72b6\\u6001\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08\\u9700\\u6c42\\u7684\\u72c0\\u614b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"According to the project statistics requirement status distribution.\"}', 'admin', '2015-07-23 15:35:08'), -('project-stage', '{\"zh-cn\":\"\\u9879\\u76ee\\u9700\\u6c42\\u9636\\u6bb5\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u9700\\u6c42\\u968e\\u6bb5\\u5206\\u5e03\\u8868\",\"en\":\"Project Stage Report\"}', ',project', 'select t2.id, t4.name as project,t2.name as execution,t3.stage from TABLE_PROJECTSTORY as t1 \r\nleft join TABLE_EXECUTION as t2 on t1.project=t2.id \r\nleft join TABLE_STORY as t3 on t1.story=t3.id \r\nleft join TABLE_PROJECT as t4 on t4.id=t2.project\r\nwhere t2.deleted=\'0\' and t2.type in(\'sprint\', \'stage\') and if($project=\'\',1,t4.id=$project) and if($execution=\'\',1,t2.id=$execution) and if($status=\'\',1,t2.status=$status)', '{\"varName\":[\"project\",\"execution\",\"status\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\"],\"requestType\":[\"select\",\"select\",\"select\"],\"selectList\":[\"project\",\"execution\",\"project.status\"],\"default\":[\"\",\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"stage\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1\\u9700\\u6c42\\u9636\\u6bb5\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08\\u9700\\u6c42\\u968e\\u6bb5\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"According to the project statistics demand stage distribution.\"}', 'admin', '2015-07-23 15:38:18'), -('projectbug-resolution', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u89e3\\u51b3\\u65b9\\u6848\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u89e3\\u6c7a\\u65b9\\u6848\\u5206\\u5e03\\u8868\",\"en\":\"Project Bug Resolution\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,t1.name as execution,t1.id as bugID,t2.resolution from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\n where t1.deleted=\'0\' and t2.deleted=\'0\' and t2.resolution!=\'\' having bugID!=\'\' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"resolution\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u89e3\\u51b3\\u65b9\\u6848\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u89e3\\u6c7a\\u65b9\\u6848\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"Solution distribution of statistical bugs by project.\"}', 'admin', '2015-07-23 16:04:46'), -('projectbug-status', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u72b6\\u6001\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u72c0\\u614b\\u5206\\u5e03\\u8868\",\"en\":\"Project Bug Status\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,t1.name as execution,t1.id as bugID,t2.status from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\' having bugID!=\' \' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"status\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u72b6\\u6001\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u72c0\\u614b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"Statistics Bug status distribution by project.\"}', 'admin', '2015-07-23 15:48:03'), -('projectbug-opened', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u521b\\u5efa\\u8005\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u5275\\u5efa\\u8005\\u5206\\u5e03\\u8868\",\"en\":\"Project Bug Opened\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,t1.name as execution,t1.id as bugID,t2.openedBy from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\' having bugID!=\'\' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"openedBy\"],\"isUser\":{\"reportField\":[[\"1\"]]},\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u521b\\u5efa\\u8005\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u5275\\u5efa\\u8005\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"Bug creator distribution by project.\"}', 'admin', '2015-07-23 16:08:10'), -('projectbug-resolve', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u89e3\\u51b3\\u8005\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u89e3\\u6c7a\\u8005\\u5206\\u5e03\\u8868\",\"en\":\"Project Bug Resolve\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,t1.name as execution,t1.id as bugID,t2.resolvedBy from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\' and t2.status!=\'active\' and t2.resolvedBy!=\'\' having bugID!=\'\' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"resolvedBy\"],\"isUser\":{\"reportField\":[[\"1\"]]},\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u89e3\\u51b3\\u8005\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u89e3\\u6c7a\\u8005\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"Bug solver distribution by project.\"}', 'admin', '2015-07-23 16:13:16'), -('projectbug-assign', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u6307\\u6d3e\\u7ed9\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u6307\\u6d3e\\u7d66\\u5206\\u5e03\\u8868\",\"en\":\"Project Bug Assign\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,t1.name as execution,t1.id as bugID,t2.assignedTo from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution \r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\' having bugID!=\'\' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"assignedTo\"],\"isUser\":{\"reportField\":[[\"1\"]]},\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u6307\\u6d3e\\u7ed9\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u6307\\u6d3e\\u7d66\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"According to the project statistics Bug assigned to the distribution.\"}', 'admin', '2015-07-23 16:29:10'), -('project-quality', '{\"zh-cn\":\"\\u9879\\u76ee\\u8d28\\u91cf\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u8cea\\u91cf\\u8868\",\"en\":\"Project Quality Report\"}', ',project', 'select t1.id, t5.name as project,t5.id,t1.name as execution,t2.stories,(t2.stories-t2.undone) as doneStory,t3.number,(t3.number-t3.undone) as doneTask,t4.bugs,t4.resolutions, round(t4.bugs/(t2.stories-t2.undone),2) as bugthanstory,round(t4.bugs/(t3.number-t3.undone),2) as bugthantask,t4.seriousBugs from TABLE_EXECUTION as t1 \r\nleft join ztv_projectstories as t2 on t1.id=t2.execution\r\nleft join ztv_executionsummary as t3 on t1.id=t3.execution\r\nleft join ztv_projectbugs as t4 on t1.id=t4.execution\r\nleft join TABLE_PROJECT as t5 on t5.id=t1.project\r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and t1.grade=\'1\' and if($project=\'\',1,t5.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"stories\":{\"zh-cn\":\"\\u9700\\u6c42\\u603b\\u6570\"},\"doneStory\":{\"zh-cn\":\"\\u5b8c\\u6210\\u9700\\u6c42\\u6570\"},\"number\":{\"zh-cn\":\"\\u4efb\\u52a1\\u603b\\u6570\"},\"doneTask\":{\"zh-cn\":\"\\u5b8c\\u6210\\u4efb\\u52a1\\u6570\"},\"bugs\":{\"zh-cn\":\"Bug\\u6570\"},\"resolutions\":{\"zh-cn\":\"\\u89e3\\u51b3Bug\\u6570\"},\"bugthanstory\":{\"zh-cn\":\"Bug\\/\\u5b8c\\u6210\\u9700\\u6c42\"},\"bugthantask\":{\"zh-cn\":\"Bug\\/\\u5b8c\\u6210\\u4efb\\u52a1\"},\"seriousBugs\":{\"zh-cn\":\"\\u91cd\\u8981Bug\\u6570\"},\"seriousBugsPercent\":{\"zh-cn\":\"\\u4e25\\u91cdBug\\u6bd4\\u7387\"},\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"stories\",\"doneStory\",\"number\",\"doneTask\",\"bugs\",\"resolutions\",\"bugthanstory\",\"bugthantask\",\"seriousBugs\"],\"reportType\":[\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\"],\"sumAppend\":[\"stories\",\"doneStory\",\"number\",\"doneTask\",\"bugs\",\"resolutions\",\"bugthanstory\",\"bugthantask\",\"seriousBugs\"]}', 2, '{\"zh-cn\":\"\\u5217\\u51fa\\u9879\\u76ee\\u7684\\u9700\\u6c42\\u603b\\u6570\\uff0c\\u5b8c\\u6210\\u9700\\u6c42\\u6570\\uff0c\\u4efb\\u52a1\\u603b\\u6570\\uff0c\\u5b8c\\u6210\\u7684\\u4efb\\u52a1\\u6570\\uff0cBug\\u6570\\uff0c\\u89e3\\u51b3\\u7684Bug\\u6570\\uff0cBug\\/\\u9700\\u6c42\\uff0cBug\\/\\u4efb\\u52a1\\uff0c\\u91cd\\u8981Bug\\u6570\\u91cf(\\u4e25\\u91cd\\u7a0b\\u5ea6\\u4e0d\\u5927\\u4e8e3\\uff09\\u3002\",\"zh-tw\":\"\\u5217\\u51fa\\u9805\\u76ee\\u7684\\u9700\\u6c42\\u7e3d\\u6578\\uff0c\\u5b8c\\u6210\\u9700\\u6c42\\u6578\\uff0c\\u4efb\\u52d9\\u7e3d\\u6578\\uff0c\\u5b8c\\u6210\\u7684\\u4efb\\u52d9\\u6578\\uff0cBug\\u6578\\uff0c\\u89e3\\u6c7a\\u7684Bug\\u6578\\uff0cBug\\/\\u9700\\u6c42\\uff0cBug\\/\\u4efb\\u52d9\\uff0c\\u91cd\\u8981Bug\\u6578\\u91cf(\\u56b4\\u91cd\\u7a0b\\u5ea6\\u4e0d\\u5927\\u65bc3\\uff09\\u3002\",\"en\":\"List total requirements, completed requirements, total tasks, completed tasks, bugs, solved bugs, bugs\\/requirements, bugs\\/tasks, critical bugs (severity not greater than 3) for the project.\"}', 'admin', '2015-07-23 17:03:10'), -('productbug-type', '{\"zh-cn\":\"\\u4ea7\\u54c1Bug\\u7c7b\\u578b\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u7522\\u54c1Bug\\u985e\\u578b\\u7d71\\u8a08\\u8868\",\"en\":\"Bug Type of Product\"}', ',product,test', 'select t1.id,t1.name,t2.id as bugID,t2.type from TABLE_PRODUCT as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.product \r\nleft join TABLE_PROGRAM as t3 on t1.program=t3.id \r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\'\r\norder by t3.`order` asc, t1.line desc, t1.`order` asc', '', '{\"count\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"done\":{\"zh-cn\":\"\\u5b8c\\u6210\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u6570\",\"en\":\"Done\"}}', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"type\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u4ea7\\u54c1\\u7edf\\u8ba1Bug\\u7684\\u7c7b\\u578b\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u7522\\u54c1\\u7d71\\u8a08Bug\\u7684\\u985e\\u578b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"The distribution of Bug types by product statistics.\"}', 'admin', '2015-07-24 13:48:22'), -('product-quality', '{\"zh-cn\":\"\\u4ea7\\u54c1\\u8d28\\u91cf\\u8868\",\"zh-tw\":\"\\u7522\\u54c1\\u8cea\\u91cf\\u8868\",\"en\":\"Product Quality\"}', ',product', 'select t1.id,t1.name,t2.stories,(t2.stories-t2.undone) as doneStory,t3.bugs,t3.resolutions,round(t3.bugs/(t2.stories-t2.undone),2) as bugthanstory,t3.seriousBugs from TABLE_PRODUCT as t1 \r\nleft join ztv_productstories as t2 on t1.id=t2.product \r\nleft join ztv_productbugs as t3 on t1.id=t3.product \r\nleft join TABLE_PROGRAM as t4 on t1.program=t4.id \r\nwhere t1.deleted=\'0\'\r\norder by t4.`order` asc, t1.line desc, t1.`order` asc', '', '{\"stories\":{\"zh-cn\":\"\\u9700\\u6c42\\u603b\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u603b\\u6570\",\"en\":\"Stories\"},\"doneStory\":{\"zh-cn\":\"\\u5b8c\\u6210\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u9700\\u6c42\\u6570\",\"en\":\"Finished Stories\"},\"bugs\":{\"zh-cn\":\"Bug\\u6570\",\"zh-tw\":\"Bug\\u6570\",\"en\":\"Bugs\"},\"resolutions\":{\"zh-cn\":\"\\u89e3\\u51b3Bug\\u6570\",\"zh-tw\":\"\\u89e3\\u51b3Bug\\u6570\",\"en\":\"Solved Bugs\"},\"bugthanstory\":{\"zh-cn\":\"Bug\\/\\u5b8c\\u6210\\u9700\\u6c42\",\"zh-tw\":\"Bug\\/\\u5b8c\\u6210\\u9700\\u6c42\",\"en\":\"Bug\\/Finished Story\"},\"seriousBugs\":{\"zh-cn\":\"\\u91cd\\u8981Bug\\u6570\",\"zh-tw\":\"\\u91cd\\u8981Bug\\u6570\",\"en\":\"Serious Bugs\"},\"seriousBugsPercent\":{\"zh-cn\":\"\\u4e25\\u91cdbug\\u6bd4\\u7387\",\"zh-tw\":\"\\u4e25\\u91cdbug\\u6bd4\\u7387\",\"en\":\"Serious Bugs %\"}}', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"stories\",\"doneStory\",\"bugs\",\"resolutions\",\"bugthanstory\",\"seriousBugs\"],\"reportType\":[\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\"],\"sumAppend\":[\"stories\",\"doneStory\",\"bugs\",\"resolutions\",\"bugthanstory\",\"seriousBugs\"],\"percent\":{\"5\":\"1\"},\"contrast\":{\"5\":\"bugs\"},\"showAlone\":{\"5\":\"1\"}}', 2, '{\"zh-cn\":\"\\u5217\\u51fa\\u4ea7\\u54c1\\u7684\\u9700\\u6c42\\u6570\\uff0c\\u5b8c\\u6210\\u7684\\u9700\\u6c42\\u603b\\u6570\\uff0cBug\\u6570\\uff0c\\u89e3\\u51b3\\u7684Bug\\u603b\\u6570\\uff0cBug\\/\\u9700\\u6c42\\uff0c\\u91cd\\u8981Bug\\u6570\\u91cf(\\u4e25\\u91cd\\u7a0b\\u5ea6\\u4e0d\\u5927\\u4e8e3)\\u3002\",\"zh-tw\":\"\\u5217\\u51fa\\u7522\\u54c1\\u7684\\u9700\\u6c42\\u6578\\uff0c\\u5b8c\\u6210\\u7684\\u9700\\u6c42\\u7e3d\\u6578\\uff0cBug\\u6578\\uff0c\\u89e3\\u6c7a\\u7684Bug\\u7e3d\\u6578\\uff0cBug\\/\\u9700\\u6c42\\uff0c\\u91cd\\u8981Bug\\u6578\\u91cf(\\u56b4\\u91cd\\u7a0b\\u5ea6\\u4e0d\\u5927\\u65bc3)\\u3002\",\"en\":\"List requirements for the product, total requirements completed, number of bugs, number of bugs solved, bugs\\/requirements, number of significant bugs (severity not greater than 3).\"}', 'admin', '2015-07-23 17:17:40'), -('user-login', '{\"zh-cn\":\"\\u5458\\u5de5\\u767b\\u5f55\\u6b21\\u6570\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u54e1\\u5de5\\u767b\\u9304\\u6b21\\u6578\\u7d71\\u8a08\\u8868\",\"en\":\"Login Times\"}', ',staff', 'select actor,LEFT(`date`,10) as `day` from TABLE_ACTION where `action`=\'login\' and if($startDate=\'\',1,`date`>=$startDate) and if($endDate=\'\',1,`date`<=$endDate) order by `date` asc, actor asc', '{\"varName\":[\"startDate\",\"endDate\"],\"showName\":[\"\\u8d77\\u59cb\\u65f6\\u95f4\",\"\\u7ed3\\u675f\\u65f6\\u95f4\"],\"requestType\":[\"date\",\"date\"],\"selectList\":[\"user\",\"user\"],\"default\":[\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"count\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"done\":{\"zh-cn\":\"\\u5b8c\\u6210\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u6570\",\"en\":\"Done\"}}', '{\"group1\":\"actor\",\"isUser\":{\"group1\":[\"1\"]},\"group2\":\"\",\"reportField\":[\"day\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u5b9e\\u73b0\\u5458\\u5de5\\u767b\\u5f55\\u6b21\\u6570\\u7edf\\u8ba1\\u62a5\\u8868\\uff0c\\u6309\\u7167\\u5929\\u7edf\\u8ba1\\u6bcf\\u5929\\u6bcf\\u4e2a\\u4eba\\u7684\\u767b\\u5f55\\u6b21\\u6570\\uff0c\\u4ee5\\u53ca\\u603b\\u6570\\u3002\",\"zh-tw\":\"\\u5be6\\u73fe\\u54e1\\u5de5\\u767b\\u9304\\u6b21\\u6578\\u7d71\\u8a08\\u5831\\u8868\\uff0c\\u6309\\u7167\\u5929\\u7d71\\u8a08\\u6bcf\\u5929\\u6bcf\\u500b\\u4eba\\u7684\\u767b\\u9304\\u6b21\\u6578\\uff0c\\u4ee5\\u53ca\\u7e3d\\u6578\\u3002\",\"en\":\"Realize the employee login times statistics report, counting the login times of each person and the total number by day.\"}', 'admin', '2015-07-24 14:28:11'), -('effort', '{\"zh-cn\":\"\\u65e5\\u5fd7\\u6c47\\u603b\\u8868\",\"zh-tw\":\"\\u65e5\\u8a8c\\u532f\\u7e3d\\u8868\",\"en\":\"Effort Summary\"}', ',staff', 'select t1.account,t1.consumed,t1.`date`,if($dept=\'0\',0,t2.dept) as dept from TABLE_EFFORT as t1 left join TABLE_USER as t2 on t1.account=t2.account where t1.`deleted`=\'0\' and if($startDate=\'\',1,t1.`date`>=$startDate) and if($endDate=\'\',1,t1.`date`<=$endDate) having if($dept=\'0\', dept=$dept,dept in (select id from TABLE_DEPT where concat(\',\',path,\',\') like concat(\'%,\',$dept,\',%\'))) order by `date` asc', '{\"varName\":[\"dept\",\"startDate\",\"endDate\"],\"showName\":[\"\\u90e8\\u95e8\",\"\\u8d77\\u59cb\\u65f6\\u95f4\",\"\\u7ed3\\u675f\\u65f6\\u95f4\"],\"requestType\":[\"select\",\"date\",\"date\"],\"selectList\":[\"dept\",\"user\",\"user\"],\"default\":[\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"date\":{\"zh-cn\":\"\\u65e5\\u671f\",\"zh-tw\":\"\\u65e5\\u671f\",\"en\":\"Date\"},\"consumed\":{\"zh-cn\":\"\\u6d88\\u8017\\u5de5\\u65f6\",\"zh-tw\":\"\\u6d88\\u8017\\u5de5\\u65f6\",\"en\":\"Cost\"},\"account\":{\"zh-cn\":\"\\u767b\\u8bb0\\u4eba\",\"zh-tw\":\"\\u767b\\u8bb0\\u4eba\",\"en\":\"Owner\"}}', '{\"group1\":\"account\",\"isUser\":{\"group1\":[\"1\"]},\"group2\":\"\",\"reportField\":[\"date\"],\"reportType\":[\"sum\"],\"sumAppend\":[\"consumed\"]}', 2, '{\"zh-cn\":\"\\u67e5\\u770b\\u67d0\\u4e2a\\u65f6\\u95f4\\u6bb5\\u5185\\u7684\\u65e5\\u5fd7\\u60c5\\u51b5\\uff0c\\u53ef\\u4ee5\\u6309\\u7167\\u90e8\\u95e8\\u9009\\u62e9\\u3002\",\"zh-tw\":\"\\u67e5\\u770b\\u67d0\\u500b\\u6642\\u9593\\u6bb5\\u5167\\u7684\\u65e5\\u8a8c\\u60c5\\u6cc1\\uff0c\\u53ef\\u4ee5\\u6309\\u7167\\u90e8\\u9580\\u9078\\u64c7\\u3002\",\"en\":\"You can view the logs of a certain period by department.\"}', 'admin', '2015-07-27 13:53:32'), +('product-release', '{\"zh-cn\":\"\\u4ea7\\u54c1\\u53d1\\u5e03\\u6570\\u91cf\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u7522\\u54c1\\u767c\\u5e03\\u6578\\u91cf\\u7d71\\u8a08\\u8868\",\"en\":\"Product Release\"}', ',product', 'select t2.name, 1 as releases from TABLE_RELEASE as t1 \r\nleft join TABLE_PRODUCT as t2 on t1.product=t2.id \r\nleft join TABLE_PROGRAM as t3 on t2.program=t3.id \r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\'\r\norder by t3.`order` asc, t2.line desc, t2.`order` asc', '', '{\"count\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"done\":{\"zh-cn\":\"\\u5b8c\\u6210\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u6570\",\"en\":\"Done\"}}', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"releases\"],\"reportType\":[\"sum\"],\"sumAppend\":[\"releases\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u4ea7\\u54c1\\u5217\\u51fa\\u53d1\\u5e03\\u7684\\u6570\\u91cf\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u7522\\u54c1\\u5217\\u51fa\\u767c\\u5e03\\u7684\\u6578\\u91cf\\u3002\",\"en\":\"Product Release.\"}', 'admin', '2015-07-21 16:00:52'), +('task-status', '{\"zh-cn\":\"\\u4efb\\u52a1\\u72b6\\u6001\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u4efb\\u52d9\\u72c0\\u614b\\u7d71\\u8a08\\u8868\",\"en\":\"Task Status Report\",\"de\":\"Task Status Report\",\"fr\":\"Task Status Report\",\"vi\":\"Task Status Report\",\"ja\":\"Task Status Report\"}', ',project', 'select t1.id,t3.name as project,t1.name,t2.status,IF(t3.multiple="1",t1.name,"") as execution,t2.id as taskID, t1.status as projectstatus, (case when t2.deadline < CURDATE() and t2.deadline != \'0000-00-00\' and t2.status != \'closed\' and t2.status != \'done\' and t2.status != \'cancel\' then 1 else 0 end) as timeout from TABLE_EXECUTION as t1\r\n left join TABLE_TASK as t2 on t1.id=t2.execution\r\n left join TABLE_PROJECT as t3 on t3.id=t1.project\r\n where t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and t2.deleted=\'0\' and if($project=\'\',1,t3.id=$project) and if($status=\'\',1,t1.status=$status) and if($beginDate=\'\',1,t1.begin>=$beginDate) and if($endDate=\'\',1,t1.end<=$endDate)', '{\"varName\":[\"project\",\"status\",\"beginDate\",\"endDate\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\",\"\\u6267\\u884c\\u8d77\\u59cb\\u65e5\\u671f\",\"\\u6267\\u884c\\u7ed3\\u675f\\u65e5\\u671f\"],\"requestType\":[\"select\",\"select\",\"date\",\"date\"],\"selectList\":[\"project\",\"project.status\",\"user\",\"user\"],\"default\":[\"\",\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"status\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u6267\\u884c\\u7edf\\u8ba1\\u4efb\\u52a1\\u7684\\u72b6\\u6001\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u57f7\\u884c\\u7d71\\u8a08\\u4efb\\u52d9\\u7684\\u72c0\\u614b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-22 11:28:33'), +('task-type', '{\"zh-cn\":\"\\u4efb\\u52a1\\u7c7b\\u578b\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u4efb\\u52d9\\u985e\\u578b\\u7d71\\u8a08\\u8868\",\"en\":\"Task Type Report\",\"de\":\"Task Type Report\",\"fr\":\"Task Type Report\",\"vi\":\"Task Type Report\",\"ja\":\"Task Type Report\"}', ',project', 'select t1.id,t3.name as project,IF(t3.multiple="1",t1.name,"") as execution,t2.type,t2.id as taskID, t1.status as projectstatus from TABLE_EXECUTION as t1 \r\nleft join TABLE_TASK as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and t2.deleted=\'0\' and if($project=\'\',1,t3.id=$project) and if($status=\'\',1,t1.status=$status) and if($beginDate=\'\',1,t1.begin>=$beginDate) and if($endDate=\'\',1,t1.end<=$endDate)', '{\"varName\":[\"project\",\"status\",\"beginDate\",\"endDate\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\",\"\\u6267\\u884c\\u8d77\\u59cb\\u65e5\\u671f\",\"\\u6267\\u884c\\u7ed3\\u675f\\u65e5\\u671f\"],\"requestType\":[\"select\",\"select\",\"date\",\"date\"],\"selectList\":[\"project\",\"project.status\",\"user\",\"user\"],\"default\":[\"\",\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"type\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1\\u4efb\\u52a1\\u7684\\u7c7b\\u578b\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08\\u4efb\\u52d9\\u7684\\u985e\\u578b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-22 13:06:46'), +('task-assign', '{\"zh-cn\":\"\\u9879\\u76ee\\u4efb\\u52a1\\u6307\\u6d3e\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u4efb\\u52d9\\u6307\\u6d3e\\u7d71\\u8a08\\u8868\",\"en\":\"Task Assign Report\",\"de\":\"Task Assign Report\",\"fr\":\"Task Assign Report\",\"vi\":\"Task Assign Report\",\"ja\":\"Task Assign Report\"}', ',project', 'select t1.id,t4.name as project,IF(t4.multiple="1",t1.name,"") as execution,if(t3.account is not null, t3.account,t2.assignedTo) as assignedTo,t2.id as taskID, t1.status as projectstatus from TABLE_EXECUTION as t1\r\n left join TABLE_TASK as t2 on t1.id=t2.execution\r\n left join TABLE_TEAM as t3 on t3.type=\'task\' && t3.root=t2.id \r\nleft join TABLE_PROJECT as t4 on t1.project=t4.id\r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and t2.deleted=\'0\' and if($project=\'\',1,t4.id=$project) and if($status=\'\',1,t1.status=$status) and if($beginDate=\'\',1,t1.begin>=$beginDate) and if($endDate=\'\',1,t1.end<=$endDate)', '{\"varName\":[\"project\",\"status\",\"beginDate\",\"endDate\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\",\"\\u6267\\u884c\\u8d77\\u59cb\\u65e5\\u671f\",\"\\u6267\\u884c\\u7ed3\\u675f\\u65e5\\u671f\"],\"requestType\":[\"select\",\"select\",\"date\",\"date\"],\"selectList\":[\"project\",\"project.status\",\"user\",\"user\"],\"default\":[\"\",\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"assignedTo\":{\"zh-cn\":\"\\u6307\\u6d3e\\u7ed9\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"assignedTo\"],\"isUser\":{\"reportField\":[[\"1\"]]},\"reportType\":[\"count\"],\"sumAppend\":[\"\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1\\u4efb\\u52a1\\u7684\\u6307\\u6d3e\\u7ed9\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08\\u4efb\\u52d9\\u7684\\u6307\\u6d3e\\u7d66\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-22 13:13:28'), +('task-finish', '{\"zh-cn\":\"\\u9879\\u76ee\\u4efb\\u52a1\\u5b8c\\u6210\\u8005\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u4efb\\u52d9\\u5b8c\\u6210\\u8005\\u7d71\\u8a08\\u8868\",\"en\":\"Task Finish Report\",\"de\":\"Task Finish Report\",\"fr\":\"Task Finish Report\",\"vi\":\"Task Finish Report\",\"ja\":\"Task Finish Report\"}', ',project', 'select t1.id,t3.name as project,IF(t3.multiple="1",t1.name,"") as execution,t2.finishedBy,t2.id as taskID, t1.status as projectstatus from TABLE_EXECUTION as t1 \r\nleft join TABLE_TASK as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t1.project=t3.id \r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and t2.deleted=\'0\' and t2.finishedBy!=\'\' and if($project=\'\',1,t3.id=$project) and if($status=\'\',1,t1.status=$status) and if($beginDate=\'\',1,t1.begin>=$beginDate) and if($endDate=\'\',1,t1.end<=$endDate)', '{\"varName\":[\"project\",\"status\",\"beginDate\",\"endDate\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\",\"\\u6267\\u884c\\u8d77\\u59cb\\u65e5\\u671f\",\"\\u6267\\u884c\\u7ed3\\u675f\\u65e5\\u671f\"],\"requestType\":[\"select\",\"select\",\"date\",\"date\"],\"selectList\":[\"project\",\"project.status\",\"user\",\"user\"],\"default\":[\"\",\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"finishedBy\"],\"isUser\":{\"reportField\":[[\"1\"]]},\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1\\u4efb\\u52a1\\u7684\\u5b8c\\u6210\\u8005\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08\\u4efb\\u52d9\\u7684\\u5b8c\\u6210\\u8005\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-22 13:16:21'), +('project-invest', '{\"zh-cn\":\"\\u9879\\u76ee\\u6295\\u5165\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u6295\\u5165\\u7d71\\u8a08\\u8868\",\"en\":\"Project Invest Report\",\"de\":\"Project Invest Report\",\"fr\":\"Project Invest Report\",\"vi\":\"Project Invest Report\",\"ja\":\"Project Invest Report\"}', ',project', 'select t1.id,t5.name as project,IF(t5.multiple="1",t1.name,"") as execution,CONCAT(t1.begin,\' ~ \',t1.end) as timeLimit,t2.teams,t3.stories,round(t4.consumed,1) as consumed,t4.number, t1.status as projectstatus \r\nfrom TABLE_EXECUTION as t1\r\n left join ztv_projectteams as t2 on t1.id=t2.execution\r\nleft join ztv_projectstories as t3 on t1.id=t3.execution\r\n left join ztv_executionsummary as t4 on t1.id=t4.execution \r\nleft join TABLE_PROJECT as t5 on t1.project=t5.id \r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and if($project=\'\',1,t5.id=$project) and if($status=\'\',1,t1.status=$status) and if($beginDate=\'\',1,t1.begin>=$beginDate) and if($endDate=\'\',1,t1.end<=$endDate)', '{\"varName\":[\"project\",\"status\",\"beginDate\",\"endDate\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\",\"\\u6267\\u884c\\u8d77\\u59cb\\u65e5\\u671f\",\"\\u6267\\u884c\\u7ed3\\u675f\\u65e5\\u671f\"],\"requestType\":[\"select\",\"select\",\"date\",\"date\"],\"selectList\":[\"project\",\"project.status\",\"user\",\"user\"],\"default\":[\"\",\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"timeLimit\":{\"zh-cn\":\"\\u5de5\\u671f\"},\"teams\":{\"zh-cn\":\"\\u4eba\\u6570\"},\"stories\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\"},\"consumed\":{\"zh-cn\":\"\\u603b\\u6d88\\u8017\"},\"number\":{\"zh-cn\":\"\\u4efb\\u52a1\\u6570\"},\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"number\",\"stories\",\"teams\",\"consumed\"],\"reportType\":[\"sum\",\"sum\",\"sum\",\"sum\"],\"sumAppend\":[\"number\",\"stories\",\"teams\",\"consumed\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u5217\\u51fa\\uff1a\\u4efb\\u52a1\\u6570\\uff0c\\u9700\\u6c42\\u6570\\uff0c\\u4eba\\u6570\\uff0c\\u603b\\u6d88\\u8017\\u5de5\\u65f6\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u5217\\u51fa\\uff1a\\u4efb\\u52d9\\u6578\\uff0c\\u9700\\u6c42\\u6578\\uff0c\\u4eba\\u6578\\uff0c\\u7e3d\\u6d88\\u8017\\u5de5\\u6642\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-22 16:37:38'), +('projectstory-status', '{\"zh-cn\":\"\\u9879\\u76ee\\u9700\\u6c42\\u72b6\\u6001\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u9700\\u6c42\\u72c0\\u614b\\u5206\\u5e03\\u8868\",\"en\":\"Project Story Status\",\"de\":\"Project Story Status\",\"fr\":\"Project Story Status\",\"vi\":\"Project Story Status\",\"ja\":\"Project Story Status\"}', ',project', 'select t2.id, t4.name as project,IF(t4.multiple="1",t2.name,"") as execution,t3.status from TABLE_PROJECTSTORY as t1 \r\nleft join TABLE_EXECUTION as t2 on t1.project=t2.id \r\nleft join TABLE_STORY as t3 on t1.story=t3.id \r\nleft join TABLE_PROJECT as t4 on t4.id=t2.project\r\nwhere t2.deleted=\'0\' and t2.type in(\'sprint\', \'stage\') and if($project=\'\',1,t4.id=$project) and if($execution=\'\',1,t2.id=$execution) and if($status=\'\',1,t2.status=$status)', '{\"varName\":[\"project\",\"execution\",\"status\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\"],\"requestType\":[\"select\",\"select\",\"select\"],\"selectList\":[\"project\",\"execution\",\"project.status\"],\"default\":[\"\",\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"status\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1\\u9700\\u6c42\\u7684\\u72b6\\u6001\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08\\u9700\\u6c42\\u7684\\u72c0\\u614b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 15:35:08'), +('project-stage', '{\"zh-cn\":\"\\u9879\\u76ee\\u9700\\u6c42\\u9636\\u6bb5\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u9700\\u6c42\\u968e\\u6bb5\\u5206\\u5e03\\u8868\",\"en\":\"Project Stage Report\",\"de\":\"Project Stage Report\",\"fr\":\"Project Stage Report\",\"vi\":\"Project Stage Report\",\"ja\":\"Project Stage Report\"}', ',project', 'select t2.id, t4.name as project,IF(t4.multiple="1",t2.name,"") as execution,t3.stage from TABLE_PROJECTSTORY as t1 \r\nleft join TABLE_EXECUTION as t2 on t1.project=t2.id \r\nleft join TABLE_STORY as t3 on t1.story=t3.id \r\nleft join TABLE_PROJECT as t4 on t4.id=t2.project\r\nwhere t2.deleted=\'0\' and t2.type in(\'sprint\', \'stage\') and if($project=\'\',1,t4.id=$project) and if($execution=\'\',1,t2.id=$execution) and if($status=\'\',1,t2.status=$status)', '{\"varName\":[\"project\",\"execution\",\"status\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\"],\"requestType\":[\"select\",\"select\",\"select\"],\"selectList\":[\"project\",\"execution\",\"project.status\"],\"default\":[\"\",\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"stage\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1\\u9700\\u6c42\\u9636\\u6bb5\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08\\u9700\\u6c42\\u968e\\u6bb5\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 15:38:18'), +('projectbug-resolution', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u89e3\\u51b3\\u65b9\\u6848\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u89e3\\u6c7a\\u65b9\\u6848\\u5206\\u5e03\\u8868\",\"en\":\"Project Bug Resolution\",\"de\":\"Project Bug Resolution\",\"fr\":\"Project Bug Resolution\",\"vi\":\"Project Bug Resolution\",\"ja\":\"Project Bug Resolution\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,IF(t3.multiple="1",t1.name,"") as execution,t1.id as bugID,t2.resolution from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\n where t1.deleted=\'0\' and t2.deleted=\'0\' and t2.resolution!=\'\' having bugID!=\'\' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"resolution\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u89e3\\u51b3\\u65b9\\u6848\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u89e3\\u6c7a\\u65b9\\u6848\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 16:04:46'), +('projectbug-status', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u72b6\\u6001\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u72c0\\u614b\\u5206\\u5e03\\u8868\",\"en\":\"Project Bug Status\",\"de\":\"Project Bug Status\",\"fr\":\"Project Bug Status\",\"vi\":\"Project Bug Status\",\"ja\":\"Project Bug Status\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,IF(t3.multiple="1",t1.name,"") as execution,t1.id as bugID,t2.status from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\' having bugID!=\' \' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"status\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u72b6\\u6001\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u72c0\\u614b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 15:48:03'), +('projectbug-opened', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u521b\\u5efa\\u8005\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u5275\\u5efa\\u8005\\u5206\\u5e03\\u8868\",\"en\":\"Project Bug Opened\",\"de\":\"Project Bug Opened\",\"fr\":\"Project Bug Opened\",\"vi\":\"Project Bug Opened\",\"ja\":\"Project Bug Opened\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,IF(t3.multiple="1",t1.name,"") as execution,t1.id as bugID,t2.openedBy from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\' having bugID!=\'\' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"openedBy\"],\"isUser\":{\"reportField\":[[\"1\"]]},\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u521b\\u5efa\\u8005\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u5275\\u5efa\\u8005\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 16:08:10'), +('projectbug-resolve', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u89e3\\u51b3\\u8005\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u89e3\\u6c7a\\u8005\\u5206\\u5e03\\u8868\",\"en\":\"Project Bug Resolve\",\"de\":\"Project Bug Resolve\",\"fr\":\"Project Bug Resolve\",\"vi\":\"Project Bug Resolve\",\"ja\":\"Project Bug Resolve\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,IF(t3.multiple="1",t1.name,"") as execution,t1.id as bugID,t2.resolvedBy from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\' and t2.status!=\'active\' and t2.resolvedBy!=\'\' having bugID!=\'\' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"resolvedBy\"],\"isUser\":{\"reportField\":[[\"1\"]]},\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u89e3\\u51b3\\u8005\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u89e3\\u6c7a\\u8005\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 16:13:16'), +('projectbug-assign', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u6307\\u6d3e\\u7ed9\\u5206\\u5e03\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u6307\\u6d3e\\u7d66\\u5206\\u5e03\\u8868\",\"en\":\"Project Bug Assign\",\"de\":\"Project Bug Assign\",\"fr\":\"Project Bug Assign\",\"vi\":\"Project Bug Assign\",\"ja\":\"Project Bug Assign\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,IF(t3.multiple="1",t1.name,"") as execution,t1.id as bugID,t2.assignedTo from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution \r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\' having bugID!=\'\' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"assignedTo\"],\"isUser\":{\"reportField\":[[\"1\"]]},\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u6307\\u6d3e\\u7ed9\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u6307\\u6d3e\\u7d66\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 16:29:10'), +('project-quality', '{\"zh-cn\":\"\\u9879\\u76ee\\u8d28\\u91cf\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u8cea\\u91cf\\u8868\",\"en\":\"Project Quality Report\",\"de\":\"Project Quality Report\",\"fr\":\"Project Quality Report\",\"vi\":\"Project Quality Report\",\"ja\":\"Project Quality Report\"}', ',project', 'select t1.id, t5.name as project,t5.id,IF(t5.multiple="1",t1.name,"") as execution,t2.stories,(t2.stories-t2.undone) as doneStory,t3.number,(t3.number-t3.undone) as doneTask,t4.bugs,t4.resolutions, round(t4.bugs/(t2.stories-t2.undone),2) as bugthanstory,round(t4.bugs/(t3.number-t3.undone),2) as bugthantask,t4.seriousBugs from TABLE_EXECUTION as t1 \r\nleft join ztv_projectstories as t2 on t1.id=t2.execution\r\nleft join ztv_executionsummary as t3 on t1.id=t3.execution\r\nleft join ztv_projectbugs as t4 on t1.id=t4.execution\r\nleft join TABLE_PROJECT as t5 on t5.id=t1.project\r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and t1.grade=\'1\' and if($project=\'\',1,t5.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"stories\":{\"zh-cn\":\"\\u9700\\u6c42\\u603b\\u6570\"},\"doneStory\":{\"zh-cn\":\"\\u5b8c\\u6210\\u9700\\u6c42\\u6570\"},\"number\":{\"zh-cn\":\"\\u4efb\\u52a1\\u603b\\u6570\"},\"doneTask\":{\"zh-cn\":\"\\u5b8c\\u6210\\u4efb\\u52a1\\u6570\"},\"bugs\":{\"zh-cn\":\"Bug\\u6570\"},\"resolutions\":{\"zh-cn\":\"\\u89e3\\u51b3Bug\\u6570\"},\"bugthanstory\":{\"zh-cn\":\"Bug\\/\\u5b8c\\u6210\\u9700\\u6c42\"},\"bugthantask\":{\"zh-cn\":\"Bug\\/\\u5b8c\\u6210\\u4efb\\u52a1\"},\"seriousBugs\":{\"zh-cn\":\"\\u91cd\\u8981Bug\\u6570\"},\"seriousBugsPercent\":{\"zh-cn\":\"\\u4e25\\u91cdBug\\u6bd4\\u7387\"},\"project\":{\"zh-cn\":\"\\u9879\\u76ee\\u540d\\u79f0\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"stories\",\"doneStory\",\"number\",\"doneTask\",\"bugs\",\"resolutions\",\"bugthanstory\",\"bugthantask\",\"seriousBugs\"],\"reportType\":[\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\"],\"sumAppend\":[\"stories\",\"doneStory\",\"number\",\"doneTask\",\"bugs\",\"resolutions\",\"bugthanstory\",\"bugthantask\",\"seriousBugs\"]}', 2, '{\"zh-cn\":\"\\u5217\\u51fa\\u9879\\u76ee\\u7684\\u9700\\u6c42\\u603b\\u6570\\uff0c\\u5b8c\\u6210\\u9700\\u6c42\\u6570\\uff0c\\u4efb\\u52a1\\u603b\\u6570\\uff0c\\u5b8c\\u6210\\u7684\\u4efb\\u52a1\\u6570\\uff0cBug\\u6570\\uff0c\\u89e3\\u51b3\\u7684Bug\\u6570\\uff0cBug\\/\\u9700\\u6c42\\uff0cBug\\/\\u4efb\\u52a1\\uff0c\\u91cd\\u8981Bug\\u6570\\u91cf(\\u4e25\\u91cd\\u7a0b\\u5ea6\\u4e0d\\u5927\\u4e8e3\\uff09\\u3002\",\"zh-tw\":\"\\u5217\\u51fa\\u9805\\u76ee\\u7684\\u9700\\u6c42\\u7e3d\\u6578\\uff0c\\u5b8c\\u6210\\u9700\\u6c42\\u6578\\uff0c\\u4efb\\u52d9\\u7e3d\\u6578\\uff0c\\u5b8c\\u6210\\u7684\\u4efb\\u52d9\\u6578\\uff0cBug\\u6578\\uff0c\\u89e3\\u6c7a\\u7684Bug\\u6578\\uff0cBug\\/\\u9700\\u6c42\\uff0cBug\\/\\u4efb\\u52d9\\uff0c\\u91cd\\u8981Bug\\u6578\\u91cf(\\u56b4\\u91cd\\u7a0b\\u5ea6\\u4e0d\\u5927\\u65bc3\\uff09\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 17:03:10'), +('productbug-type', '{\"zh-cn\":\"\\u4ea7\\u54c1Bug\\u7c7b\\u578b\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u7522\\u54c1Bug\\u985e\\u578b\\u7d71\\u8a08\\u8868\",\"en\":\"Bug Type of Product\"}', ',product,test', 'select t1.id,t1.name,t2.id as bugID,t2.type from TABLE_PRODUCT as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.product \r\nleft join TABLE_PROGRAM as t3 on t1.program=t3.id \r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\'\r\norder by t3.`order` asc, t1.line desc, t1.`order` asc', '', '{\"count\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"done\":{\"zh-cn\":\"\\u5b8c\\u6210\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u6570\",\"en\":\"Done\"}}', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"type\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u4ea7\\u54c1\\u7edf\\u8ba1Bug\\u7684\\u7c7b\\u578b\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u7522\\u54c1\\u7d71\\u8a08Bug\\u7684\\u985e\\u578b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"Type distribution of Bugs.\"}', 'admin', '2015-07-24 13:48:22'), +('product-quality', '{\"zh-cn\":\"\\u4ea7\\u54c1\\u8d28\\u91cf\\u8868\",\"zh-tw\":\"\\u7522\\u54c1\\u8cea\\u91cf\\u8868\",\"en\":\"Product Quality\"}', ',product', 'select t1.id,t1.name,t2.stories,(t2.stories-t2.undone) as doneStory,t3.bugs,t3.resolutions,round(t3.bugs/(t2.stories-t2.undone),2) as bugthanstory,t3.seriousBugs from TABLE_PRODUCT as t1 \r\nleft join ztv_productstories as t2 on t1.id=t2.product \r\nleft join ztv_productbugs as t3 on t1.id=t3.product \r\nleft join TABLE_PROGRAM as t4 on t1.program=t4.id \r\nwhere t1.deleted=\'0\'\r\norder by t4.`order` asc, t1.line desc, t1.`order` asc', '', '{\"stories\":{\"zh-cn\":\"\\u9700\\u6c42\\u603b\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u603b\\u6570\",\"en\":\"Stories\"},\"doneStory\":{\"zh-cn\":\"\\u5b8c\\u6210\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u9700\\u6c42\\u6570\",\"en\":\"Finished Stories\"},\"bugs\":{\"zh-cn\":\"Bug\\u6570\",\"zh-tw\":\"Bug\\u6570\",\"en\":\"Bugs\"},\"resolutions\":{\"zh-cn\":\"\\u89e3\\u51b3Bug\\u6570\",\"zh-tw\":\"\\u89e3\\u51b3Bug\\u6570\",\"en\":\"Solved Bugs\"},\"bugthanstory\":{\"zh-cn\":\"Bug\\/\\u5b8c\\u6210\\u9700\\u6c42\",\"zh-tw\":\"Bug\\/\\u5b8c\\u6210\\u9700\\u6c42\",\"en\":\"Bug\\/Finished Story\"},\"seriousBugs\":{\"zh-cn\":\"\\u91cd\\u8981Bug\\u6570\",\"zh-tw\":\"\\u91cd\\u8981Bug\\u6570\",\"en\":\"Serious Bugs\"},\"seriousBugsPercent\":{\"zh-cn\":\"\\u4e25\\u91cdbug\\u6bd4\\u7387\",\"zh-tw\":\"\\u4e25\\u91cdbug\\u6bd4\\u7387\",\"en\":\"Serious Bugs %\"}}', '{\"group1\":\"name\",\"group2\":\"\",\"reportField\":[\"stories\",\"doneStory\",\"bugs\",\"resolutions\",\"bugthanstory\",\"seriousBugs\"],\"reportType\":[\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\"],\"sumAppend\":[\"stories\",\"doneStory\",\"bugs\",\"resolutions\",\"bugthanstory\",\"seriousBugs\"],\"percent\":{\"5\":\"1\"},\"contrast\":{\"5\":\"bugs\"},\"showAlone\":{\"5\":\"1\"}}', 2, '{\"zh-cn\":\"\\u5217\\u51fa\\u4ea7\\u54c1\\u7684\\u9700\\u6c42\\u6570\\uff0c\\u5b8c\\u6210\\u7684\\u9700\\u6c42\\u603b\\u6570\\uff0cBug\\u6570\\uff0c\\u89e3\\u51b3\\u7684Bug\\u603b\\u6570\\uff0cBug\\/\\u9700\\u6c42\\uff0c\\u91cd\\u8981Bug\\u6570\\u91cf(\\u4e25\\u91cd\\u7a0b\\u5ea6\\u4e0d\\u5927\\u4e8e3)\\u3002\",\"zh-tw\":\"\\u5217\\u51fa\\u7522\\u54c1\\u7684\\u9700\\u6c42\\u6578\\uff0c\\u5b8c\\u6210\\u7684\\u9700\\u6c42\\u7e3d\\u6578\\uff0cBug\\u6578\\uff0c\\u89e3\\u6c7a\\u7684Bug\\u7e3d\\u6578\\uff0cBug\\/\\u9700\\u6c42\\uff0c\\u91cd\\u8981Bug\\u6578\\u91cf(\\u56b4\\u91cd\\u7a0b\\u5ea6\\u4e0d\\u5927\\u65bc3)\\u3002\",\"en\":\"Serious Bug (severity is less than 3).\"}', 'admin', '2015-07-23 17:17:40'), +('user-login', '{\"zh-cn\":\"\\u5458\\u5de5\\u767b\\u5f55\\u6b21\\u6570\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u54e1\\u5de5\\u767b\\u9304\\u6b21\\u6578\\u7d71\\u8a08\\u8868\",\"en\":\"Login Times\"}', ',staff', 'select actor,LEFT(`date`,10) as `day` from TABLE_ACTION where `action`=\'login\' and if($startDate=\'\',1,`date`>=$startDate) and if($endDate=\'\',1,`date`<=$endDate) order by `date` asc, actor asc', '{\"varName\":[\"startDate\",\"endDate\"],\"showName\":[\"\\u8d77\\u59cb\\u65f6\\u95f4\",\"\\u7ed3\\u675f\\u65f6\\u95f4\"],\"requestType\":[\"date\",\"date\"],\"selectList\":[\"user\",\"user\"],\"default\":[\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"count\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"done\":{\"zh-cn\":\"\\u5b8c\\u6210\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u6570\",\"en\":\"Done\"}}', '{\"group1\":\"actor\",\"isUser\":{\"group1\":[\"1\"]},\"group2\":\"\",\"reportField\":[\"day\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u5b9e\\u73b0\\u5458\\u5de5\\u767b\\u5f55\\u6b21\\u6570\\u7edf\\u8ba1\\u62a5\\u8868\\uff0c\\u6309\\u7167\\u5929\\u7edf\\u8ba1\\u6bcf\\u5929\\u6bcf\\u4e2a\\u4eba\\u7684\\u767b\\u5f55\\u6b21\\u6570\\uff0c\\u4ee5\\u53ca\\u603b\\u6570\\u3002\",\"zh-tw\":\"\\u5be6\\u73fe\\u54e1\\u5de5\\u767b\\u9304\\u6b21\\u6578\\u7d71\\u8a08\\u5831\\u8868\\uff0c\\u6309\\u7167\\u5929\\u7d71\\u8a08\\u6bcf\\u5929\\u6bcf\\u500b\\u4eba\\u7684\\u767b\\u9304\\u6b21\\u6578\\uff0c\\u4ee5\\u53ca\\u7e3d\\u6578\\u3002\",\"en\":\"The summary of user login times.\"}', 'admin', '2015-07-24 14:28:11'), +('effort', '{\"zh-cn\":\"\\u65e5\\u5fd7\\u6c47\\u603b\\u8868\",\"zh-tw\":\"\\u65e5\\u8a8c\\u532f\\u7e3d\\u8868\",\"en\":\"Effort Summary\"}', ',staff', 'select t1.account,t1.consumed,t1.`date`,if($dept=\'0\',0,t2.dept) as dept from TABLE_EFFORT as t1 left join TABLE_USER as t2 on t1.account=t2.account where t1.`deleted`=\'0\' and if($startDate=\'\',1,t1.`date`>=$startDate) and if($endDate=\'\',1,t1.`date`<=$endDate) having dept=$dept order by `date` asc', '{\"varName\":[\"dept\",\"startDate\",\"endDate\"],\"showName\":[\"\\u90e8\\u95e8\",\"\\u8d77\\u59cb\\u65f6\\u95f4\",\"\\u7ed3\\u675f\\u65f6\\u95f4\"],\"requestType\":[\"select\",\"date\",\"date\"],\"selectList\":[\"dept\",\"user\",\"user\"],\"default\":[\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"date\":{\"zh-cn\":\"\\u65e5\\u671f\",\"zh-tw\":\"\\u65e5\\u671f\",\"en\":\"Date\"},\"consumed\":{\"zh-cn\":\"\\u6d88\\u8017\\u5de5\\u65f6\",\"zh-tw\":\"\\u6d88\\u8017\\u5de5\\u65f6\",\"en\":\"Cost\"}}', '{\"group1\":\"account\",\"isUser\":{\"group1\":[\"1\"]},\"group2\":\"\",\"reportField\":[\"date\"],\"reportType\":[\"sum\"],\"sumAppend\":[\"consumed\"]}', 2, '{\"zh-cn\":\"\\u67e5\\u770b\\u67d0\\u4e2a\\u65f6\\u95f4\\u6bb5\\u5185\\u7684\\u65e5\\u5fd7\\u60c5\\u51b5\\uff0c\\u53ef\\u4ee5\\u6309\\u7167\\u90e8\\u95e8\\u9009\\u62e9\\u3002\",\"zh-tw\":\"\\u67e5\\u770b\\u67d0\\u500b\\u6642\\u9593\\u6bb5\\u5167\\u7684\\u65e5\\u8a8c\\u60c5\\u6cc1\\uff0c\\u53ef\\u4ee5\\u6309\\u7167\\u90e8\\u9580\\u9078\\u64c7\\u3002\",\"en\":\"Effort summary of users.\"}', 'admin', '2015-07-27 13:53:32'), ('company-dynamic', '{\"zh-cn\":\"\\u516c\\u53f8\\u52a8\\u6001\\u6c47\\u603b\\u8868\",\"zh-tw\":\"\\u516c\\u53f8\\u52d5\\u614b\\u532f\\u7e3d\\u8868\",\"en\":\"Company Dynamics\"}', ',staff', 'select t1.day,t2.userlogin,t3.consumed,t4.storyopen,t5.storyclose,t6.taskopen,t7.taskfinish,t8.bugopen,t9.bugresolve,t1.actions from ztv_dayactions as t1 left join ztv_dayuserlogin as t2 on t1.day=t2.day left join ztv_dayeffort as t3 on t1.day=t3.date left join ztv_daystoryopen as t4 on t1.day=t4.day left join ztv_daystoryclose as t5 on t1.day=t5.day left join ztv_daytaskopen as t6 on t1.day=t6.day left join ztv_daytaskfinish as t7 on t1.day=t7.day left join ztv_daybugopen as t8 on t1.day=t8.day left join ztv_daybugresolve as t9 on t1.day=t9.day where if($startDate=\'\',1,t1.day>=$startDate) and if($endDate=\'\',1,t1.day<=$endDate)', '{\"varName\":[\"startDate\",\"endDate\"],\"showName\":[\"\\u8d77\\u59cb\\u65f6\\u95f4\",\"\\u7ed3\\u675f\\u65f6\\u95f4\"],\"requestType\":[\"date\",\"date\"],\"selectList\":[\"user\",\"user\"],\"default\":[\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"day\":{\"zh-cn\":\"\\u65e5\\u671f\",\"zh-tw\":\"\\u65e5\\u671f\",\"en\":\"Date\"},\"userlogin\":{\"zh-cn\":\"\\u767b\\u5f55\\u6b21\\u6570\",\"zh-tw\":\"\\u767b\\u9304\\u6b21\\u6578\",\"en\":\"Login\"},\"consumed\":{\"zh-cn\":\"\\u65e5\\u5fd7\\u5de5\\u65f6\",\"zh-tw\":\"\\u65e5\\u8a8c\\u5de5\\u6642\",\"en\":\"Cost(h)\"},\"storyopen\":{\"zh-cn\":\"\\u65b0\\u589e\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u65b0\\u589e\\u9700\\u6c42\\u6578\",\"en\":\"Open Story\"},\"storyclose\":{\"zh-cn\":\"\\u5173\\u95ed\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u95dc\\u9589\\u9700\\u6c42\\u6578\",\"en\":\"Closed Story\"},\"taskopen\":{\"zh-cn\":\"\\u65b0\\u589e\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u65b0\\u589e\\u4efb\\u52d9\\u6578\",\"en\":\"Open Task\"},\"taskfinish\":{\"zh-cn\":\"\\u5b8c\\u6210\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u4efb\\u52d9\\u6578\",\"en\":\"Finished Task\"},\"bugopen\":{\"zh-cn\":\"\\u65b0\\u589eBug\\u6570\",\"zh-tw\":\"\\u65b0\\u589eBug\\u6578\",\"en\":\"Open Bug\"},\"bugresolve\":{\"zh-cn\":\"\\u89e3\\u51b3Bug\\u6570\",\"zh-tw\":\"\\u89e3\\u51b3Bug\\u6578\",\"en\":\"Resolved bug\"},\"actions\":{\"zh-cn\":\"\\u52a8\\u6001\\u6570\",\"zh-tw\":\"\\u52d5\\u614b\\u6578\",\"en\":\"Dynamics\"}}', '{\"group1\":\"day\",\"isUser\":{\"group1\":[\"1\"]},\"group2\":\"\",\"reportField\":[\"userlogin\",\"consumed\",\"storyopen\",\"storyclose\",\"taskopen\",\"taskfinish\",\"bugopen\",\"bugresolve\",\"actions\"],\"reportType\":[\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\"],\"sumAppend\":[\"userlogin\",\"consumed\",\"storyopen\",\"storyclose\",\"taskopen\",\"taskfinish\",\"bugopen\",\"bugresolve\",\"actions\"]}', 2, '{\"zh-cn\":\"\\u53ef\\u4ee5\\u6307\\u5b9a\\u4e00\\u4e2a\\u65f6\\u671f\\uff0c\\u5217\\u51fa\\u76f8\\u5e94\\u7684\\u6570\\u636e\\uff1a1. \\u6bcf\\u5929\\u7684\\u767b\\u5f55\\u6b21\\u6570\\u30022. \\u6bcf\\u5929\\u7684\\u65e5\\u5fd7\\u5de5\\u65f6\\u91cf\\u30023. \\u6bcf\\u5929\\u65b0\\u589e\\u7684\\u9700\\u6c42\\u6570\\u30024. \\u6bcf\\u5929\\u5173\\u95ed\\u7684\\u9700\\u6c42\\u6570\\u30025. \\u6bcf\\u5929\\u65b0\\u589e\\u7684\\u4efb\\u52a1\\u6570\\u30026. \\u6bcf\\u5929\\u5b8c\\u6210\\u7684\\u4efb\\u52a1\\u6570\\u30027. \\u6bcf\\u5929\\u65b0\\u589e\\u7684Bug\\u6570\\u30028. \\u6bcf\\u5929\\u89e3\\u51b3\\u7684Bug\\u6570\\u30029. \\u6bcf\\u5929\\u7684\\u52a8\\u6001\\u6570\\u3002\",\"zh-tw\":\"\\u53ef\\u4ee5\\u6307\\u5b9a\\u4e00\\u500b\\u6642\\u671f\\uff0c\\u5217\\u51fa\\u76f8\\u61c9\\u7684\\u6578\\u64da\\uff1a1. \\u6bcf\\u5929\\u7684\\u767b\\u9304\\u6b21\\u6578\\u30022. \\u6bcf\\u5929\\u7684\\u65e5\\u8a8c\\u5de5\\u6642\\u91cf\\u30023. \\u6bcf\\u5929\\u65b0\\u589e\\u7684\\u9700\\u6c42\\u6578\\u30024. \\u6bcf\\u5929\\u95dc\\u9589\\u7684\\u9700\\u6c42\\u6578\\u30025. \\u6bcf\\u5929\\u65b0\\u589e\\u7684\\u4efb\\u52d9\\u6578\\u30026. \\u6bcf\\u5929\\u5b8c\\u6210\\u7684\\u4efb\\u52d9\\u6578\\u30027. \\u6bcf\\u5929\\u65b0\\u589e\\u7684Bug\\u6578\\u30028. \\u6bcf\\u5929\\u89e3\\u6c7a\\u7684Bug\\u6578\\u30029. \\u6bcf\\u5929\\u7684\\u52d5\\u614b\\u6578\\u3002\",\"en\":\"The summary of company dynamics\"}', 'admin', '2015-07-27 15:09:42'), -('bug-resolve', '{\"zh-cn\":\"Bug\\u89e3\\u51b3\\u8868\",\"zh-tw\":\"Bug\\u89e3\\u6c7a\\u8868\",\"en\":\"Solved Bugs\"}', ',test', 'select *,if($product=\'\',0,product) as customproduct from TABLE_BUG where deleted=\'0\' and resolution!=\'\' and if($startDate=\'\',1,resolvedDate>=$startDate) and if($endDate=\'\',1,resolvedDate<=$endDate) having customproduct=$product', '{\"varName\":[\"product\",\"startDate\",\"endDate\"],\"showName\":[\"\\u4ea7\\u54c1\",\"\\u89e3\\u51b3\\u65e5\\u671f\\u5f00\\u59cb\",\"\\u89e3\\u51b3\\u65e5\\u671f\\u7ed3\\u675f\"],\"requestType\":[\"select\",\"date\",\"date\"],\"selectList\":[\"product\",\"user\",\"user\"],\"default\":[\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"count\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"done\":{\"zh-cn\":\"\\u5b8c\\u6210\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u6570\",\"en\":\"Done\"}}', '{\"group1\":\"resolvedBy\",\"isUser\":{\"group1\":[\"1\"]},\"group2\":\"\",\"reportField\":[\"resolution\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"],\"percent\":[\"1\"],\"contrast\":[\"crystalTotal\"],\"showAlone\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u5217\\u51fa\\u89e3\\u51b3\\u7684Bug\\u603b\\u6570\\uff0c\\u89e3\\u51b3\\u65b9\\u6848\\u7684\\u5206\\u5e03\\uff0c\\u5360\\u7684\\u6bd4\\u4f8b\\uff08\\u8be5\\u7528\\u6237\\u89e3\\u51b3\\u7684Bug\\u7684\\u6570\\u91cf\\u5360\\u6240\\u6709\\u7684\\u89e3\\u51b3\\u7684Bug\\u7684\\u6570\\u91cf)\\u3002\",\"zh-tw\":\"\\u5217\\u51fa\\u89e3\\u6c7a\\u7684Bug\\u7e3d\\u6578\\uff0c\\u89e3\\u6c7a\\u65b9\\u6848\\u7684\\u5206\\u5e03\\uff0c\\u5360\\u7684\\u6bd4\\u4f8b\\uff08\\u8a72\\u7528\\u6236\\u89e3\\u6c7a\\u7684Bug\\u7684\\u6578\\u91cf\\u5360\\u6240\\u6709\\u7684\\u89e3\\u6c7a\\u7684Bug\\u7684\\u6578\\u91cf)\\u3002\",\"en\":\"List the total number of bugs resolved, the distribution of solutions, and the percentage (the number of bugs solved by this user to the total number of bugs resolved).\"}', 'admin', '2015-07-24 13:44:25'), -('project-progress', '{\"zh-cn\":\"\\u9879\\u76ee\\u8fdb\\u5c55\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u9032\\u5c55\\u8868\",\"en\":\"Project Progress Report\"}', ',project', 'select t1.id,t4.name as project,t4.id,t1.name as execution,t1.status,t2.number as tasks,round(t2.consumed,2) as consumed,round(t2.`left`,2) as `left`,t3.stories,t2.undone as undoneTask,t3.undone as undoneStory,t2.totalReal from TABLE_EXECUTION as t1 \r\nleft join ztv_executionsummary as t2 on t1.id=t2.execution\r\nleft join ztv_projectstories as t3 on t1.id=t3.execution\r\nleft join TABLE_PROJECT as t4 on t4.id=t1.project\r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and if($project=\'\',1,t4.id=$project) and if($execution=\'\',1,t1.id=$execution) and if($status=\'\' or $status=\'delay\',1,t1.status=$status) and if($status=\'delay\',t1.`end` < curdate(),1)', '{\"varName\":[\"project\",\"execution\",\"status\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\"],\"requestType\":[\"select\",\"select\",\"select\"],\"selectList\":[\"project\",\"execution\",\"project.status\"],\"default\":[\"\",\"\",\"\"]}', '{\"stories\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"tasks\":{\"zh-cn\":\"\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u4efb\\u52a1\\u6570\",\"en\":\"Tasks\"},\"undoneStory\":{\"zh-cn\":\"\\u5269\\u4f59\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u5269\\u4f59\\u9700\\u6c42\\u6570\",\"en\":\"Undone Story\"},\"undoneTask\":{\"zh-cn\":\"\\u5269\\u4f59\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u5269\\u4f59\\u4efb\\u52a1\\u6570\",\"en\":\"Undone Task\"},\"consumed\":{\"zh-cn\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"zh-tw\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"en\":\"Cost(h)\"},\"left\":{\"zh-cn\":\"\\u5269\\u4f59\\u5de5\\u65f6\",\"zh-tw\":\"\\u5269\\u4f59\\u5de5\\u65f6\",\"en\":\"Left(h)\"},\"consumedPercent\":{\"zh-cn\":\"\\u8fdb\\u5ea6\",\"zh-tw\":\"\\u8fdb\\u5ea6\",\"en\":\"Process\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"stories\",\"undoneStory\",\"tasks\",\"undoneTask\",\"left\",\"consumed\"],\"reportType\":[\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\"],\"sumAppend\":[\"stories\",\"undoneStory\",\"tasks\",\"undoneTask\",\"left\",\"consumed\"],\"percent\":{\"5\":\"1\"},\"contrast\":{\"5\":\"totalReal\"},\"showAlone\":{\"5\":\"1\"}}', 2, '{\"zh-cn\":\"\\u9879\\u76ee\\u7684\\u9700\\u6c42\\u6570\\uff0c\\u4efb\\u52a1\\u6570\\uff0c\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\\uff0c\\u5269\\u4f59\\u5de5\\u65f6\\uff0c\\u5269\\u4f59\\u9700\\u6c42\\u6570\\uff0c\\u5269\\u4f59\\u4efb\\u52a1\\u6570\\uff0c\\u8fdb\\u5ea6\\u3002\",\"zh-tw\":\"\\u9805\\u76ee\\u7684\\u9700\\u6c42\\u6578\\uff0c\\u4efb\\u52d9\\u6578\\uff0c\\u5df2\\u6d88\\u8017\\u5de5\\u6642\\uff0c\\u5269\\u9918\\u5de5\\u6642\\uff0c\\u5269\\u9918\\u9700\\u6c42\\u6578\\uff0c\\u5269\\u9918\\u4efb\\u52d9\\u6578\\uff0c\\u9032\\u5ea6\\u3002\",\"en\":\"Project requirements, tasks, consumed hours, remaining hours, remaining demands, remaining tasks, schedule.\"}', 'admin', '2015-07-23 14:03:06'), -('projectbug-type', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u7c7b\\u578b\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u985e\\u578b\\u7d71\\u8a08\\u8868\",\"en\":\"Project Bug Type\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,t1.name as execution,t2.id as bugID,t2.type from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"stories\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"tasks\":{\"zh-cn\":\"\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u4efb\\u52a1\\u6570\",\"en\":\"Tasks\"},\"undoneStory\":{\"zh-cn\":\"\\u5269\\u4f59\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u5269\\u4f59\\u9700\\u6c42\\u6570\",\"en\":\"Undone Story\"},\"undoneTask\":{\"zh-cn\":\"\\u5269\\u4f59\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u5269\\u4f59\\u4efb\\u52a1\\u6570\",\"en\":\"Undone Task\"},\"consumed\":{\"zh-cn\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"zh-tw\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"en\":\"Cost(h)\"},\"left\":{\"zh-cn\":\"\\u5269\\u4f59\\u5de5\\u65f6\",\"zh-tw\":\"\\u5269\\u4f59\\u5de5\\u65f6\",\"en\":\"Left(h)\"},\"consumedPercent\":{\"zh-cn\":\"\\u8fdb\\u5ea6\",\"zh-tw\":\"\\u8fdb\\u5ea6\",\"en\":\"Process\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"type\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u7c7b\\u578b\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u985e\\u578b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"Type distribution of Bug statistics by project.\"}', 'admin', '2015-08-04 13:54:22'); +('bug-resolve', '{\"zh-cn\":\"Bug\\u89e3\\u51b3\\u8868\",\"zh-tw\":\"Bug\\u89e3\\u6c7a\\u8868\",\"en\":\"Solved Bugs\"}', ',test', 'select *,if($product=\'\',0,product) as customproduct from TABLE_BUG where deleted=\'0\' and resolution!=\'\' and if($startDate=\'\',1,resolvedDate>=$startDate) and if($endDate=\'\',1,resolvedDate<=$endDate) having customproduct=$product', '{\"varName\":[\"product\",\"startDate\",\"endDate\"],\"showName\":[\"\\u4ea7\\u54c1\",\"\\u89e3\\u51b3\\u65e5\\u671f\\u5f00\\u59cb\",\"\\u89e3\\u51b3\\u65e5\\u671f\\u7ed3\\u675f\"],\"requestType\":[\"select\",\"date\",\"date\"],\"selectList\":[\"product\",\"user\",\"user\"],\"default\":[\"\",\"$MONTHBEGIN\",\"$MONTHEND\"]}', '{\"count\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"done\":{\"zh-cn\":\"\\u5b8c\\u6210\\u6570\",\"zh-tw\":\"\\u5b8c\\u6210\\u6570\",\"en\":\"Done\"}}', '{\"group1\":\"resolvedBy\",\"isUser\":{\"group1\":[\"1\"]},\"group2\":\"\",\"reportField\":[\"resolution\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"],\"reportTotal\":[\"1\"],\"percent\":[\"1\"],\"contrast\":[\"crystalTotal\"],\"showAlone\":[\"1\"]}', 2, '{\"zh-cn\":\"\\u5217\\u51fa\\u89e3\\u51b3\\u7684Bug\\u603b\\u6570\\uff0c\\u89e3\\u51b3\\u65b9\\u6848\\u7684\\u5206\\u5e03\\uff0c\\u5360\\u7684\\u6bd4\\u4f8b\\uff08\\u8be5\\u7528\\u6237\\u89e3\\u51b3\\u7684Bug\\u7684\\u6570\\u91cf\\u5360\\u6240\\u6709\\u7684\\u89e3\\u51b3\\u7684Bug\\u7684\\u6570\\u91cf)\\u3002\",\"zh-tw\":\"\\u5217\\u51fa\\u89e3\\u6c7a\\u7684Bug\\u7e3d\\u6578\\uff0c\\u89e3\\u6c7a\\u65b9\\u6848\\u7684\\u5206\\u5e03\\uff0c\\u5360\\u7684\\u6bd4\\u4f8b\\uff08\\u8a72\\u7528\\u6236\\u89e3\\u6c7a\\u7684Bug\\u7684\\u6578\\u91cf\\u5360\\u6240\\u6709\\u7684\\u89e3\\u6c7a\\u7684Bug\\u7684\\u6578\\u91cf)\\u3002\",\"en\":\"percentage:self resolved \\/ all resolved\"}', 'admin', '2015-07-24 13:44:25'), +('project-progress', '{\"zh-cn\":\"\\u9879\\u76ee\\u8fdb\\u5c55\\u8868\",\"zh-tw\":\"\\u9805\\u76ee\\u9032\\u5c55\\u8868\",\"en\":\"Project Progress Report\",\"de\":\"Project Progress Report\",\"fr\":\"Project Progress Report\",\"vi\":\"Project Progress Report\",\"ja\":\"Project Progress Report\"}', ',project', 'select t1.id,t4.name as project,t4.id,IF(t4.multiple="1",t1.name,"") as execution,t1.status,t2.number as tasks,round(t2.consumed,2) as consumed,round(t2.`left`,2) as `left`,t3.stories,t2.undone as undoneTask,t3.undone as undoneStory,t2.totalReal from TABLE_EXECUTION as t1 \r\nleft join ztv_executionsummary as t2 on t1.id=t2.execution\r\nleft join ztv_projectstories as t3 on t1.id=t3.execution\r\nleft join TABLE_PROJECT as t4 on t4.id=t1.project\r\nwhere t1.deleted=\'0\' and t1.type in (\'sprint\',\'stage\') and if($project=\'\',1,t4.id=$project) and if($execution=\'\',1,t1.id=$execution) and if($status=\'\',1,t1.status=$status)', '{\"varName\":[\"project\",\"execution\",\"status\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\",\"\\u6267\\u884c\\u72b6\\u6001\"],\"requestType\":[\"select\",\"select\",\"select\"],\"selectList\":[\"project\",\"execution\",\"project.status\"],\"default\":[\"\",\"\",\"\"]}', '{\"stories\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"tasks\":{\"zh-cn\":\"\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u4efb\\u52a1\\u6570\",\"en\":\"Tasks\"},\"undoneStory\":{\"zh-cn\":\"\\u5269\\u4f59\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u5269\\u4f59\\u9700\\u6c42\\u6570\",\"en\":\"Undone Story\"},\"undoneTask\":{\"zh-cn\":\"\\u5269\\u4f59\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u5269\\u4f59\\u4efb\\u52a1\\u6570\",\"en\":\"Undone Task\"},\"consumed\":{\"zh-cn\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"zh-tw\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"en\":\"Cost(h)\"},\"left\":{\"zh-cn\":\"\\u5269\\u4f59\\u5de5\\u65f6\",\"zh-tw\":\"\\u5269\\u4f59\\u5de5\\u65f6\",\"en\":\"Left(h)\"},\"consumedPercent\":{\"zh-cn\":\"\\u8fdb\\u5ea6\",\"zh-tw\":\"\\u8fdb\\u5ea6\",\"en\":\"Process\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"stories\",\"undoneStory\",\"tasks\",\"undoneTask\",\"left\",\"consumed\"],\"reportType\":[\"sum\",\"sum\",\"sum\",\"sum\",\"sum\",\"sum\"],\"sumAppend\":[\"stories\",\"undoneStory\",\"tasks\",\"undoneTask\",\"left\",\"consumed\"],\"percent\":{\"5\":\"1\"},\"contrast\":{\"5\":\"totalReal\"},\"showAlone\":{\"5\":\"1\"}}', 2, '{\"zh-cn\":\"\\u9879\\u76ee\\u7684\\u9700\\u6c42\\u6570\\uff0c\\u4efb\\u52a1\\u6570\\uff0c\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\\uff0c\\u5269\\u4f59\\u5de5\\u65f6\\uff0c\\u5269\\u4f59\\u9700\\u6c42\\u6570\\uff0c\\u5269\\u4f59\\u4efb\\u52a1\\u6570\\uff0c\\u8fdb\\u5ea6\\u3002\",\"zh-tw\":\"\\u9805\\u76ee\\u7684\\u9700\\u6c42\\u6578\\uff0c\\u4efb\\u52d9\\u6578\\uff0c\\u5df2\\u6d88\\u8017\\u5de5\\u6642\\uff0c\\u5269\\u9918\\u5de5\\u6642\\uff0c\\u5269\\u9918\\u9700\\u6c42\\u6578\\uff0c\\u5269\\u9918\\u4efb\\u52d9\\u6578\\uff0c\\u9032\\u5ea6\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-07-23 14:03:06'), +('projectbug-type', '{\"zh-cn\":\"\\u9879\\u76eeBug\\u7c7b\\u578b\\u7edf\\u8ba1\\u8868\",\"zh-tw\":\"\\u9805\\u76eeBug\\u985e\\u578b\\u7d71\\u8a08\\u8868\",\"en\":\"Project Bug Type\",\"de\":\"Project Bug Type\",\"fr\":\"Project Bug Type\",\"vi\":\"Project Bug Type\",\"ja\":\"Project Bug Type\"}', ',project,test', 'select t1.id,t3.name as project,t3.id,IF(t3.multiple="1",t1.name,"") as execution,t2.id as bugID,t2.type from TABLE_EXECUTION as t1 \r\nleft join TABLE_BUG as t2 on t1.id=t2.execution\r\nleft join TABLE_PROJECT as t3 on t3.id=t1.project\r\nwhere t1.deleted=\'0\' and t2.deleted=\'0\' and if($project=\'\',1,t3.id=$project) and if($execution=\'\',1,t1.id=$execution)', '{\"varName\":[\"project\",\"execution\"],\"showName\":[\"\\u9879\\u76ee\\u5217\\u8868\",\"\\u6267\\u884c\\u5217\\u8868\"],\"requestType\":[\"select\",\"select\"],\"selectList\":[\"project\",\"execution\"],\"default\":[\"\",\"\"]}', '{\"stories\":{\"zh-cn\":\"\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u9700\\u6c42\\u6570\",\"en\":\"Stories\"},\"tasks\":{\"zh-cn\":\"\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u4efb\\u52a1\\u6570\",\"en\":\"Tasks\"},\"undoneStory\":{\"zh-cn\":\"\\u5269\\u4f59\\u9700\\u6c42\\u6570\",\"zh-tw\":\"\\u5269\\u4f59\\u9700\\u6c42\\u6570\",\"en\":\"Undone Story\"},\"undoneTask\":{\"zh-cn\":\"\\u5269\\u4f59\\u4efb\\u52a1\\u6570\",\"zh-tw\":\"\\u5269\\u4f59\\u4efb\\u52a1\\u6570\",\"en\":\"Undone Task\"},\"consumed\":{\"zh-cn\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"zh-tw\":\"\\u5df2\\u6d88\\u8017\\u5de5\\u65f6\",\"en\":\"Cost(h)\"},\"left\":{\"zh-cn\":\"\\u5269\\u4f59\\u5de5\\u65f6\",\"zh-tw\":\"\\u5269\\u4f59\\u5de5\\u65f6\",\"en\":\"Left(h)\"},\"consumedPercent\":{\"zh-cn\":\"\\u8fdb\\u5ea6\",\"zh-tw\":\"\\u8fdb\\u5ea6\",\"en\":\"Process\"},\"execution\":{\"zh-cn\":\"\\u6267\\u884c\\u540d\\u79f0\"}}', '{\"group1\":\"project\",\"group2\":\"execution\",\"reportField\":[\"type\"],\"reportType\":[\"count\"],\"sumAppend\":[\"\"]}', 2, '{\"zh-cn\":\"\\u6309\\u7167\\u9879\\u76ee\\u7edf\\u8ba1Bug\\u7684\\u7c7b\\u578b\\u5206\\u5e03\\u60c5\\u51b5\\u3002\",\"zh-tw\":\"\\u6309\\u7167\\u9805\\u76ee\\u7d71\\u8a08Bug\\u7684\\u985e\\u578b\\u5206\\u5e03\\u60c5\\u6cc1\\u3002\",\"en\":\"\",\"de\":\"\",\"fr\":\"\",\"vi\":\"\",\"ja\":\"\"}', 'admin', '2015-08-04 13:54:22'); + REPLACE INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES (1,'report','browseReport'), diff --git a/extension/lite/block/ext/control/welcome.php b/extension/lite/block/ext/control/welcome.php index 22ce608d4f..cb4b8f438d 100644 --- a/extension/lite/block/ext/control/welcome.php +++ b/extension/lite/block/ext/control/welcome.php @@ -21,7 +21,7 @@ class myBlock extends block ->orWhere('t3.status')->ne('suspended') ->markRight(1) ->andWhere('t1.deleted')->eq('0') - ->beginIF($this->config->systemMode == 'new')->andWhere('t2.deleted')->eq('0')->fi() + ->beginIF($this->config->systemMode == 'ALM')->andWhere('t2.deleted')->eq('0')->fi() ->andWhere('t3.deleted')->eq('0') ->andWhere('t1.vision')->eq($this->config->vision) ->fetchAll('id'); diff --git a/extension/lite/execution/ext/view/create.html.php b/extension/lite/execution/ext/view/create.html.php index c39bedc1b0..dc5997f855 100644 --- a/extension/lite/execution/ext/view/create.html.php +++ b/extension/lite/execution/ext/view/create.html.php @@ -26,7 +26,6 @@ -systemMode);?> project->common);?> systemMode);?> @@ -38,7 +37,7 @@
- systemMode == 'new'):?> + systemMode == 'ALM'):?> diff --git a/extension/lite/group/ext/lang/resource.php b/extension/lite/group/ext/lang/resource.php index 45d77bcd6f..5117a5df52 100644 --- a/extension/lite/group/ext/lang/resource.php +++ b/extension/lite/group/ext/lang/resource.php @@ -149,7 +149,7 @@ $lang->personnel->methodOrder[15] = 'whitelist'; $lang->personnel->methodOrder[20] = 'addWhitelist'; $lang->personnel->methodOrder[25] = 'unbindWhitelist'; -if($config->systemMode == 'new') +if($config->systemMode == 'ALM') { $lang->resource->my->project = 'project'; @@ -158,7 +158,7 @@ if($config->systemMode == 'new') $lang->resource->project->index = 'index'; $lang->resource->project->browse = 'browse'; $lang->resource->project->kanban = 'kanban'; -// $lang->resource->project->programTitle = 'moduleOpen'; + //$lang->resource->project->programTitle = 'moduleOpen'; $lang->resource->project->create = 'create'; $lang->resource->project->edit = 'edit'; $lang->resource->project->batchEdit = 'batchEdit'; @@ -456,8 +456,8 @@ $lang->resource->execution->updateOrder = 'updateOrder'; $lang->resource->execution->taskKanban = 'taskKanban'; //$lang->resource->execution->printKanban = 'printKanbanAction'; $lang->resource->execution->tree = 'treeAction'; -$lang->resource->execution->treeTask = 'treeOnlyTask'; -$lang->resource->execution->treeStory = 'treeOnlyStory'; +$lang->resource->execution->treeTask = 'treeViewTask'; +$lang->resource->execution->treeStory = 'treeViewStory'; $lang->resource->execution->all = 'allExecutionAB'; $lang->resource->execution->export = 'exportAction'; $lang->resource->execution->storyKanban = 'storyKanban'; diff --git a/extension/lite/my/ext/view/task.html.php b/extension/lite/my/ext/view/task.html.php index 51885c6128..1c034610cb 100644 --- a/extension/lite/my/ext/view/task.html.php +++ b/extension/lite/my/ext/view/task.html.php @@ -58,7 +58,7 @@ - systemMode == 'new'):?> + systemMode == 'ALM'):?> @@ -109,7 +109,7 @@ ?> children)) echo '';?> - systemMode == 'new'):?> + systemMode == 'ALM'):?> @@ -179,7 +179,7 @@ parent > 0) echo '' . $this->lang->task->childrenAB . ' ';?> createLink('task', 'view', "taskID=$child->id", '', '', $child->project), $child->name, null, "style='color: $child->color'");?> - systemMode == 'new'):?> + systemMode == 'ALM'):?> diff --git a/extension/lite/product/ext/model/getpairs.php b/extension/lite/product/ext/model/getpairs.php index 44e83114bf..0796a1e0d7 100644 --- a/extension/lite/product/ext/model/getpairs.php +++ b/extension/lite/product/ext/model/getpairs.php @@ -5,9 +5,10 @@ * @param string $mode * @param string $programID * @param string|array $append + * @param string|int $shadow all | 0 | 1 * @return array */ -public function getPairs($mode = '', $programID = 0, $append = '') +public function getPairs($mode = '', $programID = 0, $append = '', $shadow = 0) { if(defined('TUTORIAL')) return $this->loadModel('tutorial')->getProductPairs(); @@ -31,6 +32,7 @@ public function getPairs($mode = '', $programID = 0, $append = '') ->beginIF($programID)->andWhere('program')->eq($programID)->fi() ->beginIF(strpos($mode, 'noclosed') !== false)->andWhere('status')->ne('closed')->fi() ->beginIF(!$this->app->user->admin and $this->config->vision == 'rnd')->andWhere('id')->in($this->app->user->view->products)->fi() + ->beginIF($shadow !== 'all')->andWhere('shadow')->eq((int)$shadow)->fi() ->andWhere('vision')->eq($this->config->vision) ->andWhere('id')->in($projectProducts) ->fetchPairs('id', 'name'); diff --git a/extension/lite/project/ext/view/create.html.php b/extension/lite/project/ext/view/create.html.php index a105f7a5b7..6f14f207fe 100644 --- a/extension/lite/project/ext/view/create.html.php +++ b/extension/lite/project/ext/view/create.html.php @@ -87,6 +87,7 @@ goback, '', 'class="btn btn-wide"') : html::backButton(); diff --git a/extension/lite/user/ext/view/featurebar.html.php b/extension/lite/user/ext/view/featurebar.html.php index a73135924e..66612cb338 100644 --- a/extension/lite/user/ext/view/featurebar.html.php +++ b/extension/lite/user/ext/view/featurebar.html.php @@ -42,7 +42,7 @@ $active = ($methodName == 'story' and $storyType == 'story') ? ' btn-active-text' : ''; common::printLink('user', 'story', "userID={$user->id}&storyType=story", $label, '', "class='btn btn-link $active SRTab'"); - if($this->config->systemMode == 'new') + if($this->config->systemMode == 'ALM') { $label = "{$lang->user->execution}"; $active = $methodName == 'execution' ? ' btn-active-text' : ''; diff --git a/framework/api/helper.class.php b/framework/api/helper.class.php index a6db31970e..f24358735e 100644 --- a/framework/api/helper.class.php +++ b/framework/api/helper.class.php @@ -50,6 +50,50 @@ class helper extends baseHelper return isset($viewType) ? $viewType : $config->default->view; } + /** + * Verify that the system has opened on the feature. + * + * @param string $feature scrum_risk | risk | scrum + * @static + * @access public + * @return bool + */ + public static function hasFeature($feature) + { + global $config; + + if(strpos($feature, '_') !== false) + { + $code = explode('_', $feature); + $code = $code[0] . ucfirst($code[1]); + return strpos(",$config->disabledFeatures,", ",{$code},") === false; + } + else + { + if($feature == 'product' or $feature == 'scrum' or $feature == 'waterfall') return strpos(",$config->disabledFeatures,", ",{$feature},") === false; + + $hasFeature = false; + foreach($config->featureGroup as $group => $modules) + { + if($feature == $group) + { + foreach($modules as $module) + { + if(helper::hasFeature("{$group}_{$module}")) $hasFeature = true; + } + } + else + { + foreach($modules as $module) + { + if($feature == $module and helper::hasFeature("{$group}_{$module}")) $hasFeature = true; + } + } + } + return $hasFeature && strpos(",$config->disabledFeatures,", ",{$feature},") === false; + } + } + /** * Encode json for $.parseJSON * diff --git a/framework/base/control.class.php b/framework/base/control.class.php index 9a211e76cd..62505a46ba 100644 --- a/framework/base/control.class.php +++ b/framework/base/control.class.php @@ -997,6 +997,12 @@ class baseControl if($type != 'json') die(); $data = (array)$data; + + /* Make sure locate in this tab. */ + global $lang; + $moduleName = $this->app->rawModule; + if(isset($lang->navGroup->{$moduleName}) and $lang->navGroup->{$moduleName} != $this->app->tab and isset($data['locate']) and $data['locate'][0] == '/' and !helper::inOnlyBodyMode()) $data['locate'] .= "#app={$this->app->tab}"; + if(helper::isAjaxRequest() or $this->viewType == 'json') { /* Process for zh-cn in json. */ diff --git a/framework/base/helper.class.php b/framework/base/helper.class.php index b39d02977d..0e5ab9fcf8 100644 --- a/framework/base/helper.class.php +++ b/framework/base/helper.class.php @@ -136,7 +136,7 @@ class baseHelper */ if($viewType == $app->getViewType()) { - $link .= $moduleName . '/'; + $link .= $moduleName . '.' . $viewType; return self::processOnlyBodyParam($link, $onlyBody); } diff --git a/framework/helper.class.php b/framework/helper.class.php index c944daa477..50041c002f 100644 --- a/framework/helper.class.php +++ b/framework/helper.class.php @@ -76,6 +76,45 @@ class helper extends baseHelper return str_replace($escapers, $replacements, $json); } + /** + * Verify that the system has opened on the feature. + * + * @param string $feature scrum_risk | risk | scrum + * @static + * @access public + * @return bool + */ + public static function hasFeature($feature) + { + global $config; + + if(strpos($feature, '_') !== false) + { + $code = explode('_', $feature); + $code = $code[0] . ucfirst($code[1]); + return strpos(",$config->disabledFeatures,", ",{$code},") === false; + } + else + { + if($feature == 'product' or $feature == 'scrum' or $feature == 'waterfall') return strpos(",$config->disabledFeatures,", ",{$feature},") === false; + + $hasFeature = false; + $isFeature = false; + foreach($config->featureGroup as $group => $modules) + { + foreach($modules as $module) + { + if($feature == $group or $feature == $module) + { + $isFeature = true; + if(helper::hasFeature("{$group}_{$module}")) $hasFeature = true; + } + } + } + return !$isFeature or ($hasFeature && strpos(",$config->disabledFeatures,", ",{$feature},") === false); + } + } + /** * Convert encoding. * diff --git a/framework/router.class.php b/framework/router.class.php index 2ce88d9cd5..54a15be084 100755 --- a/framework/router.class.php +++ b/framework/router.class.php @@ -171,7 +171,7 @@ class router extends baseRouter try { - $commonSettings = $this->dbh->query('SELECT section, `key`, value FROM' . TABLE_CONFIG . "WHERE `owner`='system' AND (`module`='custom' or `module`='common') and `key` in ('sprintConcept', 'hourPoint', 'URSR', 'mode', 'URAndSR', 'scoreStatus')")->fetchAll(); + $commonSettings = $this->dbh->query('SELECT section, `key`, value FROM' . TABLE_CONFIG . "WHERE `owner`='system' AND (`module`='custom' or `module`='common') and `key` in ('sprintConcept', 'hourPoint', 'URSR', 'mode', 'URAndSR', 'scoreStatus', 'disabledFeatures', 'closedFeatures')")->fetchAll(); } catch (PDOException $exception) { @@ -181,18 +181,22 @@ class router extends baseRouter $hourKey = $planKey = $URSR = $URAndSR = 0; - $mode = 'new'; - $score = '0'; - $projectKey = ITERATION_KEY; + $mode = 'new'; + $score = '0'; + $projectKey = ITERATION_KEY; + $disabledFeatures = ''; + $closedFeatures = ''; foreach($commonSettings as $setting) { - if($setting->key == 'sprintConcept') $projectKey = $setting->value; - if($setting->key == 'hourPoint') $hourKey = $setting->value; - if($setting->key == 'URSR') $URSR = $setting->value; - if($setting->key == 'URAndSR') $URAndSR = $setting->value; - if($setting->key == 'mode' and $setting->section == 'global') $mode = $setting->value; - if($setting->key == 'scoreStatus' and $setting->section == 'global') $score = $setting->value; + if($setting->key == 'sprintConcept') $projectKey = $setting->value; + if($setting->key == 'hourPoint') $hourKey = $setting->value; + if($setting->key == 'URSR') $URSR = $setting->value; + if($setting->key == 'URAndSR') $URAndSR = $setting->value; + if($setting->key == 'mode' and $setting->section == 'global') $mode = $setting->value; + if($setting->key == 'scoreStatus' and $setting->section == 'global') $score = $setting->value; + if($setting->key == 'disabledFeatures') $disabledFeatures = $setting->value; + if($setting->key == 'closedFeatures') $closedFeatures = $setting->value; } /* Lite Version is compatible with classic modes */ @@ -200,7 +204,8 @@ class router extends baseRouter /* Record system mode. */ $config->systemMode = $mode; - if($config->systemMode == 'classic') $this->config->executionCommonList = $this->config->projectCommonList; + + $config->disabledFeatures = $disabledFeatures . ',' . $closedFeatures; /* Record system score.*/ $config->systemScore = $score; @@ -221,7 +226,7 @@ class router extends baseRouter /* User preference init. */ $config->URSR = $URSR; - $config->URAndSR = $URAndSR; + $config->URAndSR = ($URAndSR and strpos(",{$config->disabledFeatures},", ',productUR,') === false); $config->programLink = 'program-browse'; $config->productLink = 'product-all'; $config->projectLink = 'project-browse'; diff --git a/lib/base/front/front.class.php b/lib/base/front/front.class.php index 032e5a2b4a..c01e7959db 100644 --- a/lib/base/front/front.class.php +++ b/lib/base/front/front.class.php @@ -111,6 +111,15 @@ class baseHTML if(strlen(trim($title)) == 0) $title = $href; $newline = $newline ? "\n" : ''; + /* Make sure href is opened in the same tab. */ + if(strpos($misc, 'data-app=') === false) + { + global $app, $lang; + $module = $app->rawModule; + $dataApp = (isset($lang->navGroup->$module) and $lang->navGroup->$module != $app->tab) ? "data-app='{$app->tab}'" : ''; + $misc .= ' ' . $dataApp; + } + return "$title$newline"; } @@ -501,6 +510,14 @@ class baseHTML $gobackList = isset($_COOKIE['goback']) ? json_decode($_COOKIE['goback'], true) : array(); $gobackLink = isset($gobackList[$tab]) ? $gobackList[$tab] : ''; + /* Make sure href is opened in the same tab. */ + if(strpos($misc, 'data-app=') === false) + { + $module = $app->rawModule; + $dataApp = (isset($lang->navGroup->$module) and $lang->navGroup->$module != $app->tab) ? "data-app='{$app->tab}'" : ''; + $misc .= ' ' . $dataApp; + } + /* If the link of the referer is not the link of the current page or the link of the index, the cookie and gobackLink will be updated. */ if(!preg_match("/(m=|\/)(index|search|$currentModule)(&f=|-)(index|buildquery|$currentMethod)(&|-|\.)?/", strtolower($refererLink))) { diff --git a/module/action/config.php b/module/action/config.php index 09bd45b25c..053d148d83 100755 --- a/module/action/config.php +++ b/module/action/config.php @@ -69,8 +69,8 @@ $config->action->ignoreObjectType4Dynamic = 'kanbanregion,kanbanlane,kanbancolum $config->action->preferredTypeNum = 10; $config->action->preferredType = new stdclass(); -$config->action->preferredType->new = array('user', 'story', 'task', 'bug', 'case', 'doc', 'program', 'product', 'project', 'execution'); -$config->action->preferredType->classic = array('user', 'story', 'task', 'bug', 'case', 'doc', 'product', 'execution', 'productplan', 'build'); +$config->action->preferredType->ALM = array('user', 'story', 'task', 'bug', 'case', 'doc', 'program', 'product', 'project', 'execution'); +$config->action->preferredType->light = array('user', 'story', 'task', 'bug', 'case', 'doc', 'product', 'project', 'execution'); global $app, $lang; $app->loadLang('action'); diff --git a/module/action/control.php b/module/action/control.php index 4613347f2f..fb83740280 100755 --- a/module/action/control.php +++ b/module/action/control.php @@ -103,7 +103,8 @@ class action extends control $preferredType = array(); $moreType = array(); - $preferredTypeConfig = $this->config->systemMode == 'new' ? $this->config->action->preferredType->new : $this->config->action->preferredType->classic; + $preferredTypeConfig = $this->config->action->preferredType->ALM; + if($this->config->systemMode == 'light') $preferredTypeConfig = $this->config->action->preferredType->light; foreach($objectTypeList as $objectType) { if(!isset($this->config->objectTables[$objectType])) continue; diff --git a/module/action/lang/de.php b/module/action/lang/de.php index f11ff708dd..40ccd09b94 100644 --- a/module/action/lang/de.php +++ b/module/action/lang/de.php @@ -224,6 +224,8 @@ $lang->action->desc->reopen = '$date, reopened by $actoraction->desc->merged = '$date, merged by $actor .' . "\n"; $lang->action->desc->submitreview = '$date, submitted for review by $actor.' . "\n"; $lang->action->desc->ganttmove = '$date, sort by $actor .' . "\n"; +$lang->action->desc->switchtolight = '$date, Switch from ALM mode to light mode by '. $lang->admin->system .'.' . "\n"; +$lang->action->desc->unlinkproduct = '$date, the project is disassociated from the $extra, synchronization disassociates the sprints of the project from the $extra.' . "\n"; /* Used to describe the history of operations related to parent-child tasks. */ $lang->action->desc->createchildren = '$date, $actor created a child task $extra。' . "\n"; @@ -392,6 +394,10 @@ $lang->action->label->tolib = 'imported'; $lang->action->label->updatetolib = 'updated'; $lang->action->label->ganttmove = 'sorted'; $lang->action->label->submitreview = 'submitted'; +$lang->action->label->switchtolight = 'switch from ALM mode to light mode'; +$lang->action->label->linkedrepo = 'Linked Code Repo'; +$lang->action->label->unlinkedrepo = 'Unlinked Code Repo'; +$lang->action->label->unlinkproduct = 'Unlinked Product'; /* Dynamic information is grouped by object. */ $lang->action->dynamicAction = new stdclass; @@ -411,12 +417,13 @@ $lang->action->dynamicAction->program['activated'] = 'Activate Program'; $lang->action->dynamicAction->program['deleted'] = 'Delete Program'; $lang->action->dynamicAction->program['closed'] = 'Close Program'; -$lang->action->dynamicAction->project['opened'] = 'Create Project'; -$lang->action->dynamicAction->project['edited'] = 'Edit Project'; -$lang->action->dynamicAction->project['started'] = 'Start Project'; -$lang->action->dynamicAction->project['suspended'] = 'Suspend Project'; -$lang->action->dynamicAction->project['activated'] = 'Activate Project'; -$lang->action->dynamicAction->project['closed'] = 'Close Project'; +$lang->action->dynamicAction->project['opened'] = 'Create Project'; +$lang->action->dynamicAction->project['edited'] = 'Edit Project'; +$lang->action->dynamicAction->project['started'] = 'Start Project'; +$lang->action->dynamicAction->project['suspended'] = 'Suspend Project'; +$lang->action->dynamicAction->project['activated'] = 'Activate Project'; +$lang->action->dynamicAction->project['closed'] = 'Close Project'; +$lang->action->dynamicAction->project['switchtolight'] = 'Switch Mode'; $lang->action->dynamicAction->product['opened'] = 'Create ' . $lang->productCommon; $lang->action->dynamicAction->product['edited'] = 'Edit ' . $lang->productCommon; @@ -680,14 +687,7 @@ $lang->action->label->release = 'Release|release|view|productID=%s'; $lang->action->label->story = 'Story|story|view|storyID=%s'; $lang->action->label->program = "Program|program|pgmproduct|programID=%s"; $lang->action->label->project = "Project|project|index|projectID=%s"; -if($config->systemMode == 'new') -{ - $lang->action->label->execution = "Execution|execution|task|executionID=%s"; -} -else -{ - $lang->action->label->execution = "Execution|execution|task|executionID=%s"; -} +$lang->action->label->execution = "Execution|execution|task|executionID=%s"; $lang->action->label->task = 'Aufgaben|task|view|taskID=%s'; $lang->action->label->build = 'Builds|build|view|buildID=%s'; diff --git a/module/action/lang/en.php b/module/action/lang/en.php index fbdaf2970f..d81a9e8162 100755 --- a/module/action/lang/en.php +++ b/module/action/lang/en.php @@ -224,6 +224,8 @@ $lang->action->desc->reopen = '$date, reopened by $actoraction->desc->merged = '$date, merged by $actor .' . "\n"; $lang->action->desc->submitreview = '$date, submitted for review by $actor.' . "\n"; $lang->action->desc->ganttmove = '$date, sort by $actor .' . "\n"; +$lang->action->desc->switchtolight = '$date, Switch from ALM mode to light mode by '. $lang->admin->system .'.' . "\n"; +$lang->action->desc->unlinkproduct = '$date, the project is disassociated from the $extra, synchronization disassociates the sprints of the project from the $extra.' . "\n"; /* Used to describe the history of operations related to parent-child tasks. */ $lang->action->desc->createchildren = '$date, $actor created a child task $extra。' . "\n"; @@ -392,6 +394,10 @@ $lang->action->label->tolib = 'imported'; $lang->action->label->updatetolib = 'updated'; $lang->action->label->ganttmove = 'sorted'; $lang->action->label->submitreview = 'submitted'; +$lang->action->label->switchtolight = 'switch from ALM mode to light mode'; +$lang->action->label->linkedrepo = 'Linked Code Repo'; +$lang->action->label->unlinkedrepo = 'Unlinked Code Repo'; +$lang->action->label->unlinkproduct = 'Unlinked Product'; /* Dynamic information is grouped by object. */ $lang->action->dynamicAction = new stdclass; @@ -411,12 +417,13 @@ $lang->action->dynamicAction->program['activated'] = 'Activate Program'; $lang->action->dynamicAction->program['deleted'] = 'Delete Program'; $lang->action->dynamicAction->program['closed'] = 'Close Program'; -$lang->action->dynamicAction->project['opened'] = 'Create Project'; -$lang->action->dynamicAction->project['edited'] = 'Edit Project'; -$lang->action->dynamicAction->project['started'] = 'Start Project'; -$lang->action->dynamicAction->project['suspended'] = 'Suspend Project'; -$lang->action->dynamicAction->project['activated'] = 'Activate Project'; -$lang->action->dynamicAction->project['closed'] = 'Close Project'; +$lang->action->dynamicAction->project['opened'] = 'Create Project'; +$lang->action->dynamicAction->project['edited'] = 'Edit Project'; +$lang->action->dynamicAction->project['started'] = 'Start Project'; +$lang->action->dynamicAction->project['suspended'] = 'Suspend Project'; +$lang->action->dynamicAction->project['activated'] = 'Activate Project'; +$lang->action->dynamicAction->project['closed'] = 'Close Project'; +$lang->action->dynamicAction->project['switchtolight'] = 'Switch Mode'; $lang->action->dynamicAction->product['opened'] = 'Create ' . $lang->productCommon; $lang->action->dynamicAction->product['edited'] = 'Edit ' . $lang->productCommon; @@ -680,14 +687,7 @@ $lang->action->label->release = 'Release|release|view|productID=%s'; $lang->action->label->story = 'Story|story|view|storyID=%s'; $lang->action->label->program = "Program|program|product|programID=%s"; $lang->action->label->project = "Project|project|index|projectID=%s"; -if($config->systemMode == 'new') -{ - $lang->action->label->execution = "Execution|execution|task|executionID=%s"; -} -else -{ - $lang->action->label->execution = "$lang->executionCommon|execution|task|executionID=%s"; -} +$lang->action->label->execution = "Execution|execution|task|executionID=%s"; $lang->action->label->task = 'Task|task|view|taskID=%s'; $lang->action->label->build = 'Build|build|view|buildID=%s'; diff --git a/module/action/lang/fr.php b/module/action/lang/fr.php index 1e033620da..764d4f04af 100644 --- a/module/action/lang/fr.php +++ b/module/action/lang/fr.php @@ -224,6 +224,8 @@ $lang->action->desc->reopen = '$date, reopened by $actoraction->desc->merged = '$date, merged by $actor .' . "\n"; $lang->action->desc->submitreview = '$date, submitted for review by $actor.' . "\n"; $lang->action->desc->ganttmove = '$date, sort by $actor .' . "\n"; +$lang->action->desc->switchtolight = '$date, Switch from ALM mode to light mode by '. $lang->admin->system .'.' . "\n"; +$lang->action->desc->unlinkproduct = '$date, the project is disassociated from the $extra, synchronization disassociates the sprints of the project from the $extra.' . "\n"; /* Used to describe the history of operations related to parent-child tasks. */ $lang->action->desc->createchildren = '$date, $actor a créé un sous-tâche $extra。' . "\n"; @@ -392,6 +394,10 @@ $lang->action->label->tolib = 'Importé'; $lang->action->label->updatetolib = 'MàJ'; $lang->action->label->ganttmove = 'sorted'; $lang->action->label->submitreview = 'submitted'; +$lang->action->label->switchtolight = 'switch from ALM mode to light mode'; +$lang->action->label->linkedrepo = 'Linked Code Repo'; +$lang->action->label->unlinkedrepo = 'Unlinked Code Repo'; +$lang->action->label->unlinkproduct = 'Unlinked Product'; /* Dynamic information is grouped by object. */ $lang->action->dynamicAction = new stdclass(); @@ -411,12 +417,13 @@ $lang->action->dynamicAction->program['activated'] = 'Activate Program'; $lang->action->dynamicAction->program['deleted'] = 'Delete Program'; $lang->action->dynamicAction->program['closed'] = 'Close Program'; -$lang->action->dynamicAction->project['opened'] = 'Créer ' . $lang->executionCommon; -$lang->action->dynamicAction->project['edited'] = 'Editer ' . $lang->executionCommon; -$lang->action->dynamicAction->project['started'] = 'Commencer ' . $lang->executionCommon; -$lang->action->dynamicAction->project['suspended'] = 'Suspendre ' . $lang->executionCommon; -$lang->action->dynamicAction->project['activated'] = 'Activer ' . $lang->executionCommon; -$lang->action->dynamicAction->project['closed'] = 'Fermer ' . $lang->executionCommon; +$lang->action->dynamicAction->project['opened'] = 'Créer ' . $lang->executionCommon; +$lang->action->dynamicAction->project['edited'] = 'Editer ' . $lang->executionCommon; +$lang->action->dynamicAction->project['started'] = 'Commencer ' . $lang->executionCommon; +$lang->action->dynamicAction->project['suspended'] = 'Suspendre ' . $lang->executionCommon; +$lang->action->dynamicAction->project['activated'] = 'Activer ' . $lang->executionCommon; +$lang->action->dynamicAction->project['closed'] = 'Fermer ' . $lang->executionCommon; +$lang->action->dynamicAction->project['switchtolight'] = 'Switch Mode'; $lang->action->dynamicAction->product['opened'] = 'Créer ' . $lang->productCommon; $lang->action->dynamicAction->product['edited'] = 'Editer ' . $lang->productCommon; @@ -680,14 +687,7 @@ $lang->action->label->release = 'Release|release|view|productID=%s'; $lang->action->label->story = 'Story|story|view|storyID=%s'; $lang->action->label->program = "Program|program|pgmproduct|programID=%s"; $lang->action->label->project = "Project|program|index|projectID=%s"; -if($config->systemMode == 'new') -{ - $lang->action->label->execution = "Execution|execution|task|executionID=%s"; -} -else -{ - $lang->action->label->execution = "Execution|execution|task|executionID=%s"; -} +$lang->action->label->execution = "Execution|execution|task|executionID=%s"; $lang->action->label->task = 'Tâche|task|view|taskID=%s'; $lang->action->label->build = 'Build|build|view|buildID=%s'; diff --git a/module/action/lang/vi.php b/module/action/lang/vi.php index 93814e6516..f9e5281266 100644 --- a/module/action/lang/vi.php +++ b/module/action/lang/vi.php @@ -306,6 +306,8 @@ $lang->action->label->syncproject = 'start'; $lang->action->label->syncexecution = 'start'; $lang->action->label->startProgram = '(The start of the project sets the status of the program as Ongoing)'; $lang->action->label->submitreview = 'submitted'; +$lang->action->label->linkedrepo = 'Linked Code Repo'; +$lang->action->label->unlinkedrepo = 'Unlinked Code Repo'; /* Dynamic information is grouped by object. */ $lang->action->dynamicAction = new stdclass; @@ -536,14 +538,7 @@ $lang->action->label->release = 'Phát hành|release|view|productID=%s'; $lang->action->label->story = 'Câu chuyện|story|view|storyID=%s'; $lang->action->label->program = "Program|program|pgmproduct|programID=%s"; $lang->action->label->project = "Project|program|index|projectID=%s"; -if($config->systemMode == 'new') -{ - $lang->action->label->execution = "Execution|execution|task|executionID=%s"; -} -else -{ - $lang->action->label->execution = "$lang->executionCommon|execution|task|executionID=%s"; -} +$lang->action->label->execution = "Execution|execution|task|executionID=%s"; $lang->action->label->task = 'Nhiệm vụ|task|view|taskID=%s'; $lang->action->label->build = 'Bản dựng|build|view|buildID=%s'; $lang->action->label->bug = 'Bug|bug|view|bugID=%s'; diff --git a/module/action/lang/zh-cn.php b/module/action/lang/zh-cn.php index 2ba8f216e4..35745a10ac 100755 --- a/module/action/lang/zh-cn.php +++ b/module/action/lang/zh-cn.php @@ -99,7 +99,7 @@ $lang->action->objectTypes['productplan'] = '计划'; $lang->action->objectTypes['release'] = '发布'; $lang->action->objectTypes['program'] = '项目集'; $lang->action->objectTypes['project'] = '项目'; -$lang->action->objectTypes['execution'] = $config->systemMode == 'new' ? '执行' : $lang->executionCommon; +$lang->action->objectTypes['execution'] = '执行'; $lang->action->objectTypes['task'] = '任务'; $lang->action->objectTypes['build'] = '版本'; $lang->action->objectTypes['job'] = '构建'; @@ -224,6 +224,8 @@ $lang->action->desc->reopen = '$date, 由 $actor $lang->action->desc->merged = '$date, 由 $actor 合并。' . "\n"; $lang->action->desc->submitreview = '$date, 由 $actor 提交评审。' . "\n"; $lang->action->desc->ganttmove = '$date, 由 $actor 排序。' . "\n"; +$lang->action->desc->switchtolight = '$date, 由 '. $lang->admin->system .' 从全生命周期管理模式切换为轻量管理模式。' . "\n"; +$lang->action->desc->unlinkproduct = '$date, 系统判断由于迭代所属项目与$extra取消关联,同步将迭代与$extra取消关联。' . "\n"; /* 用来描述和父子任务相关的操作历史记录。*/ $lang->action->desc->createchildren = '$date, 由 $actor 创建子任务 $extra。' . "\n"; @@ -392,6 +394,10 @@ $lang->action->label->tolib = '导入了'; $lang->action->label->updatetolib = '更新了'; $lang->action->label->ganttmove = '排序了'; $lang->action->label->submitreview = '提交了评审'; +$lang->action->label->switchtolight = '从全生命周期管理模式切换为轻量管理模式'; +$lang->action->label->linkedrepo = '关联代码库到'; +$lang->action->label->unlinkedrepo = '取消了项目与代码库的关联'; +$lang->action->label->unlinkproduct = '取消了与产品的关联'; /* 动态信息按照对象分组 */ $lang->action->dynamicAction = new stdclass(); @@ -411,12 +417,13 @@ $lang->action->dynamicAction->program['activated'] = '激活项目集'; $lang->action->dynamicAction->program['deleted'] = '删除项目集'; $lang->action->dynamicAction->program['closed'] = '关闭项目集'; -$lang->action->dynamicAction->project['opened'] = '创建项目'; -$lang->action->dynamicAction->project['edited'] = '编辑项目'; -$lang->action->dynamicAction->project['started'] = '开始项目'; -$lang->action->dynamicAction->project['suspended'] = '延期项目'; -$lang->action->dynamicAction->project['activated'] = '激活项目'; -$lang->action->dynamicAction->project['closed'] = '关闭项目'; +$lang->action->dynamicAction->project['opened'] = '创建项目'; +$lang->action->dynamicAction->project['edited'] = '编辑项目'; +$lang->action->dynamicAction->project['started'] = '开始项目'; +$lang->action->dynamicAction->project['suspended'] = '延期项目'; +$lang->action->dynamicAction->project['activated'] = '激活项目'; +$lang->action->dynamicAction->project['closed'] = '关闭项目'; +$lang->action->dynamicAction->project['switchtolight'] = '切换模式'; $lang->action->dynamicAction->product['opened'] = '创建' . $lang->productCommon; $lang->action->dynamicAction->product['edited'] = '编辑' . $lang->productCommon; @@ -680,14 +687,7 @@ $lang->action->label->release = '发布|release|view|productID=%s'; $lang->action->label->story = "{$lang->SRCommon}|story|view|storyID=%s"; $lang->action->label->program = "项目集|program|product|programID=%s"; $lang->action->label->project = "项目|project|index|projectID=%s"; -if($config->systemMode == 'new') -{ - $lang->action->label->execution = "执行|execution|task|executionID=%s"; -} -else -{ - $lang->action->label->execution = "$lang->executionCommon|execution|task|executionID=%s"; -} +$lang->action->label->execution = "执行|execution|task|executionID=%s"; $lang->action->label->task = '任务|task|view|taskID=%s'; $lang->action->label->build = '版本|build|view|buildID=%s'; diff --git a/module/action/lang/zh-tw.php b/module/action/lang/zh-tw.php index dbdac896d3..420b1e29e5 100755 --- a/module/action/lang/zh-tw.php +++ b/module/action/lang/zh-tw.php @@ -90,7 +90,7 @@ $lang->action->objectTypes['productplan'] = '計劃'; $lang->action->objectTypes['release'] = '發佈'; $lang->action->objectTypes['program'] = '項目集'; $lang->action->objectTypes['project'] = '項目'; -$lang->action->objectTypes['execution'] = $config->systemMode == 'new' ? '執行' : $lang->executionCommon; +$lang->action->objectTypes['execution'] = '執行'; $lang->action->objectTypes['task'] = '任務'; $lang->action->objectTypes['build'] = '版本'; $lang->action->objectTypes['job'] = '構建'; @@ -324,6 +324,8 @@ $lang->action->label->importfromgitlab = '從Gitlab關聯創建了'; $lang->action->label->archived = '歸檔了'; $lang->action->label->restore = '還原了'; $lang->action->label->mergedbranch = '合併分支'; +$lang->action->label->linkedrepo = '關聯代碼庫到'; +$lang->action->label->unlinkedrepo = '取消了項目与代碼庫的關聯'; /* 動態信息按照對象分組 */ $lang->action->dynamicAction = new stdclass(); @@ -560,20 +562,13 @@ $lang->action->dynamicAction->entry['created'] = '添加應用'; $lang->action->dynamicAction->entry['edited'] = '編輯應用'; /* 用來生成相應對象的連結。*/ -$lang->action->label->product = $lang->productCommon . '|product|view|productID=%s'; -$lang->action->label->productplan = "計劃|productplan|view|productID=%s"; -$lang->action->label->release = '發佈|release|view|productID=%s'; -$lang->action->label->story = "{$lang->SRCommon}|story|view|storyID=%s"; -$lang->action->label->program = "項目集|program|product|programID=%s"; -$lang->action->label->project = "項目|project|index|projectID=%s"; -if($config->systemMode == 'new') -{ - $lang->action->label->execution = "執行|execution|task|executionID=%s"; -} -else -{ - $lang->action->label->execution = "$lang->executionCommon|execution|task|executionID=%s"; -} +$lang->action->label->product = $lang->productCommon . '|product|view|productID=%s'; +$lang->action->label->productplan = "計劃|productplan|view|productID=%s"; +$lang->action->label->release = '發佈|release|view|productID=%s'; +$lang->action->label->story = "{$lang->SRCommon}|story|view|storyID=%s"; +$lang->action->label->program = "項目集|program|product|programID=%s"; +$lang->action->label->project = "項目|project|index|projectID=%s"; +$lang->action->label->execution = "執行|execution|task|executionID=%s"; $lang->action->label->task = '任務|task|view|taskID=%s'; $lang->action->label->build = '版本|build|view|buildID=%s'; $lang->action->label->bug = 'Bug|bug|view|bugID=%s'; diff --git a/module/action/model.php b/module/action/model.php index 1d4df4b1aa..784329a4f7 100755 --- a/module/action/model.php +++ b/module/action/model.php @@ -373,11 +373,17 @@ class actionModel extends model } elseif($actionName == 'linked2execution' or $actionName == 'linked2kanban') { - $execution = $this->dao->select('name,type')->from(TABLE_PROJECT)->where('id')->eq($action->extra)->fetch(); + $execution = $this->dao->select('name,type,multiple')->from(TABLE_PROJECT)->where('id')->eq($action->extra)->fetch(); if(!empty($execution)) { - $name = $execution->name; - $method = $execution->type == 'kanban' ? 'kanban' : 'view'; + if($execution->type != 'project' and empty($execution->multiple)) + { + unset($actions[$actionID]); + continue; + } + + $name = $execution->name; + $method = $execution->type == 'kanban' ? 'kanban' : 'view'; $action->extra = (!common::hasPriv('execution', $method) or ($method == 'kanban' and isonlybody())) ? $name : html::a(helper::createLink('execution', $method, "executionID=$action->execution"), $name); } } @@ -575,7 +581,7 @@ class actionModel extends model if($history->field == 'git') $history->diff = str_replace('+', '%2B', $history->diff); } } - elseif(strpos('linkstory,unlinkstory,createchildrenstory', $actionName) !== false) + elseif(strpos(',linkstory,unlinkstory,createchildrenstory,', ",$actionName,") !== false) { $extra = ''; foreach(explode(',', $action->extra) as $id) $extra .= common::hasPriv('story', 'view') ? html::a(helper::createLink('story', 'view', "storyID=$id"), "#$id ") . ', ' : "#$id, "; @@ -1063,6 +1069,8 @@ class actionModel extends model $efforts = $this->dao->select('id')->from(TABLE_EFFORT)->where($condition)->fetchPairs(); $efforts = !empty($efforts) ? implode(',', $efforts) : 0; + $noMultipleExecutions = $this->dao->select('id')->from(TABLE_PROJECT)->where('multiple')->eq(0)->andWhere('type')->in('sprint,kanban')->fetchPairs('id', 'id'); + /* Get actions. */ $actions = $this->dao->select('*')->from(TABLE_ACTION) ->where('objectType')->notIN($this->config->action->ignoreObjectType4Dynamic) @@ -1082,10 +1090,12 @@ class actionModel extends model ->markRight(1) /* Types excluded from Lite. */ ->beginIF($this->config->vision == 'lite')->andWhere('objectType')->notin('product')->fi() + ->beginIF($this->config->systemMode == 'light')->andWhere('objectType')->notin('program')->fi() ->beginIF($productID == 'notzero')->andWhere('product')->gt(0)->andWhere('product')->notlike('%,0,%')->fi() ->beginIF($projectID == 'notzero')->andWhere('project')->gt(0)->fi() ->beginIF($executionID == 'notzero')->andWhere('execution')->gt(0)->fi() ->beginIF($productID == 'all' or $projectID == 'all' or $executionID == 'all')->andWhere("IF((objectType!= 'doc' && objectType!= 'doclib'), ($condition), '1=1')")->fi() + ->beginIF($noMultipleExecutions)->andWhere("IF(`objectType` = 'execution', `objectID` NOT " . helper::dbIN($noMultipleExecutions) . ", '1=1')")->fi() ->beginIF($actionCondition)->andWhere("($actionCondition)")->fi() /* Filter out client login/logout actions. */ ->andWhere('action')->notin('disconnectxuanxuan,reconnectxuanxuan,loginxuanxuan,logoutxuanxuan') @@ -1241,8 +1251,20 @@ class actionModel extends model $relatedProjects = $relatedData['relatedProjects']; $requirements = $relatedData['requirements']; + $projectIdList = array(); + foreach($relatedProjects as $objectType => $idList) $projectIdList += $idList; + + $shadowProducts = $this->dao->select('id')->from(TABLE_PRODUCT)->where('shadow')->eq(1)->fetchPairs(); + $projectMultiples = $this->dao->select('id,type,multiple')->from(TABLE_PROJECT)->where('id')->in($projectIdList)->fetchAll('id'); + foreach($actions as $i => $action) { + if($action->objectType == 'product' AND isset($shadowProducts[$action->objectID])) + { + unset($actions[$i]); + continue; + } + /* Add name field to the actions. */ $action->objectName = isset($objectNames[$action->objectType][$action->objectID]) ? $objectNames[$action->objectType][$action->objectID] : ''; @@ -1295,7 +1317,7 @@ class actionModel extends model if(empty($action->objectName) and (substr($objectType, 0, 6) == 'gitlab' or substr($objectType, 0, 5) == 'gitea' or substr($objectType, 0, 4) == 'gogs')) $action->objectName = $action->extra; /* Other actions, create a link. */ - $this->setObjectLink($action, $deptUsers); + $this->setObjectLink($action, $deptUsers, $shadowProducts, zget($projectMultiples, $projectID, '')); /* Set merge request link. */ if((empty($action->objectName) or $action->action == 'deleted') and $action->objectType == 'mr') $action->objectLink = ''; @@ -1365,10 +1387,7 @@ class actionModel extends model elseif($objectType == 'reviewcl') { $objectInfo = $this->dao->select('id,title')->from($table)->where('id')->in($objectIdList)->fetchAll(); - foreach($objectInfo as $object) - { - $objectName[$object->id] = $object->title; - } + foreach($objectInfo as $object) $objectName[$object->id] = $object->title; } elseif($objectType == 'team') { @@ -1459,10 +1478,12 @@ class actionModel extends model * * @param object $action * @param array $deptUsers + * @param array $shadowProducts + * @param object $project * @access public * @return object|bool */ - public function setObjectLink($action, $deptUsers) + public function setObjectLink($action, $deptUsers, $shadowProducts, $project = null) { $action->objectLink = ''; $action->objectLabel = zget($this->lang->action->objectTypes, $action->objectLabel); @@ -1558,7 +1579,7 @@ class actionModel extends model if(!empty($story)) { $moduleName = $story->type; - $action->objectLink = helper::createLink('story', 'view', "id=$story->id&version=0¶m=0&storyType=$story->type"); + $action->objectLink = isset($shadowProducts[$story->product]) ? helper::createLink('projectstory', 'view', "storyID=$story->id") : helper::createLink('story', 'view', "id=$story->id&version=0¶m=0&storyType=$story->type"); } } @@ -1591,15 +1612,8 @@ class actionModel extends model if($action->objectType == 'stakeholder' and $action->project == 0) $action->objectLink = ''; - if($action->objectType == 'story' and $action->action == 'import2storylib') - { - $action->objectLink = helper::createLink('assetlib', 'storyView', "storyID=$action->objectID"); - } - - if($action->objectType == 'story' and $this->config->vision == 'lite') - { - $action->objectLink = helper::createLink('projectstory', 'view', "storyID=$action->objectID"); - } + if($action->objectType == 'story' and $action->action == 'import2storylib') $action->objectLink = helper::createLink('assetlib', 'storyView', "storyID=$action->objectID"); + if($action->objectType == 'story' and $this->config->vision == 'lite') $action->objectLink = helper::createLink('projectstory', 'view', "storyID=$action->objectID"); if(strpos(',kanbanregion,kanbancard,', ",{$action->objectType},") !== false) { @@ -1620,11 +1634,7 @@ class actionModel extends model $action->objectLink = helper::createLink('kanban', 'view', "kanbanID=$kanbanID"); } - if($action->objectType == 'branch' and $action->action == 'mergedbranch') - { - $action->objectLink = 'javascript:void(0)'; - } - + if($action->objectType == 'branch' and $action->action == 'mergedbranch') $action->objectLink = 'javascript:void(0)'; if($action->objectType == 'module') { $moduleType = $this->dao->select('type')->from(TABLE_MODULE)->where('id')->eq($action->objectID)->fetch('type'); @@ -1635,10 +1645,10 @@ class actionModel extends model } } - if($action->objectType == 'review') - { - $action->objectLink = helper::createLink('review', 'view', "reviewID=$action->objectID"); - } + if($action->objectType == 'review') $action->objectLink = helper::createLink('review', 'view', "reviewID=$action->objectID"); + + /* Set app for no multiple project. */ + if(!empty($action->objectLink) and !empty($project) and empty($project->multiple)) $action->objectLink .= '#app=project'; return $action; } @@ -1751,7 +1761,7 @@ class actionModel extends model $action = $this->getById($actionID); if($action->action != 'deleted') return; - if($this->config->systemMode == 'new' and $action->objectType == 'execution') + if($action->objectType == 'execution') { $execution = $this->dao->select('*')->from(TABLE_EXECUTION)->where('id')->eq($action->objectID)->fetch(); if($execution->deleted and empty($execution->project)) return print(js::error($this->lang->action->undeletedTips)); @@ -1777,9 +1787,20 @@ class actionModel extends model } elseif(in_array($action->objectType, array('program', 'project', 'execution'))) { - $project = $this->dao->select('id,acl')->from(TABLE_PROJECT)->where('id')->eq($action->objectID)->fetch(); + $project = $this->dao->select('id,acl,name,hasProduct')->from(TABLE_PROJECT)->where('id')->eq($action->objectID)->fetch(); $objecttype = $action->objectType == 'execution' ? 'sprint' : $action->objectType; if($project->acl != 'open') $this->loadModel('user')->updateUserView($project->id, $objecttype); + + /* Reduction shadow product. */ + if(!$project->hasProduct and $action->objectType == 'project') + { + $productID = $this->loadModel('product')->getProductIDByProject($project->id);; + $this->dao->update(TABLE_PRODUCT) + ->set('name')->eq($project->name) + ->set('deleted')->eq(0) + ->where('id')->eq($productID) + ->exec(); + } } elseif($action->objectType == 'module') { diff --git a/module/action/view/trash.html.php b/module/action/view/trash.html.php index 5ac3abe485..cb861e81e6 100755 --- a/module/action/view/trash.html.php +++ b/module/action/view/trash.html.php @@ -82,7 +82,7 @@ - systemMode == 'new' and $currentObjectType == 'execution'):?> + @@ -146,7 +146,7 @@ } ?> - systemMode == 'new' and $currentObjectType == 'execution'):?> + + @@ -31,12 +32,14 @@ $appid = isset($_GET['entry']) ? "class='app-btn' data-id='{$this->get->entry}'" : ''; $buildViewLink = $this->createLink('build', 'view', "buildID={$build->id}"); $productViewLink = $this->createLink('product', 'browse', "productID={$build->product}"); + $projectViewLink = $this->createLink('project', 'build', "projectID={$build->project}"); ?> > - + + diff --git a/module/block/view/contribute.html.php b/module/block/view/contribute.html.php index 618465eb87..58afbe9e9d 100644 --- a/module/block/view/contribute.html.php +++ b/module/block/view/contribute.html.php @@ -33,6 +33,7 @@
createLink('my', 'contribute', 'mode=testcase&type=openedbyme'), (int)$data['createdCases']);?>
config->edition == 'max'):?> +
block->createdRisks;?>
createLink('my', 'contribute', 'mode=risk'), (int)$data['createdRisks']);?>
@@ -41,6 +42,8 @@
block->resolvedRisks;?>
+ +
block->createdIssues;?>
createLink('my', 'contribute', 'mode=issue'), (int)$data['createdIssues']);?>
@@ -50,6 +53,7 @@
+
block->createdDocs;?>
createLink('my', 'contribute', 'mode=doc&type=openedbyme'), (int)$data['createdDocs']);?>
diff --git a/module/block/view/flowchart.html.php b/module/block/view/flowchart.html.php index 031dfbb2d4..157cd63397 100644 --- a/module/block/view/flowchart.html.php +++ b/module/block/view/flowchart.html.php @@ -46,5 +46,5 @@ .block-sm .row-3 .flow-item-1, .block-sm .row-3 .flow-item-3 {width: 25%} .block-sm .flow-item > div:after {right: -6px;} -.flow-item-display {overflow: hidden; white-space:nowrap; text-overflow: ellipsis;} +.flow-item-display {overflow: hidden; white-space:nowrap; text-overflow: clip;} diff --git a/module/block/view/printassigntomeblock.html.php b/module/block/view/printassigntomeblock.html.php index 5618edbea1..9293eb4686 100644 --- a/module/block/view/printassigntomeblock.html.php +++ b/module/block/view/printassigntomeblock.html.php @@ -23,7 +23,7 @@ > - block->availableBlocks->$type;?> + my->audit : $lang->block->availableBlocks->$type;?> '> diff --git a/module/block/view/projectstatisticblock.html.php b/module/block/view/projectstatisticblock.html.php index 3dddfb16b8..e34409e652 100644 --- a/module/block/view/projectstatisticblock.html.php +++ b/module/block/view/projectstatisticblock.html.php @@ -197,7 +197,7 @@ $(function()
- executions)):?> + executions) and $project->multiple):?>

block->last;?>

@@ -259,7 +259,7 @@ $(function()
cv;?>
- + diff --git a/module/block/view/recentprojectblock.html.php b/module/block/view/recentprojectblock.html.php index cfc9a0ab62..da19da4548 100644 --- a/module/block/view/recentprojectblock.html.php +++ b/module/block/view/recentprojectblock.html.php @@ -40,15 +40,13 @@
block->emptyTip;?>
- $project):?> - systemMode == 'new' ? $this->createLink('project', 'index', "projectID=$project->id") : $this->createLink('execution', 'task', "projectID=$project->id");?> + $project):?> + createLink('project', 'index', "projectID=$project->id");?>
- systemMode == 'new'):?> model == 'waterfall' ? 'label-warning' : 'label-info';?> project->{$project->model};?> - name);?>
- systemMode == 'new'):?> - model === 'waterfall'): ?> + model === 'waterfall'):?>
- + multiple):?> executions ) ? '' : end($project->executions);?>
@@ -110,10 +107,9 @@
- +
- - + diff --git a/module/block/view/reviewblock.html.php b/module/block/view/reviewblock.html.php new file mode 100644 index 0000000000..b379ef8713 --- /dev/null +++ b/module/block/view/reviewblock.html.php @@ -0,0 +1,96 @@ + + * @package block + * @version $Id$ + * @link http://www.zentao.net + */ +?> + +
block->emptyTip;?>
+ +
+
execution->projectName;?> priAB);?> task->name);?>my->projects);?> my->executions);?>createLink('project', 'index', "projectID=$task->project"), $task->projectName);?> createLink('execution', 'task', "executionID=$task->execution"), $task->executionName, '');?>createLink('project', 'view', "projectID=$child->project"), $child->projectName);?> createLink('execution', 'task', "executionID=$child->project"), $child->executionName, '');?>action->objectType);?> idAB);?> action->objectName;?>lang->project->project;?> project]->name;?> project]->deleted):?> diff --git a/module/admin/control.php b/module/admin/control.php index 28d537d4f5..3d2d0cbe16 100644 --- a/module/admin/control.php +++ b/module/admin/control.php @@ -233,6 +233,36 @@ class admin extends control $this->display(); } + /** + * Set closed features config. + * + * @access public + * @return void + */ + public function setModule() + { + if($_POST) + { + $closedFeatures = ''; + if(isset($_POST['module'])) + { + foreach($this->post->module as $module => $options) + { + $checked = reset($options); + if(!$checked) $closedFeatures .= "$module,"; + } + } + $closedFeatures = rtrim($closedFeatures, ','); + $this->loadModel('setting')->setItem('system.common.closedFeatures', $closedFeatures); + $this->loadModel('custom')->processMeasrecordCron(); + $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => 'top')); + } + $this->view->title = $this->lang->admin->setModuleIndex; + $this->view->closedFeatures = $this->loadModel('setting')->getItem('owner=system&module=common§ion=&key=closedFeatures'); + $this->view->disabledFeatures = $this->setting->getItem('owner=system&module=common§ion=&key=disabledFeatures'); + $this->display(); + } + /** * Certify ztEmail. * diff --git a/module/admin/css/setmodule.css b/module/admin/css/setmodule.css new file mode 100644 index 0000000000..023128a06d --- /dev/null +++ b/module/admin/css/setmodule.css @@ -0,0 +1,3 @@ +.group-item {display: block; width: 140px; float: left; font-size: 14px;} +.group-item .checkbox-inline label {padding-left: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;} +.table-condensed td, .table-condensed th {padding: 10px;} diff --git a/module/admin/js/setmodule.js b/module/admin/js/setmodule.js new file mode 100644 index 0000000000..32048ea3a0 --- /dev/null +++ b/module/admin/js/setmodule.js @@ -0,0 +1,15 @@ +$(function() +{ + $("input[name^='module']").change(function() + { + const name = $(this).attr('name'); + if($(this).prop('checked')) + { + $("input[name='" + name + "'][type=hidden]").val('1').attr('disabled', 'disabled'); + } + else + { + $("input[name='" + name + "'][type=hidden]").val('0').attr('disabled', false); + } + }) +}) diff --git a/module/admin/lang/de.php b/module/admin/lang/de.php index 35be329946..4760cafaeb 100644 --- a/module/admin/lang/de.php +++ b/module/admin/lang/de.php @@ -23,6 +23,7 @@ $lang->admin->getCaptcha = 'Bestätigungscode anfordern'; $lang->admin->register = 'Register'; $lang->admin->resetPWDSetting = 'Reset password Setting'; $lang->admin->tableEngine = 'Table Engine'; +$lang->admin->setModuleIndex = 'Set Module'; $lang->admin->api = 'API'; $lang->admin->log = 'Log'; @@ -65,6 +66,44 @@ $lang->admin->bind = new stdclass(); $lang->admin->bind->caption = 'Konto verknüpfen'; $lang->admin->bind->success = "Konto wurde verknüpft!"; +$lang->admin->setModule = new stdclass(); +$lang->admin->setModule->module = 'Module'; +$lang->admin->setModule->optional = 'Optional'; +$lang->admin->setModule->opened = 'Opened'; +$lang->admin->setModule->closed = 'Closed'; + +$lang->admin->setModule->product = 'Product'; +$lang->admin->setModule->scrum = 'Scrum Project'; +$lang->admin->setModule->waterfall = 'Waterfall Project'; +$lang->admin->setModule->assetlib = 'Assetlib'; +$lang->admin->setModule->other = 'Other'; + +$lang->admin->setModule->repo = 'Repo'; +$lang->admin->setModule->issue = 'Issue'; +$lang->admin->setModule->risk = 'Risk'; +$lang->admin->setModule->opportunity = 'Opportunity'; +$lang->admin->setModule->process = 'Process'; +$lang->admin->setModule->measrecord = 'Measrecord'; +$lang->admin->setModule->auditplan = 'QA'; +$lang->admin->setModule->meeting = 'Meeting'; +$lang->admin->setModule->roadmap = 'Roadmap'; +$lang->admin->setModule->track = 'Track'; +$lang->admin->setModule->URStory = 'URStroy'; +$lang->admin->setModule->researchplan = 'Researchplan'; +$lang->admin->setModule->gapanalysis = 'Gapanalysis'; +$lang->admin->setModule->storylib = 'Story Lib'; +$lang->admin->setModule->caselib = 'Case Lib'; +$lang->admin->setModule->issuelib = 'Issue Lib'; +$lang->admin->setModule->risklib = 'Risk Lib'; +$lang->admin->setModule->opportunitylib = 'Opportunity Lib'; +$lang->admin->setModule->practicelib = 'Practice Lib'; +$lang->admin->setModule->componentlib = 'Component Lib'; +$lang->admin->setModule->devops = 'DevOps'; +$lang->admin->setModule->kanban = 'Kanban'; +$lang->admin->setModule->OA = 'OA'; +$lang->admin->setModule->deploy = 'Deploy'; +$lang->admin->setModule->traincourse = 'Traincourse'; + $lang->admin->safe = new stdclass(); $lang->admin->safe->common = 'Sicherheits-Regeln'; $lang->admin->safe->set = 'PasswortStärke'; diff --git a/module/admin/lang/en.php b/module/admin/lang/en.php index 1657fb2e33..6eb18cc6c3 100644 --- a/module/admin/lang/en.php +++ b/module/admin/lang/en.php @@ -23,6 +23,7 @@ $lang->admin->getCaptcha = 'Send Verification Code'; $lang->admin->register = 'Register'; $lang->admin->resetPWDSetting = 'Reset password Setting'; $lang->admin->tableEngine = 'Table Engine'; +$lang->admin->setModuleIndex = 'Set Module'; $lang->admin->api = 'API'; $lang->admin->log = 'Log'; @@ -65,6 +66,44 @@ $lang->admin->bind = new stdclass(); $lang->admin->bind->caption = 'Link Account'; $lang->admin->bind->success = "Account is linked!"; +$lang->admin->setModule = new stdclass(); +$lang->admin->setModule->module = 'Module'; +$lang->admin->setModule->optional = 'Optional'; +$lang->admin->setModule->opened = 'Opened'; +$lang->admin->setModule->closed = 'Closed'; + +$lang->admin->setModule->product = 'Product'; +$lang->admin->setModule->scrum = 'Scrum Project'; +$lang->admin->setModule->waterfall = 'Waterfall Project'; +$lang->admin->setModule->assetlib = 'Assetlib'; +$lang->admin->setModule->other = 'Other'; + +$lang->admin->setModule->repo = 'Repo'; +$lang->admin->setModule->issue = 'Issue'; +$lang->admin->setModule->risk = 'Risk'; +$lang->admin->setModule->opportunity = 'Opportunity'; +$lang->admin->setModule->process = 'Process'; +$lang->admin->setModule->measrecord = 'Measrecord'; +$lang->admin->setModule->auditplan = 'QA'; +$lang->admin->setModule->meeting = 'Meeting'; +$lang->admin->setModule->roadmap = 'Roadmap'; +$lang->admin->setModule->track = 'Track'; +$lang->admin->setModule->URStory = 'URStroy'; +$lang->admin->setModule->researchplan = 'Researchplan'; +$lang->admin->setModule->gapanalysis = 'Gapanalysis'; +$lang->admin->setModule->storylib = 'Story Lib'; +$lang->admin->setModule->caselib = 'Case Lib'; +$lang->admin->setModule->issuelib = 'Issue Lib'; +$lang->admin->setModule->risklib = 'Risk Lib'; +$lang->admin->setModule->opportunitylib = 'Opportunity Lib'; +$lang->admin->setModule->practicelib = 'Practice Lib'; +$lang->admin->setModule->componentlib = 'Component Lib'; +$lang->admin->setModule->devops = 'DevOps'; +$lang->admin->setModule->kanban = 'Kanban'; +$lang->admin->setModule->OA = 'OA'; +$lang->admin->setModule->deploy = 'Deploy'; +$lang->admin->setModule->traincourse = 'Traincourse'; + $lang->admin->safe = new stdclass(); $lang->admin->safe->common = 'Security Policy'; $lang->admin->safe->set = 'Password Settings'; diff --git a/module/admin/lang/fr.php b/module/admin/lang/fr.php index f8370e4fee..8df60acc16 100644 --- a/module/admin/lang/fr.php +++ b/module/admin/lang/fr.php @@ -23,6 +23,7 @@ $lang->admin->getCaptcha = 'Obtenir le Code de vérification'; $lang->admin->register = 'Register'; $lang->admin->resetPWDSetting = 'Reset password Setting'; $lang->admin->tableEngine = 'Table Engine'; +$lang->admin->setModuleIndex = 'Set Module'; $lang->admin->api = 'API'; $lang->admin->log = 'Log'; @@ -65,6 +66,44 @@ $lang->admin->bind = new stdclass(); $lang->admin->bind->caption = 'Lier au compte'; $lang->admin->bind->success = "Le compte est associé !"; +$lang->admin->setModule = new stdclass(); +$lang->admin->setModule->module = 'Module'; +$lang->admin->setModule->optional = 'Optional'; +$lang->admin->setModule->opened = 'Opened'; +$lang->admin->setModule->closed = 'Closed'; + +$lang->admin->setModule->product = 'Product'; +$lang->admin->setModule->scrum = 'Scrum Project'; +$lang->admin->setModule->waterfall = 'Waterfall Project'; +$lang->admin->setModule->assetlib = 'Assetlib'; +$lang->admin->setModule->other = 'Other'; + +$lang->admin->setModule->repo = 'Repo'; +$lang->admin->setModule->issue = 'Issue'; +$lang->admin->setModule->risk = 'Risk'; +$lang->admin->setModule->opportunity = 'Opportunity'; +$lang->admin->setModule->process = 'Process'; +$lang->admin->setModule->measrecord = 'Measrecord'; +$lang->admin->setModule->auditplan = 'QA'; +$lang->admin->setModule->meeting = 'Meeting'; +$lang->admin->setModule->roadmap = 'Roadmap'; +$lang->admin->setModule->track = 'Track'; +$lang->admin->setModule->URStory = 'URStroy'; +$lang->admin->setModule->researchplan = 'Researchplan'; +$lang->admin->setModule->gapanalysis = 'Gapanalysis'; +$lang->admin->setModule->storylib = 'Story Lib'; +$lang->admin->setModule->caselib = 'Case Lib'; +$lang->admin->setModule->issuelib = 'Issue Lib'; +$lang->admin->setModule->risklib = 'Risk Lib'; +$lang->admin->setModule->opportunitylib = 'Opportunity Lib'; +$lang->admin->setModule->practicelib = 'Practice Lib'; +$lang->admin->setModule->componentlib = 'Component Lib'; +$lang->admin->setModule->devops = 'DevOps'; +$lang->admin->setModule->kanban = 'Kanban'; +$lang->admin->setModule->OA = 'OA'; +$lang->admin->setModule->deploy = 'Deploy'; +$lang->admin->setModule->traincourse = 'Traincourse'; + $lang->admin->safe = new stdclass(); $lang->admin->safe->common = 'Politique de sécurité'; $lang->admin->safe->set = 'Paramétrages du Mot de passe'; diff --git a/module/admin/lang/zh-cn.php b/module/admin/lang/zh-cn.php index 2d5d8048c7..95a21c0810 100644 --- a/module/admin/lang/zh-cn.php +++ b/module/admin/lang/zh-cn.php @@ -23,6 +23,7 @@ $lang->admin->getCaptcha = '获取验证码'; $lang->admin->register = '登记'; $lang->admin->resetPWDSetting = '重置密码设置'; $lang->admin->tableEngine = '表引擎'; +$lang->admin->setModuleIndex = '系统功能配置'; $lang->admin->api = '接口'; $lang->admin->log = '日志'; @@ -65,6 +66,44 @@ $lang->admin->bind = new stdclass(); $lang->admin->bind->caption = '关联社区帐号'; $lang->admin->bind->success = "关联账户成功"; +$lang->admin->setModule = new stdclass(); +$lang->admin->setModule->module = '功能点'; +$lang->admin->setModule->optional = '可选功能'; +$lang->admin->setModule->opened = '已开启'; +$lang->admin->setModule->closed = '已关闭'; + +$lang->admin->setModule->product = '产品'; +$lang->admin->setModule->scrum = '敏捷项目'; +$lang->admin->setModule->waterfall = '瀑布项目'; +$lang->admin->setModule->assetlib = '资产库'; +$lang->admin->setModule->other = '通用功能'; + +$lang->admin->setModule->repo = '代码'; +$lang->admin->setModule->issue = '问题'; +$lang->admin->setModule->risk = '风险'; +$lang->admin->setModule->opportunity = '机会'; +$lang->admin->setModule->process = '过程'; +$lang->admin->setModule->measrecord = '度量'; +$lang->admin->setModule->auditplan = 'QA'; +$lang->admin->setModule->meeting = '会议'; +$lang->admin->setModule->roadmap = '路线图'; +$lang->admin->setModule->track = '矩阵'; +$lang->admin->setModule->URStory = '用户需求'; +$lang->admin->setModule->researchplan = '调研'; +$lang->admin->setModule->gapanalysis = '培训'; +$lang->admin->setModule->storylib = '需求库'; +$lang->admin->setModule->caselib = '用例库'; +$lang->admin->setModule->issuelib = '问题库'; +$lang->admin->setModule->risklib = '风险库'; +$lang->admin->setModule->opportunitylib = '机会库'; +$lang->admin->setModule->practicelib = '最佳实践库'; +$lang->admin->setModule->componentlib = '组件库'; +$lang->admin->setModule->devops = 'DevOps'; +$lang->admin->setModule->kanban = '通用看板'; +$lang->admin->setModule->OA = '办公'; +$lang->admin->setModule->deploy = '运维'; +$lang->admin->setModule->traincourse = '学堂'; + $lang->admin->safe = new stdclass(); $lang->admin->safe->common = '安全策略'; $lang->admin->safe->set = '密码安全设置'; diff --git a/module/admin/view/setmodule.html.php b/module/admin/view/setmodule.html.php new file mode 100644 index 0000000000..73a90383e6 --- /dev/null +++ b/module/admin/view/setmodule.html.php @@ -0,0 +1,78 @@ + + * @package admin + * @version $Id: setmodule.html.php 2568 2012-02-09 06:56:35Z shiyangyangwork@yahoo.cn $ + * @link http://www.zentao.net + */ +?> + +
+
+
+

admin->setModuleIndex;?>

+
+ + + + + + + + + + + + + + featureGroup as $group => $features):?> + + + + + + + + + + + + + + + + + + + + + +
admin->setModule->module;?>admin->setModule->optional;?>
admin->setModule->opened;?>admin->setModule->closed;?>
admin->setModule->{$group};?> + + + + +
+ $lang->admin->setModule->{$feature}), '1', "data-code='{$code}'", 'inline');?> + +
+ +
+ + + + +
+ $lang->admin->setModule->{$feature}), '0', "data-code='{$code}'", 'inline');?> + +
+ +
+ ` +
+
+ diff --git a/module/block/control.php b/module/block/control.php index 9b1f004a21..9e04c4c189 100755 --- a/module/block/control.php +++ b/module/block/control.php @@ -715,7 +715,8 @@ class block extends control $this->session->set('buildList', $uri, 'execution'); if(preg_match('/[^a-zA-Z0-9_]/', $this->params->type)) return; - $this->view->testtasks = $this->dao->select('distinct t1.*,t2.name as productName,t3.name as buildName,t4.name as projectName')->from(TABLE_TESTTASK)->alias('t1') + $this->view->projects = $this->loadModel('project')->getPairsByProgram(); + $this->view->testtasks = $this->dao->select('distinct t1.*,t2.name as productName,t2.shadow,t3.name as buildName,t4.name as projectName')->from(TABLE_TESTTASK)->alias('t1') ->leftJoin(TABLE_PRODUCT)->alias('t2')->on('t1.product=t2.id') ->leftJoin(TABLE_BUILD)->alias('t3')->on('t1.build=t3.id') ->leftJoin(TABLE_PROJECT)->alias('t4')->on('t1.execution=t4.id') @@ -758,13 +759,15 @@ class block extends control */ public function printPlanBlock() { - $this->session->set('productList', $this->app->getURI(true), 'product'); - $this->session->set('productPlanList', $this->app->getURI(true), 'product'); + $uri = $this->createLink('my', 'index'); + $this->session->set('productList', $uri, 'product'); + $this->session->set('productPlanList', $uri, 'product'); $this->app->loadLang('productplan'); $this->view->plans = $this->dao->select('t1.*,t2.name as productName')->from(TABLE_PRODUCTPLAN)->alias('t1') ->leftJoin(TABLE_PRODUCT)->alias('t2')->on('t1.product=t2.id') ->where('t1.deleted')->eq('0') + ->andWhere('t2.shadow')->eq(0) ->beginIF(!$this->app->user->admin)->andWhere('t1.product')->in($this->app->user->view->products)->fi() ->orderBy('t1.begin desc') ->beginIF($this->viewType != 'json')->limit((int)$this->params->count)->fi() @@ -788,6 +791,7 @@ class block extends control ->leftJoin(TABLE_PRODUCT)->alias('t2')->on('t1.product=t2.id') ->leftJoin(TABLE_BUILD)->alias('t3')->on('t1.build=t3.id') ->where('t1.deleted')->eq('0') + ->andWhere('t2.shadow')->eq(0) ->beginIF($this->view->block->module != 'my' and $this->session->project)->andWhere('t1.project')->eq((int)$this->session->project)->fi() ->beginIF(!$this->app->user->admin)->andWhere('t1.product')->in($this->app->user->view->products)->fi() ->orderBy('t1.id desc') @@ -806,8 +810,9 @@ class block extends control $this->session->set('buildList', $this->createLink('my', 'index'), 'execution'); $this->app->loadLang('build'); - $builds = $this->dao->select('t1.*, t2.name as productName')->from(TABLE_BUILD)->alias('t1') + $builds = $this->dao->select('t1.*, t2.name AS productName, t2.shadow, t3.name AS projectName')->from(TABLE_BUILD)->alias('t1') ->leftJoin(TABLE_PRODUCT)->alias('t2')->on('t1.product=t2.id') + ->leftJoin(TABLE_PROJECT)->alias('t3')->on('t1.project=t3.id') ->where('t1.deleted')->eq('0') ->beginIF(!$this->app->user->admin)->andWhere('t1.execution')->in($this->app->user->view->sprints)->fi() ->beginIF($this->view->block->module != 'my' and $this->session->project)->andWhere('t1.project')->eq((int)$this->session->project)->fi() @@ -853,13 +858,32 @@ class block extends control $productIdList = array(); foreach($productStats as $product) $productIdList[] = $product->id; - $this->view->executions = $this->dao->select('t1.product,t2.name')->from(TABLE_PROJECTPRODUCT)->alias('t1') + $this->app->loadLang('project'); + $executions = $this->dao->select('t1.product,t2.id,t2.project,t2.name,t2.multiple')->from(TABLE_PROJECTPRODUCT)->alias('t1') ->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project=t2.id') ->where('t1.product')->in($productIdList) ->andWhere('t2.type')->in('stage,sprint') ->andWhere('t2.deleted')->eq(0) ->orderBy('t1.project') - ->fetchPairs('product', 'name'); + ->fetchAll('product'); + + $executionPairs = array(); + $noMultiples = array(); + foreach($executions as $execution) + { + if(empty($execution->multiple)) $noMultiples[$execution->product] = $execution->project; + $executionPairs[$execution->product] = $execution->name; + } + if($noMultiples) + { + $noMultipleProjects = $this->dao->select('id,name')->from(TABLE_PROJECT)->where('id')->in($noMultiples)->fetchPairs('id', 'name'); + foreach($noMultiples as $productID => $projectID) + { + if(isset($noMultipleProjects[$projectID])) $executionPairs[$productID] = $noMultipleProjects[$projectID] . "({$this->lang->project->disableExecution})"; + } + } + + $this->view->executions = $executionPairs; $this->view->productStats = $productStats; } @@ -1262,7 +1286,7 @@ class block extends control */ public function printWaterfallIssueBlock() { - $uri = $this->app->getURI(true); + $uri = $this->app->tab == 'my' ? $this->createLink('my', 'index') : $this->server->http_referer; $this->session->set('issueList', $uri, 'project'); if(preg_match('/[^a-zA-Z0-9_]/', $this->params->type)) return; $this->view->users = $this->loadModel('user')->getPairs('noletter'); @@ -1277,7 +1301,7 @@ class block extends control */ public function printWaterfallRiskBlock() { - $uri = $this->app->getURI(true); + $uri = $this->app->tab == 'my' ? $this->createLink('my', 'index') : $this->server->http_referer; $this->session->set('riskList', $uri, 'project'); $this->view->users = $this->loadModel('user')->getPairs('noletter'); $this->view->risks = $this->loadModel('risk')->getBlockRisks($this->session->project, $this->params->type, $this->viewType == 'json' ? 0 : (int)$this->params->count, $this->params->orderBy); @@ -1468,8 +1492,9 @@ class block extends control */ public function printScrumRoadMapBlock($productID = 0, $roadMapID = 0) { - $this->session->set('releaseList', $this->app->getURI(true), 'product'); - $this->session->set('productPlanList', $this->app->getURI(true), 'product'); + $uri = $this->app->tab == 'my' ? $this->createLink('my', 'index') : $this->server->http_referer; + $this->session->set('releaseList', $uri, 'product'); + $this->session->set('productPlanList', $uri, 'product'); $products = $this->loadModel('product')->getPairs('', $this->session->project); if(!is_numeric($productID)) $productID = key($products); @@ -1495,15 +1520,17 @@ class block extends control */ public function printScrumTestBlock() { - $this->session->set('testtaskList', $this->app->getURI(true), 'qa'); - $this->session->set('productList', $this->app->getURI(true), 'product'); - $this->session->set('projectList', $this->app->getURI(true), 'project'); - $this->session->set('buildList', $this->app->getURI(true), 'execution'); + $uri = $this->app->tab == 'my' ? $this->createLink('my', 'index') : $this->server->http_referer; + $this->session->set('testtaskList', $uri, 'qa'); + $this->session->set('productList', $uri, 'product'); + $this->session->set('projectList', $uri, 'project'); + $this->session->set('buildList', $uri, 'execution'); $this->app->loadLang('testtask'); $count = zget($this->params, 'count', 10); $status = isset($this->params->type) ? $this->params->type : 'wait'; + $this->view->project = $this->loadModel('project')->getByID($this->session->project); $this->view->testtasks = $this->dao->select('t1.*,t2.name as productName,t3.name as buildName,t4.name as projectName') ->from(TABLE_TESTTASK)->alias('t1') ->leftJoin(TABLE_PRODUCT)->alias('t2')->on('t1.product=t2.id') @@ -1534,7 +1561,7 @@ class block extends control $count = isset($this->params->count) ? (int)$this->params->count : 0; $projectID = $this->lang->navGroup->qa == 'project' ? $this->session->project : 0; - $products = $this->loadModel('product')->getOrderedProducts($status, $count, $projectID); + $products = $this->loadModel('product')->getOrderedProducts($status, $count, $projectID, 'all'); $executions = $this->loadModel('execution')->getPairs($projectID, 'all', 'empty|withdelete'); if(empty($products)) { @@ -1645,6 +1672,7 @@ class block extends control $total = 0; foreach($executions as $execution) { + if(empty($execution->multiple)) continue; if(!isset($overview[$execution->status])) $overview[$execution->status] = 0; $overview[$execution->status]++; $total++; @@ -1713,10 +1741,8 @@ class block extends control $this->app->loadClass('pager', true); $pager = pager::init(0, $count, 1); - $projectPairs = array(); - if($this->config->systemMode == 'new') $projectPairs = $this->dao->select('id,name')->from(TABLE_PROJECT)->where('type')->eq('project')->fetchPairs('id', 'name'); - - $projectID = $this->view->block->module == 'my' ? 0 : (int)$this->session->project; + $projectPairs = $this->dao->select('id,name')->from(TABLE_PROJECT)->where('type')->eq('project')->fetchPairs('id', 'name'); + $projectID = $this->view->block->module == 'my' ? 0 : (int)$this->session->project; $this->view->executionStats = $this->execution->getStatData($projectID, $status, 0, 0, false, 'skipParent', 'id_asc', $pager); } @@ -1729,17 +1755,21 @@ class block extends control */ public function printAssignToMeBlock($longBlock = true) { + $hasIssue = helper::hasFeature('issue'); + $hasRisk = helper::hasFeature('risk'); + $hasMeeting = helper::hasFeature('meeting'); + $hasViewPriv = array(); - if(common::hasPriv('todo', 'view')) $hasViewPriv['todo'] = true; - if(common::hasPriv('task', 'view')) $hasViewPriv['task'] = true; - if(common::hasPriv('bug', 'view') and $this->config->vision != 'lite') $hasViewPriv['bug'] = true; - if($this->config->URAndSR and common::hasPriv('story', 'view') and $this->config->vision != 'lite') $hasViewPriv['requirement'] = true; - if(common::hasPriv('story', 'view') and $this->config->vision != 'lite') $hasViewPriv['story'] = true; - if(common::hasPriv('risk', 'view') and $this->config->edition == 'max' and $this->config->vision != 'lite') $hasViewPriv['risk'] = true; - if(common::hasPriv('issue', 'view') and $this->config->edition == 'max' and $this->config->vision != 'lite') $hasViewPriv['issue'] = true; - if(common::hasPriv('meeting', 'view') and $this->config->edition == 'max' and $this->config->vision != 'lite') $hasViewPriv['meeting'] = true; - if(common::hasPriv('feedback', 'view') and in_array($this->config->edition, array('max', 'biz'))) $hasViewPriv['feedback'] = true; - if(common::hasPriv('ticket', 'view') and in_array($this->config->edition, array('max', 'biz'))) $hasViewPriv['ticket'] = true; + if(common::hasPriv('todo', 'view')) $hasViewPriv['todo'] = true; + if(common::hasPriv('task', 'view')) $hasViewPriv['task'] = true; + if(common::hasPriv('bug', 'view') and $this->config->vision != 'lite') $hasViewPriv['bug'] = true; + if(common::hasPriv('story', 'view') and $this->config->vision != 'lite') $hasViewPriv['story'] = true; + if($this->config->URAndSR and common::hasPriv('story', 'view') and $this->config->vision != 'lite') $hasViewPriv['requirement'] = true; + if(common::hasPriv('risk', 'view') and $this->config->edition == 'max' and $this->config->vision != 'lite' && $hasRisk) $hasViewPriv['risk'] = true; + if(common::hasPriv('issue', 'view') and $this->config->edition == 'max' and $this->config->vision != 'lite' && $hasIssue) $hasViewPriv['issue'] = true; + if(common::hasPriv('meeting', 'view') and $this->config->edition == 'max' and $this->config->vision != 'lite' && $hasMeeting) $hasViewPriv['meeting'] = true; + if(common::hasPriv('feedback', 'view') and in_array($this->config->edition, array('max', 'biz'))) $hasViewPriv['feedback'] = true; + if(common::hasPriv('ticket', 'view') and in_array($this->config->edition, array('max', 'biz'))) $hasViewPriv['ticket'] = true; $params = $this->get->param; $params = json_decode(base64_decode($params)); @@ -1748,8 +1778,20 @@ class block extends control $objectCountList = array('todo' => 'todoCount', 'task' => 'taskCount', 'bug' => 'bugCount', 'story' => 'storyCount', 'requirement' => 'requirementCount'); if($this->config->edition == 'max') { - $objectList += array('risk' => 'risks', 'issue' => 'issues', 'feedback' => 'feedbacks', 'ticket' => 'tickets'); - $objectCountList += array('risk' => 'riskCount', 'issue' => 'issueCount', 'feedback' => 'feedbackCount', 'ticket' => 'ticketCount'); + if($hasRisk) + { + $objectList += array('risk' => 'risks'); + $objectCountList += array('risk' => 'riskCount'); + } + + if($hasIssue) + { + $objectList += array('issue' => 'issues'); + $objectCountList += array('issue' => 'issueCount'); + } + + $objectList += array('feedback' => 'feedbacks', 'ticket' => 'tickets'); + $objectCountList += array('feedback' => 'feedbackCount', 'ticket' => 'ticketCount'); } if($this->config->edition == 'biz') @@ -1867,6 +1909,17 @@ class block extends control $this->view->users = $this->loadModel('user')->getPairs('all,noletter'); } + $limitCount = !empty($params->reviewCount) ? $params->reviewCount : 20; + $this->app->loadClass('pager', $static = true); + $pager = new pager(0, $limitCount, 1); + $reviews = $this->loadModel('my')->getReviewingList('all', 'time_desc', $pager); + if($reviews) + { + $hasViewPriv['review'] = true; + $count['review'] = count($reviews); + $this->view->reviews = $reviews; + } + $this->view->selfCall = $this->selfCall; $this->view->hasViewPriv = $hasViewPriv; $this->view->count = $count; diff --git a/module/block/lang/de.php b/module/block/lang/de.php index 84132ac24f..762467bb10 100644 --- a/module/block/lang/de.php +++ b/module/block/lang/de.php @@ -284,14 +284,11 @@ $lang->block->default['full']['my']['4']['grid'] = 8; $lang->block->default['full']['my']['4']['source'] = 'project'; $lang->block->default['full']['my']['4']['params']['count'] = '20'; -if($config->systemMode == 'new') -{ - $lang->block->default['full']['my']['5']['title'] = 'Personal Contribution'; - $lang->block->default['full']['my']['5']['block'] = 'contribute'; - $lang->block->default['full']['my']['5']['source'] = ''; - $lang->block->default['full']['my']['5']['grid'] = 4; - $lang->block->default['full']['my']['5']['params']['count'] = '20'; -} +$lang->block->default['full']['my']['5']['title'] = 'Personal Contribution'; +$lang->block->default['full']['my']['5']['block'] = 'contribute'; +$lang->block->default['full']['my']['5']['source'] = ''; +$lang->block->default['full']['my']['5']['grid'] = 4; +$lang->block->default['full']['my']['5']['params']['count'] = '20'; $lang->block->default['full']['my']['6']['title'] = 'Recent Project'; $lang->block->default['full']['my']['6']['block'] = 'recentproject'; @@ -308,31 +305,25 @@ $lang->block->default['full']['my']['8']['block'] = 'projectteam'; $lang->block->default['full']['my']['8']['source'] = 'project'; $lang->block->default['full']['my']['8']['grid'] = 8; -$lang->block->default['full']['my']['8']['params']['todoCount'] = '20'; -$lang->block->default['full']['my']['8']['params']['taskCount'] = '20'; -$lang->block->default['full']['my']['8']['params']['bugCount'] = '20'; -$lang->block->default['full']['my']['8']['params']['riskCount'] = '20'; -$lang->block->default['full']['my']['8']['params']['issueCount'] = '20'; -$lang->block->default['full']['my']['8']['params']['storyCount'] = '20'; -$lang->block->default['full']['my']['8']['params']['meetingCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['todoCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['taskCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['bugCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['riskCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['issueCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['storyCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['reviewCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['meetingCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['feedbackCount'] = '20'; -if($config->systemMode == 'new') -{ - $lang->block->default['full']['my']['9']['title'] = 'Project List'; - $lang->block->default['full']['my']['9']['block'] = 'project'; - $lang->block->default['full']['my']['9']['source'] = 'project'; - $lang->block->default['full']['my']['9']['grid'] = 8; -} +$lang->block->default['full']['my']['9']['title'] = 'Project List'; +$lang->block->default['full']['my']['9']['block'] = 'project'; +$lang->block->default['full']['my']['9']['source'] = 'project'; +$lang->block->default['full']['my']['9']['grid'] = 8; $lang->block->default['full']['my']['10']['title'] = 'Project List'; $lang->block->default['full']['my']['10']['block'] = 'project'; $lang->block->default['full']['my']['10']['source'] = 'project'; $lang->block->default['full']['my']['10']['grid'] = 8; -if($config->systemMode == 'classic') -{ - $lang->block->default['full']['my']['10']['block'] = 'project'; - $lang->block->default['full']['my']['10']['source'] = 'project'; -} $lang->block->default['full']['my']['10']['params']['orderBy'] = 'id_desc'; $lang->block->default['full']['my']['10']['params']['count'] = '15'; @@ -360,8 +351,8 @@ $lang->block->availableBlocks->meeting = 'Meetings'; $lang->block->availableBlocks->feedback = 'Feedbacks'; $lang->block->availableBlocks->ticket = 'Tickets'; -if($config->systemMode == 'new') $lang->block->moduleList['project'] = 'Project'; $lang->block->moduleList['product'] = $lang->productCommon; +$lang->block->moduleList['project'] = 'Project'; $lang->block->moduleList['execution'] = $lang->execution->common; $lang->block->moduleList['qa'] = 'QA'; $lang->block->moduleList['todo'] = 'Todos'; @@ -371,7 +362,7 @@ $lang->block->modules['project']->availableBlocks = new stdclass(); $lang->block->modules['project']->availableBlocks->project = 'Project List'; $lang->block->modules['project']->availableBlocks->recentproject = 'Recent Project'; $lang->block->modules['project']->availableBlocks->statistic = 'Project Statistic'; -if($config->systemMode == 'new') $lang->block->modules['project']->availableBlocks->projectteam = 'Project Human Input'; +$lang->block->modules['project']->availableBlocks->projectteam = 'Project Human Input'; $lang->block->modules['scrum']['index'] = new stdclass(); $lang->block->modules['scrum']['index']->availableBlocks = new stdclass(); @@ -477,6 +468,7 @@ $lang->block->bugCount = 'Bugs'; $lang->block->riskCount = 'Risk'; $lang->block->issueCount = 'Issues'; $lang->block->storyCount = 'Stories'; +$lang->block->reviewCount = 'Reviews'; $lang->block->meetingCount = 'Meetings'; $lang->block->feedbackCount = 'Feedbacks'; $lang->block->ticketCount = 'Tickets'; @@ -572,10 +564,10 @@ $lang->block->gridOptions[4] = 'Rechts'; $lang->block->flowchart = array(); $lang->block->flowchart['admin'] = array('Administrator', 'Abteilung erstellen', 'Benutzer erstellen', 'Rechte pflegen'); -if($config->systemMode == 'new') $lang->block->flowchart['program'] = array('Program Owner', 'Create Program', 'Link Product', "Create Project", "Budgeting and planning", 'Add Stakeholder'); +if($config->systemMode == 'ALM') $lang->block->flowchart['program'] = array('Program Owner', 'Create Program', 'Link Product', "Create Project", "Budgeting and planning", 'Add Stakeholder'); $lang->block->flowchart['product'] = array($lang->productCommon . ' Besitzer', $lang->productCommon . ' erstellen', 'Module pflegen', 'Pläne pflegen', 'Storys pflegen', 'Release erstellen'); $lang->block->flowchart['project'] = array('Project Manager', 'Add projects and ' . $lang->executionCommon . 's', 'Maintain Teams', 'Link Stories', 'Create Tasks', 'Track'); -if($config->systemMode == 'new') $lang->block->flowchart['project'] = array('Project Manager', 'Add projects and ' . $lang->executionCommon . 's', 'Maintain Teams', 'Link Stories', 'Create Tasks', 'Track'); +$lang->block->flowchart['project'] = array('Project Manager', 'Add projects and ' . $lang->executionCommon . 's', 'Maintain Teams', 'Link Stories', 'Create Tasks', 'Track'); $lang->block->flowchart['dev'] = array('Entwickler', 'Aufgabe/Bugs anfordern', 'Update Status', 'Aufgaben/Bugs abschließen'); $lang->block->flowchart['tester'] = array('QS Team', 'Fälle erstellen', 'Fälle ausführen', 'Bug Berichte', 'Bugs überprüfen', 'Bugs schließen'); diff --git a/module/block/lang/en.php b/module/block/lang/en.php index 40f9e63d35..f088c63e36 100644 --- a/module/block/lang/en.php +++ b/module/block/lang/en.php @@ -284,14 +284,11 @@ $lang->block->default['full']['my']['4']['grid'] = 4; $lang->block->default['full']['my']['4']['source'] = 'todo'; $lang->block->default['full']['my']['4']['params']['count'] = '20'; -if($config->systemMode == 'new') -{ - $lang->block->default['full']['my']['5']['title'] = 'Project Statistic'; - $lang->block->default['full']['my']['5']['block'] = 'statistic'; - $lang->block->default['full']['my']['5']['source'] = 'project'; - $lang->block->default['full']['my']['5']['grid'] = 8; - $lang->block->default['full']['my']['5']['params']['count'] = '20'; -} +$lang->block->default['full']['my']['5']['title'] = 'Project Statistic'; +$lang->block->default['full']['my']['5']['block'] = 'statistic'; +$lang->block->default['full']['my']['5']['source'] = 'project'; +$lang->block->default['full']['my']['5']['grid'] = 8; +$lang->block->default['full']['my']['5']['params']['count'] = '20'; $lang->block->default['full']['my']['6']['title'] = 'Personal Contribution'; $lang->block->default['full']['my']['6']['block'] = 'contribute'; @@ -308,31 +305,25 @@ $lang->block->default['full']['my']['8']['block'] = 'assigntome'; $lang->block->default['full']['my']['8']['source'] = ''; $lang->block->default['full']['my']['8']['grid'] = 8; -$lang->block->default['full']['my']['8']['params']['todoCount'] = '20'; -$lang->block->default['full']['my']['8']['params']['taskCount'] = '20'; -$lang->block->default['full']['my']['8']['params']['bugCount'] = '20'; -$lang->block->default['full']['my']['8']['params']['riskCount'] = '20'; -$lang->block->default['full']['my']['8']['params']['issueCount'] = '20'; -$lang->block->default['full']['my']['8']['params']['storyCount'] = '20'; -$lang->block->default['full']['my']['8']['params']['meetingCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['todoCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['taskCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['bugCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['riskCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['issueCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['storyCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['reviewCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['meetingCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['feedbackCount'] = '20'; -if($config->systemMode == 'new') -{ - $lang->block->default['full']['my']['9']['title'] = 'Manpower Input'; - $lang->block->default['full']['my']['9']['block'] = 'projectteam'; - $lang->block->default['full']['my']['9']['source'] = 'project'; - $lang->block->default['full']['my']['9']['grid'] = 8; -} +$lang->block->default['full']['my']['9']['title'] = 'Manpower Input'; +$lang->block->default['full']['my']['9']['block'] = 'projectteam'; +$lang->block->default['full']['my']['9']['source'] = 'project'; +$lang->block->default['full']['my']['9']['grid'] = 8; $lang->block->default['full']['my']['10']['title'] = 'Project List'; $lang->block->default['full']['my']['10']['block'] = 'project'; $lang->block->default['full']['my']['10']['source'] = 'project'; $lang->block->default['full']['my']['10']['grid'] = 8; -if($config->systemMode == 'classic') -{ - $lang->block->default['full']['my']['10']['block'] = 'execution'; - $lang->block->default['full']['my']['10']['source'] = 'execution'; -} $lang->block->default['full']['my']['10']['params']['orderBy'] = 'id_desc'; $lang->block->default['full']['my']['10']['params']['count'] = '15'; @@ -360,8 +351,8 @@ $lang->block->availableBlocks->meeting = 'Meetings'; $lang->block->availableBlocks->feedback = 'Feedbacks'; $lang->block->availableBlocks->ticket = 'Tickets'; -if($config->systemMode == 'new') $lang->block->moduleList['project'] = 'Project'; $lang->block->moduleList['product'] = $lang->productCommon; +$lang->block->moduleList['project'] = 'Project'; $lang->block->moduleList['execution'] = $lang->execution->common; $lang->block->moduleList['qa'] = 'Test'; $lang->block->moduleList['todo'] = 'Todo'; @@ -371,7 +362,7 @@ $lang->block->modules['project']->availableBlocks = new stdclass(); $lang->block->modules['project']->availableBlocks->project = 'Project List'; $lang->block->modules['project']->availableBlocks->recentproject = 'Recent Project'; $lang->block->modules['project']->availableBlocks->statistic = 'Project Statistic'; -if($config->systemMode == 'new') $lang->block->modules['project']->availableBlocks->projectteam = 'Project Manpower Input'; +$lang->block->modules['project']->availableBlocks->projectteam = 'Project Manpower Input'; $lang->block->modules['scrum']['index'] = new stdclass(); $lang->block->modules['scrum']['index']->availableBlocks = new stdclass(); @@ -477,6 +468,7 @@ $lang->block->bugCount = 'Bug'; $lang->block->riskCount = 'Risk'; $lang->block->issueCount = 'Issues'; $lang->block->storyCount = 'Stories'; +$lang->block->reviewCount = 'Reviews'; $lang->block->meetingCount = 'Meetings'; $lang->block->feedbackCount = 'Feedbacks'; $lang->block->ticketCount = 'Tickets'; @@ -572,10 +564,10 @@ $lang->block->gridOptions[4] = 'Right'; $lang->block->flowchart = array(); $lang->block->flowchart['admin'] = array('Administrator', 'Add Departments', 'Add Users', 'Maintain Privileges'); -if($config->systemMode == 'new') $lang->block->flowchart['program'] = array('Program Owner', 'Create Program', 'Link Product', "Create Project", "Budgeting and planning", 'Add Stakeholder'); +if($config->systemMode == 'ALM') $lang->block->flowchart['program'] = array('Program Owner', 'Create Program', 'Link Product', "Create Project", "Budgeting and planning", 'Add Stakeholder'); $lang->block->flowchart['product'] = array($lang->productCommon . ' Owner', 'Add ' . $lang->productCommon, 'Maintain Modules', 'Maintain Plans', 'Maintain Stories', 'Create Releases'); $lang->block->flowchart['project'] = array('Project Manager', 'Add projects and ' . $lang->executionCommon . 's', 'Maintain Teams', 'Link Stories', 'Create Tasks', 'Track'); -if($config->systemMode == 'new') $lang->block->flowchart['project'] = array('Project Manager', 'Add ' . $lang->executionCommon . 's', 'Maintain Teams', 'Link Stories', 'Create Tasks', 'Track'); +$lang->block->flowchart['project'] = array('Project Manager', 'Add ' . $lang->executionCommon . 's', 'Maintain Teams', 'Link Stories', 'Create Tasks', 'Track'); $lang->block->flowchart['dev'] = array('Dev Team', 'Claim Tasks/Bugs', 'Design', 'Update Status', 'Finish Tasks/Bugs', 'Commit Code'); $lang->block->flowchart['tester'] = array('Test Team', 'Write Cases', 'Run Cases', 'Report Bugs', 'Verify Bugs', 'Close Bugs'); diff --git a/module/block/lang/fr.php b/module/block/lang/fr.php index f0ad11570a..2c78b46b16 100644 --- a/module/block/lang/fr.php +++ b/module/block/lang/fr.php @@ -284,14 +284,11 @@ $lang->block->default['full']['my']['4']['grid'] = 8; $lang->block->default['full']['my']['4']['source'] = 'project'; $lang->block->default['full']['my']['4']['params']['count'] = '20'; -if($config->systemMode == 'new') -{ - $lang->block->default['full']['my']['5']['title'] = 'Personal Contribution'; - $lang->block->default['full']['my']['5']['block'] = 'contribute'; - $lang->block->default['full']['my']['5']['source'] = ''; - $lang->block->default['full']['my']['5']['grid'] = 4; - $lang->block->default['full']['my']['5']['params']['count'] = '20'; -} +$lang->block->default['full']['my']['5']['title'] = 'Personal Contribution'; +$lang->block->default['full']['my']['5']['block'] = 'contribute'; +$lang->block->default['full']['my']['5']['source'] = ''; +$lang->block->default['full']['my']['5']['grid'] = 4; +$lang->block->default['full']['my']['5']['params']['count'] = '20'; $lang->block->default['full']['my']['6']['title'] = 'Recent Projecets'; $lang->block->default['full']['my']['6']['block'] = 'recentproject'; @@ -308,31 +305,25 @@ $lang->block->default['full']['my']['8']['block'] = 'projectteam'; $lang->block->default['full']['my']['8']['source'] = 'project'; $lang->block->default['full']['my']['8']['grid'] = 8; -$lang->block->default['full']['my']['8']['params']['todoCount'] = '20'; -$lang->block->default['full']['my']['8']['params']['taskCount'] = '20'; -$lang->block->default['full']['my']['8']['params']['bugCount'] = '20'; -$lang->block->default['full']['my']['8']['params']['riskCount'] = '20'; -$lang->block->default['full']['my']['8']['params']['issueCount'] = '20'; -$lang->block->default['full']['my']['8']['params']['storyCount'] = '20'; -$lang->block->default['full']['my']['8']['params']['meetingCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['todoCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['taskCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['bugCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['riskCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['issueCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['storyCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['reviewCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['meetingCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['feedbackCount'] = '20'; -if($config->systemMode == 'new') -{ - $lang->block->default['full']['my']['9']['title'] = 'Project List'; - $lang->block->default['full']['my']['9']['block'] = 'project'; - $lang->block->default['full']['my']['9']['source'] = 'project'; - $lang->block->default['full']['my']['9']['grid'] = 8; -} +$lang->block->default['full']['my']['9']['title'] = 'Project List'; +$lang->block->default['full']['my']['9']['block'] = 'project'; +$lang->block->default['full']['my']['9']['source'] = 'project'; +$lang->block->default['full']['my']['9']['grid'] = 8; $lang->block->default['full']['my']['10']['title'] = 'Project List'; $lang->block->default['full']['my']['10']['block'] = 'project'; $lang->block->default['full']['my']['10']['source'] = 'project'; $lang->block->default['full']['my']['10']['grid'] = 8; -if($config->systemMode == 'classic') -{ - $lang->block->default['full']['my']['10']['block'] = 'project'; - $lang->block->default['full']['my']['10']['source'] = 'project'; -} $lang->block->default['full']['my']['10']['params']['orderBy'] = 'id_desc'; $lang->block->default['full']['my']['10']['params']['count'] = '15'; @@ -360,8 +351,8 @@ $lang->block->availableBlocks->meeting = 'Meetings'; $lang->block->availableBlocks->feedback = 'Feedbacks'; $lang->block->availableBlocks->ticket = 'Tickets'; -if($config->systemMode == 'new') $lang->block->moduleList['project'] = 'Project'; $lang->block->moduleList['product'] = $lang->productCommon; +$lang->block->moduleList['project'] = 'Project'; $lang->block->moduleList['execution'] = $lang->execution->common; $lang->block->moduleList['qa'] = 'Test'; $lang->block->moduleList['todo'] = 'Todo'; @@ -371,7 +362,7 @@ $lang->block->modules['project']->availableBlocks = new stdclass(); $lang->block->modules['project']->availableBlocks->project = 'Project List'; $lang->block->modules['project']->availableBlocks->recentproject = 'Recent Projects'; $lang->block->modules['project']->availableBlocks->statistic = 'Project Statistic'; -if($config->systemMode == 'new') $lang->block->modules['project']->availableBlocks->projectteam = 'Project Human Input'; +$lang->block->modules['project']->availableBlocks->projectteam = 'Project Human Input'; $lang->block->modules['scrum']['index'] = new stdclass(); $lang->block->modules['scrum']['index']->availableBlocks = new stdclass(); @@ -477,6 +468,7 @@ $lang->block->bugCount = 'Bug'; $lang->block->riskCount = 'Risk'; $lang->block->issueCount = 'Issues'; $lang->block->storyCount = 'Stories'; +$lang->block->reviewCount = 'Reviews'; $lang->block->meetingCount = 'Meetings'; $lang->block->feedbackCount = 'Feedbacks'; $lang->block->ticketCount = 'Tickets'; @@ -572,10 +564,10 @@ $lang->block->gridOptions[4] = 'Right'; $lang->block->flowchart = array(); $lang->block->flowchart['admin'] = array('Administrateur', 'Ajoute Compartiment', 'Ajoute Utilisateurs', 'Administre Privilèges'); -if($config->systemMode == 'new') $lang->block->flowchart['program'] = array('Program Owner', 'Create Program', 'Link Product', "Create Project", "Budgeting and planning", 'Add Stakeholder'); +if($config->systemMode == 'ALM') $lang->block->flowchart['program'] = array('Program Owner', 'Create Program', 'Link Product', "Create Project", "Budgeting and planning", 'Add Stakeholder'); $lang->block->flowchart['product'] = array($lang->productCommon . ' Owner', 'Ajoute ' . $lang->productCommon . '/Modules', 'Ajoute ' . $lang->executionCommon . 's', 'Ajoute Stories', 'Maintient Plans', 'Crée Releases'); $lang->block->flowchart['project'] = array('Project Manager', 'Add projects and ' . $lang->executionCommon . 's', 'Maintain Teams', 'Link Stories', 'Create Tasks', 'Track'); -if($config->systemMode == 'new') $lang->block->flowchart['project'] = array('Project Manager', 'Add projects and ' . $lang->executionCommon . 's', 'Maintain Teams', 'Link Stories', 'Create Tasks', 'Track'); +$lang->block->flowchart['project'] = array('Project Manager', 'Add projects and ' . $lang->executionCommon . 's', 'Maintain Teams', 'Link Stories', 'Create Tasks', 'Track'); $lang->block->flowchart['dev'] = array('Développeurs', 'Réclament Tâches/Bugs', 'Effectuent Tâches', 'Corrigent Bugs', 'MàJ Statuts', 'Terminent Tâches/Bugs'); $lang->block->flowchart['tester'] = array('Testeurs', 'Rédigent CasTests', 'Jouent CasTests', 'Détectent Bugs', 'Vérifient Corrections', 'Ferment Bugs'); diff --git a/module/block/lang/vi.php b/module/block/lang/vi.php index 84f7d1f3b3..aac102a0cb 100644 --- a/module/block/lang/vi.php +++ b/module/block/lang/vi.php @@ -252,14 +252,11 @@ $lang->block->default['full']['my']['3']['grid'] = 4; $lang->block->default['full']['my']['3']['source'] = 'todo'; $lang->block->default['full']['my']['3']['params']['count'] = '20'; -if($config->systemMode == 'new') -{ - $lang->block->default['full']['my']['4']['title'] = 'Project Statistic'; - $lang->block->default['full']['my']['4']['block'] = 'statistic'; - $lang->block->default['full']['my']['4']['source'] = 'project'; - $lang->block->default['full']['my']['4']['grid'] = 8; - $lang->block->default['full']['my']['4']['params']['count'] = '20'; -} +$lang->block->default['full']['my']['4']['title'] = 'Project Statistic'; +$lang->block->default['full']['my']['4']['block'] = 'statistic'; +$lang->block->default['full']['my']['4']['source'] = 'project'; +$lang->block->default['full']['my']['4']['grid'] = 8; +$lang->block->default['full']['my']['4']['params']['count'] = '20'; $lang->block->default['full']['my']['5']['title'] = 'Personal Contribution'; $lang->block->default['full']['my']['5']['block'] = 'contribute'; @@ -284,13 +281,10 @@ $lang->block->default['full']['my']['7']['params']['issueCount'] = '20'; $lang->block->default['full']['my']['7']['params']['storyCount'] = '20'; $lang->block->default['full']['my']['7']['params']['meetingCount'] = '20'; -if($config->systemMode == 'new') -{ - $lang->block->default['full']['my']['8']['title'] = 'Human Input'; - $lang->block->default['full']['my']['8']['block'] = 'projectteam'; - $lang->block->default['full']['my']['8']['source'] = 'project'; - $lang->block->default['full']['my']['8']['grid'] = 8; -} +$lang->block->default['full']['my']['8']['title'] = 'Human Input'; +$lang->block->default['full']['my']['8']['block'] = 'projectteam'; +$lang->block->default['full']['my']['8']['source'] = 'project'; +$lang->block->default['full']['my']['8']['grid'] = 8; $lang->block->default['full']['my']['9']['title'] = 'Project List'; $lang->block->default['full']['my']['9']['block'] = 'project'; @@ -321,7 +315,7 @@ $lang->block->availableBlocks->issue = 'My Issues'; $lang->block->availableBlocks->meeting = 'My Meetings'; $lang->block->availableBlocks->feedback = 'My Feedbacks'; -if($config->systemMode == 'new') $lang->block->moduleList['project'] = 'Project'; +$lang->block->moduleList['project'] = 'Project'; $lang->block->moduleList['product'] = $lang->productCommon; $lang->block->moduleList['execution'] = $lang->execution->common; $lang->block->moduleList['qa'] = 'QA'; @@ -332,7 +326,7 @@ $lang->block->modules['project']->availableBlocks = new stdclass(); $lang->block->modules['project']->availableBlocks->project = 'Project List'; $lang->block->modules['project']->availableBlocks->recentproject = 'Recent Projects'; $lang->block->modules['project']->availableBlocks->statistic = 'Project Statistic'; -if($config->systemMode == 'new') $lang->block->modules['project']->availableBlocks->projectteam = 'ProjectHuman Input'; +$lang->block->modules['project']->availableBlocks->projectteam = 'ProjectHuman Input'; $lang->block->modules['scrum']['index'] = new stdclass(); $lang->block->modules['scrum']['index']->availableBlocks = new stdclass(); diff --git a/module/block/lang/zh-cn.php b/module/block/lang/zh-cn.php index 79fcbb9cd1..763aa29ed0 100644 --- a/module/block/lang/zh-cn.php +++ b/module/block/lang/zh-cn.php @@ -284,14 +284,11 @@ $lang->block->default['full']['my']['4']['grid'] = 4; $lang->block->default['full']['my']['4']['source'] = 'todo'; $lang->block->default['full']['my']['4']['params']['count'] = '20'; -if($config->systemMode == 'new') -{ - $lang->block->default['full']['my']['5']['title'] = '项目统计'; - $lang->block->default['full']['my']['5']['block'] = 'statistic'; - $lang->block->default['full']['my']['5']['source'] = 'project'; - $lang->block->default['full']['my']['5']['grid'] = 8; - $lang->block->default['full']['my']['5']['params']['count'] = '20'; -} +$lang->block->default['full']['my']['5']['title'] = '项目统计'; +$lang->block->default['full']['my']['5']['block'] = 'statistic'; +$lang->block->default['full']['my']['5']['source'] = 'project'; +$lang->block->default['full']['my']['5']['grid'] = 8; +$lang->block->default['full']['my']['5']['params']['count'] = '20'; $lang->block->default['full']['my']['6']['title'] = '我的贡献'; $lang->block->default['full']['my']['6']['block'] = 'contribute'; @@ -308,31 +305,25 @@ $lang->block->default['full']['my']['8']['block'] = 'assigntome'; $lang->block->default['full']['my']['8']['source'] = ''; $lang->block->default['full']['my']['8']['grid'] = 8; -$lang->block->default['full']['my']['8']['params']['todoCount'] = '20'; -$lang->block->default['full']['my']['8']['params']['taskCount'] = '20'; -$lang->block->default['full']['my']['8']['params']['bugCount'] = '20'; -$lang->block->default['full']['my']['8']['params']['riskCount'] = '20'; -$lang->block->default['full']['my']['8']['params']['issueCount'] = '20'; -$lang->block->default['full']['my']['8']['params']['storyCount'] = '20'; -$lang->block->default['full']['my']['8']['params']['meetingCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['todoCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['taskCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['bugCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['riskCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['issueCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['storyCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['reviewCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['meetingCount'] = '20'; +$lang->block->default['full']['my']['8']['params']['feedbackCount'] = '20'; -if($config->systemMode == 'new') -{ - $lang->block->default['full']['my']['9']['title'] = '项目人力投入'; - $lang->block->default['full']['my']['9']['block'] = 'projectteam'; - $lang->block->default['full']['my']['9']['source'] = 'project'; - $lang->block->default['full']['my']['9']['grid'] = 8; -} +$lang->block->default['full']['my']['9']['title'] = '项目人力投入'; +$lang->block->default['full']['my']['9']['block'] = 'projectteam'; +$lang->block->default['full']['my']['9']['source'] = 'project'; +$lang->block->default['full']['my']['9']['grid'] = 8; $lang->block->default['full']['my']['10']['title'] = '项目列表'; $lang->block->default['full']['my']['10']['block'] = 'project'; $lang->block->default['full']['my']['10']['source'] = 'project'; $lang->block->default['full']['my']['10']['grid'] = 8; -if($config->systemMode == 'classic') -{ - $lang->block->default['full']['my']['10']['block'] = 'execution'; - $lang->block->default['full']['my']['10']['source'] = 'execution'; -} $lang->block->default['full']['my']['10']['params']['orderBy'] = 'id_desc'; $lang->block->default['full']['my']['10']['params']['count'] = '15'; @@ -360,8 +351,8 @@ $lang->block->availableBlocks->meeting = '会议'; $lang->block->availableBlocks->feedback = '反馈'; $lang->block->availableBlocks->ticket = '工单'; -if($config->systemMode == 'new') $lang->block->moduleList['project'] = '项目'; $lang->block->moduleList['product'] = $lang->productCommon; +$lang->block->moduleList['project'] = '项目'; $lang->block->moduleList['execution'] = $lang->execution->common; $lang->block->moduleList['qa'] = '测试'; $lang->block->moduleList['todo'] = '待办'; @@ -371,7 +362,7 @@ $lang->block->modules['project']->availableBlocks = new stdclass(); $lang->block->modules['project']->availableBlocks->project = '项目列表'; $lang->block->modules['project']->availableBlocks->recentproject = '近期项目'; $lang->block->modules['project']->availableBlocks->statistic = '项目统计'; -if($config->systemMode == 'new') $lang->block->modules['project']->availableBlocks->projectteam = '项目人力投入'; +$lang->block->modules['project']->availableBlocks->projectteam = '项目人力投入'; $lang->block->modules['scrum']['index'] = new stdclass(); $lang->block->modules['scrum']['index']->availableBlocks = new stdclass(); @@ -477,6 +468,7 @@ $lang->block->bugCount = 'Bug数'; $lang->block->riskCount = '风险数'; $lang->block->issueCount = '问题数'; $lang->block->storyCount = '需求数'; +$lang->block->reviewCount = '审批数'; $lang->block->meetingCount = '会议数'; $lang->block->feedbackCount = '反馈数'; $lang->block->ticketCount = '工单数'; @@ -529,7 +521,7 @@ $lang->block->typeList->testtask['done'] = '已测版本'; $lang->block->typeList->testtask['all'] = '全部'; $lang->block->modules['project']->moreLinkList = new stdclass(); -$lang->block->modules['project']->moreLinkList->recentproject = $config->systemMode == 'new' ? 'project|browse|' : 'execution|all|'; +$lang->block->modules['project']->moreLinkList->recentproject = 'project|browse|'; $lang->block->modules['project']->moreLinkList->statistic = 'project|browse|'; $lang->block->modules['project']->moreLinkList->project = 'project|browse|'; $lang->block->modules['project']->moreLinkList->cmmireport = 'weekly|index|'; @@ -572,10 +564,9 @@ $lang->block->gridOptions[4] = '右侧'; $lang->block->flowchart = array(); $lang->block->flowchart['admin'] = array('管理员', '维护公司', '添加用户', '维护权限'); -if($config->systemMode == 'new') $lang->block->flowchart['program'] = array('项目集负责人', '创建项目集', '关联产品', "创建项目", "制定预算和规划", '添加干系人'); +if($config->systemMode == 'ALM') $lang->block->flowchart['program'] = array('项目集负责人', '创建项目集', '关联产品', "创建项目", "制定预算和规划", '添加干系人'); $lang->block->flowchart['product'] = array($lang->productCommon . '经理', '创建' . $lang->productCommon, '维护模块', "维护计划", "维护需求", '创建发布'); -$lang->block->flowchart['project'] = array('项目经理', '创建' . $lang->executionCommon, '维护团队', "关联需求", '分解任务', '跟踪进度'); -if($config->systemMode == 'new') $lang->block->flowchart['project'] = array('项目经理', '创建项目、' . $lang->executionCommon, '维护团队', "关联需求", '分解任务', '跟踪进度'); +$lang->block->flowchart['project'] = array('项目经理', '创建项目、' . $lang->executionCommon, '维护团队', "关联需求", '分解任务', '跟踪进度'); $lang->block->flowchart['dev'] = array('研发人员', '领取任务和Bug', '设计实现方案', '更新状态', '完成任务和Bug', '提交代码'); $lang->block->flowchart['tester'] = array('测试人员', '撰写用例', '执行用例', '提交Bug', '验证Bug', '关闭Bug'); diff --git a/module/block/lang/zh-tw.php b/module/block/lang/zh-tw.php index 1929912983..a821639e8e 100644 --- a/module/block/lang/zh-tw.php +++ b/module/block/lang/zh-tw.php @@ -260,14 +260,11 @@ $lang->block->default['full']['my']['4']['grid'] = 4; $lang->block->default['full']['my']['4']['source'] = 'todo'; $lang->block->default['full']['my']['4']['params']['count'] = '20'; -if($config->systemMode == 'new') -{ - $lang->block->default['full']['my']['5']['title'] = '項目統計'; - $lang->block->default['full']['my']['5']['block'] = 'statistic'; - $lang->block->default['full']['my']['5']['source'] = 'project'; - $lang->block->default['full']['my']['5']['grid'] = 8; - $lang->block->default['full']['my']['5']['params']['count'] = '20'; -} +$lang->block->default['full']['my']['5']['title'] = '項目統計'; +$lang->block->default['full']['my']['5']['block'] = 'statistic'; +$lang->block->default['full']['my']['5']['source'] = 'project'; +$lang->block->default['full']['my']['5']['grid'] = 8; +$lang->block->default['full']['my']['5']['params']['count'] = '20'; $lang->block->default['full']['my']['6']['title'] = '我的貢獻'; $lang->block->default['full']['my']['6']['block'] = 'contribute'; @@ -292,23 +289,15 @@ $lang->block->default['full']['my']['8']['params']['issueCount'] = '20'; $lang->block->default['full']['my']['8']['params']['storyCount'] = '20'; $lang->block->default['full']['my']['8']['params']['meetingCount'] = '20'; -if($config->systemMode == 'new') -{ - $lang->block->default['full']['my']['9']['title'] = '項目人力投入'; - $lang->block->default['full']['my']['9']['block'] = 'projectteam'; - $lang->block->default['full']['my']['9']['source'] = 'project'; - $lang->block->default['full']['my']['9']['grid'] = 8; -} +$lang->block->default['full']['my']['9']['title'] = '項目人力投入'; +$lang->block->default['full']['my']['9']['block'] = 'projectteam'; +$lang->block->default['full']['my']['9']['source'] = 'project'; +$lang->block->default['full']['my']['9']['grid'] = 8; $lang->block->default['full']['my']['10']['title'] = '項目列表'; $lang->block->default['full']['my']['10']['block'] = 'project'; $lang->block->default['full']['my']['10']['source'] = 'project'; $lang->block->default['full']['my']['10']['grid'] = 8; -if($config->systemMode == 'classic') -{ - $lang->block->default['full']['my']['10']['block'] = 'execution'; - $lang->block->default['full']['my']['10']['source'] = 'execution'; -} $lang->block->default['full']['my']['10']['params']['orderBy'] = 'id_desc'; $lang->block->default['full']['my']['10']['params']['count'] = '15'; @@ -334,7 +323,7 @@ $lang->block->availableBlocks->issue = '我的問題'; $lang->block->availableBlocks->meeting = '我的會議'; $lang->block->availableBlocks->feedback = '我的反饋'; -if($config->systemMode == 'new') $lang->block->moduleList['project'] = '項目'; +$lang->block->moduleList['project'] = '項目'; $lang->block->moduleList['product'] = $lang->productCommon; $lang->block->moduleList['execution'] = $lang->execution->common; $lang->block->moduleList['qa'] = '測試'; @@ -345,7 +334,7 @@ $lang->block->modules['project']->availableBlocks = new stdclass(); $lang->block->modules['project']->availableBlocks->project = '項目列表'; $lang->block->modules['project']->availableBlocks->recentproject = '近期項目'; $lang->block->modules['project']->availableBlocks->statistic = '項目統計'; -if($config->systemMode == 'new') $lang->block->modules['project']->availableBlocks->projectteam = '項目人力投入'; +$lang->block->modules['project']->availableBlocks->projectteam = '項目人力投入'; $lang->block->modules['scrum']['index'] = new stdclass(); $lang->block->modules['scrum']['index']->availableBlocks = new stdclass(); @@ -502,7 +491,7 @@ $lang->block->typeList->testtask['done'] = '已測版本'; $lang->block->typeList->testtask['all'] = '全部'; $lang->block->modules['project']->moreLinkList = new stdclass(); -$lang->block->modules['project']->moreLinkList->recentproject = $config->systemMode == 'new' ? 'project|browse|' : 'execution|all|'; +$lang->block->modules['project']->moreLinkList->recentproject = 'project|browse|'; $lang->block->modules['project']->moreLinkList->statistic = 'project|browse|'; $lang->block->modules['project']->moreLinkList->project = 'project|browse|'; $lang->block->modules['project']->moreLinkList->cmmireport = 'weekly|index|'; @@ -545,10 +534,9 @@ $lang->block->gridOptions[4] = '右側'; $lang->block->flowchart = array(); $lang->block->flowchart['admin'] = array('管理員', '維護公司', '添加用戶', '維護權限'); -if($config->systemMode == 'new') $lang->block->flowchart['program'] = array('項目集負責人', '創建項目集', '關聯產品', "創建項目", "制定預算和規劃", '添加干係人'); +if($config->systemMode == 'ALM') $lang->block->flowchart['program'] = array('項目集負責人', '創建項目集', '關聯產品', "創建項目", "制定預算和規劃", '添加干係人'); $lang->block->flowchart['product'] = array($lang->productCommon . '經理', '創建' . $lang->productCommon, '維護模組', "維護計劃", "維護需求", '創建發佈'); -$lang->block->flowchart['project'] = array('項目經理', '創建' . $lang->executionCommon, '維護團隊', "關聯需求", '分解任務', '跟蹤進度'); -if($config->systemMode == 'new') $lang->block->flowchart['project'] = array('項目經理', '創建項目、' . $lang->executionCommon, '維護團隊', "關聯需求", '分解任務', '跟蹤進度'); +$lang->block->flowchart['project'] = array('項目經理', '創建項目、' . $lang->executionCommon, '維護團隊', "關聯需求", '分解任務', '跟蹤進度'); $lang->block->flowchart['dev'] = array('研發人員', '領取任務和Bug', '設計實現方案', '更新狀態', '完成任務和Bug', '提交代碼'); $lang->block->flowchart['tester'] = array('測試人員', '撰寫用例', '執行用例', '提交Bug', '驗證Bug', '關閉Bug'); diff --git a/module/block/model.php b/module/block/model.php index 97d52b15b3..141eb2acad 100644 --- a/module/block/model.php +++ b/module/block/model.php @@ -132,15 +132,13 @@ class blockModel extends model */ public function getBlockList($module = 'my', $type = '') { - $blocks = $this->dao->select('*')->from(TABLE_BLOCK)->where('account')->eq($this->app->user->account) + return $this->dao->select('*')->from(TABLE_BLOCK)->where('account')->eq($this->app->user->account) ->andWhere('module')->eq($module) ->andWhere('vision')->eq($this->config->vision) ->andWhere('hidden')->eq(0) ->beginIF($type)->andWhere('type')->eq($type)->fi() ->orderBy('`order`') ->fetchAll('id'); - - return $blocks; } /** @@ -791,17 +789,26 @@ class blockModel extends model if($this->config->edition == 'max') { - $params->riskCount['name'] = $this->lang->block->riskCount; - $params->riskCount['default'] = 20; - $params->riskCount['control'] = 'input'; + if(helper::hasFeature('risk')) + { + $params->riskCount['name'] = $this->lang->block->riskCount; + $params->riskCount['default'] = 20; + $params->riskCount['control'] = 'input'; + } - $params->issueCount['name'] = $this->lang->block->issueCount; - $params->issueCount['default'] = 20; - $params->issueCount['control'] = 'input'; + if(helper::hasFeature('issue')) + { + $params->issueCount['name'] = $this->lang->block->issueCount; + $params->issueCount['default'] = 20; + $params->issueCount['control'] = 'input'; + } - $params->meetingCount['name'] = $this->lang->block->meetingCount; - $params->meetingCount['default'] = 20; - $params->meetingCount['control'] = 'input'; + if(helper::hasFeature('meeting')) + { + $params->meetingCount['name'] = $this->lang->block->meetingCount; + $params->meetingCount['default'] = 20; + $params->meetingCount['control'] = 'input'; + } $params->feedbackCount['name'] = $this->lang->block->feedbackCount; $params->feedbackCount['default'] = 20; @@ -812,6 +819,10 @@ class blockModel extends model $params->storyCount['default'] = 20; $params->storyCount['control'] = 'input'; + $params->reviewCount['name'] = $this->lang->block->reviewCount; + $params->reviewCount['default'] = 20; + $params->reviewCount['control'] = 'input'; + return json_encode($params); } diff --git a/module/block/view/buildblock.html.php b/module/block/view/buildblock.html.php index 4c70762704..cd60b07221 100644 --- a/module/block/view/buildblock.html.php +++ b/module/block/view/buildblock.html.php @@ -21,6 +21,7 @@
build->name;?> build->product;?>build->project;?> build->date;?>
id);?> name);?> productName);?>shadow ? $projectViewLink : $productViewLink, $build->productName);?>projectName);?> date?>
'> + + + + + + + + + + + + + type; + if($type == 'project') $type = 'review'; + + $typeName = $lang->$type->common; + if($type == 'story') $typeName = $lang->my->auditMenu->audit->story; + + $statusList = $lang->$type->statusList; + if($type == 'attend') $statusList = $lang->attend->reviewStatusList; + ?> + + + + + + + + + + +
idAB);?>my->auditField->title);?> my->auditField->type);?> my->auditField->time);?> my->auditField->status);?>actions)?>
id?> + title; + if($type == 'attend') + { + $titleHtml = html::a($this->createLink($type, 'review', "objectID=$review->id", 'html', true), $review->title, '', "data-toggle='modal'"); + } + else + { + $class = "class='iframe' data-width='90%'"; + if(strpos(",{$config->my->oaObjectType},", ",{$type},") !== false) $class = "data-toggle='modal'"; + $titleHtml = html::a($this->createLink($type, 'view', "objectID=$review->id", 'html', true), $review->title, '', $class); + } + echo $titleHtml; + ?> + time?>status, '')?> + id"; + + $reviewIcon = ''; + $passIcon = ''; + $rejectIcon = ''; + + if($module == 'review') + { + $method = 'assess'; + $params = "reviewID=$review->id"; + common::printLink($module, $method, $params, $reviewIcon, '', "class='btn' title='{$lang->review->common}'"); + } + elseif($module == 'attend') + { + common::printLink($module, 'review', "attendID={$review->id}&status=", $reviewIcon, '', "class='btn' data-toggle='modal' title='{$lang->review->common}'", true, true); + } + elseif(strpos(",{$config->my->oaObjectType},", ",$module,") !== false) + { + common::printLink($module, 'view', $params, $reviewIcon, '', "class='btn' data-toggle='modal' title='{$lang->review->common}'", true, true); + } + else + { + common::printLink($module, $method, $params, $reviewIcon, '', "class='btn iframe' title='{$lang->review->common}'", true, true); + } + ?> +
+ + diff --git a/module/block/view/scrumtestblock.html.php b/module/block/view/scrumtestblock.html.php index 4f28fd1c7f..6224d739e0 100644 --- a/module/block/view/scrumtestblock.html.php +++ b/module/block/view/scrumtestblock.html.php @@ -18,7 +18,7 @@ testtask->name;?> - + hasProduct):?> testtask->product;?> @@ -39,7 +39,7 @@ ?> > name);?> - + hasProduct):?> productName);?> diff --git a/module/block/view/testtaskblock.html.php b/module/block/view/testtaskblock.html.php index bffb631682..54a481af40 100644 --- a/module/block/view/testtaskblock.html.php +++ b/module/block/view/testtaskblock.html.php @@ -36,6 +36,12 @@ $productViewLink = $this->createLink('product', 'browse', "productID={$testtask->product}"); $buildViewLink = $this->createLink('build', 'view', "buildID={$testtask->build}"); $testtaskViewLink = $this->createLink('testtask', 'view', "testtaskID={$testtask->id}"); + + if($testtask->shadow) + { + $testtask->productName = zget($projects, $testtask->project); + $productViewLink = $this->createLink('projectstory', 'story', "projectID={$testtask->project}&productID={$testtask->product}"); + } ?> > diff --git a/module/branch/control.php b/module/branch/control.php index 6f497f7abb..fed3f32882 100644 --- a/module/branch/control.php +++ b/module/branch/control.php @@ -280,7 +280,7 @@ class branch extends control $branchTagOption[$oldBranch] = $oldBranch == BRANCH_MAIN ? $branch : ($branch->name . ($branch->status == 'closed' ? ' (' . $this->lang->branch->statusList['closed'] . ')' : '')); } - return print(html::select('branch', $branchTagOption, $oldBranch, "class='form-control' onchange='loadBranch(this)'")); + return print(html::select('branch', $branchTagOption, $oldBranch, "class='form-control' onchange='loadBranch(this)' data-last='{$oldBranch}'")); } /** diff --git a/module/bug/config.php b/module/bug/config.php index d8856fd8f8..7accc01d9d 100644 --- a/module/bug/config.php +++ b/module/bug/config.php @@ -38,18 +38,10 @@ $config->bug->exportFields = 'id, product, branch, module, project, execution, s lastEditedBy, lastEditedDate, files ,feedbackBy, notifyEmail'; -if($config->systemMode == 'classic') $config->bug->exportFields = str_replace(' project,', '', $config->bug->exportFields); $config->bug->list->customCreateFields = 'execution,noticefeedbackBy,story,task,pri,severity,os,browser,deadline,mailto,keywords'; $config->bug->list->customBatchEditFields = 'type,severity,pri,productplan,assignedTo,deadline,resolvedBy,resolution,os,browser,keywords'; -if($config->systemMode == 'new') -{ - $config->bug->list->customBatchCreateFields = 'project,execution,steps,type,pri,deadline,severity,os,browser,keywords'; -} -else -{ - $config->bug->list->customBatchCreateFields = 'execution,steps,type,pri,deadline,severity,os,browser,keywords'; -} +$config->bug->list->customBatchCreateFields = 'project,execution,steps,type,pri,deadline,severity,os,browser,keywords'; $config->bug->custom = new stdclass(); $config->bug->custom->createFields = $config->bug->list->customCreateFields; @@ -83,7 +75,7 @@ $config->bug->search['fields']['status'] = $lang->bug->status; $config->bug->search['fields']['confirmed'] = $lang->bug->confirmed; $config->bug->search['fields']['story'] = $lang->bug->story; -if($config->systemMode == 'new') $config->bug->search['fields']['project'] = $lang->bug->project; +$config->bug->search['fields']['project'] = $lang->bug->project; $config->bug->search['fields']['product'] = $lang->bug->product; $config->bug->search['fields']['branch'] = ''; $config->bug->search['fields']['plan'] = $lang->bug->productplan; @@ -129,7 +121,7 @@ $config->bug->search['params']['status'] = array('operator' => '=', $config->bug->search['params']['confirmed'] = array('operator' => '=', 'control' => 'select', 'values' => $lang->bug->confirmedList); $config->bug->search['params']['story'] = array('operator' => 'include', 'control' => 'input', 'values' => ''); -if($config->systemMode == 'new') $config->bug->search['params']['project'] = array('operator' => '=', 'control' => 'select', 'values' => ''); +$config->bug->search['params']['project'] = array('operator' => '=', 'control' => 'select', 'values' => ''); $config->bug->search['params']['product'] = array('operator' => '=', 'control' => 'select', 'values' => ''); $config->bug->search['params']['branch'] = array('operator' => '=', 'control' => 'select', 'values' => ''); $config->bug->search['params']['plan'] = array('operator' => '=', 'control' => 'select', 'values' => ''); @@ -168,7 +160,7 @@ $config->bug->datatable->fieldList['id']['required'] = 'yes'; $config->bug->datatable->fieldList['product']['title'] = 'product'; $config->bug->datatable->fieldList['product']['control'] = 'hidden'; -$config->bug->datatable->fieldList['product']['dataSource'] = array('module' => 'product', 'method' => 'getPairs'); +$config->bug->datatable->fieldList['product']['dataSource'] = array('module' => 'product', 'method' => 'getPairs', 'params' => '&0&&all'); $config->bug->datatable->fieldList['module']['control'] = 'select'; $config->bug->datatable->fieldList['module']['title'] = 'module'; @@ -192,6 +184,17 @@ $config->bug->datatable->fieldList['pri']['width'] = '50'; $config->bug->datatable->fieldList['pri']['required'] = 'no'; $config->bug->datatable->fieldList['pri']['name'] = $lang->bug->pri; +$config->bug->datatable->fieldList['confirmed']['title'] = 'confirmedAB'; +$config->bug->datatable->fieldList['confirmed']['fixed'] = 'left'; +$config->bug->datatable->fieldList['confirmed']['width'] = '80'; +$config->bug->datatable->fieldList['confirmed']['required'] = 'no'; + +$config->bug->datatable->fieldList['title']['title'] = 'title'; +$config->bug->datatable->fieldList['title']['fixed'] = 'left'; +$config->bug->datatable->fieldList['title']['width'] = 'auto'; +$config->bug->datatable->fieldList['title']['required'] = 'yes'; +$config->bug->datatable->fieldList['title']['minWidth'] = '200'; + $config->bug->datatable->fieldList['status']['title'] = 'statusAB'; $config->bug->datatable->fieldList['status']['fixed'] = 'left'; $config->bug->datatable->fieldList['status']['width'] = '80'; @@ -209,15 +212,12 @@ $config->bug->datatable->fieldList['type']['fixed'] = 'no'; $config->bug->datatable->fieldList['type']['width'] = '90'; $config->bug->datatable->fieldList['type']['required'] = 'no'; -if($config->systemMode == 'new') -{ - $config->bug->datatable->fieldList['project']['title'] = 'project'; - $config->bug->datatable->fieldList['project']['fixed'] = 'no'; - $config->bug->datatable->fieldList['project']['width'] = '120'; - $config->bug->datatable->fieldList['project']['required'] = 'no'; - $config->bug->datatable->fieldList['project']['control'] = 'hidden'; - $config->bug->datatable->fieldList['project']['dataSource'] = array('module' => 'product', 'method' => 'getProjectPairsByProduct', 'params' => '$productID'); -} +$config->bug->datatable->fieldList['project']['title'] = 'project'; +$config->bug->datatable->fieldList['project']['fixed'] = 'no'; +$config->bug->datatable->fieldList['project']['width'] = '120'; +$config->bug->datatable->fieldList['project']['required'] = 'no'; +$config->bug->datatable->fieldList['project']['control'] = 'hidden'; +$config->bug->datatable->fieldList['project']['dataSource'] = array('module' => 'product', 'method' => 'getProjectPairsByProduct', 'params' => '$productID'); $config->bug->datatable->fieldList['execution']['title'] = 'execution'; $config->bug->datatable->fieldList['execution']['fixed'] = 'no'; diff --git a/module/bug/control.php b/module/bug/control.php index 34749dcc79..b8546daf3a 100755 --- a/module/bug/control.php +++ b/module/bug/control.php @@ -60,14 +60,14 @@ class bug extends control else { $mode = ($this->app->methodName == 'create' and empty($this->config->CRProduct)) ? 'noclosed' : ''; - $products = $this->product->getPairs($mode, 0, 'program_asc'); + $products = $this->product->getPairs($mode, 0, 'program_asc', 'all'); } if(empty($products) and !helper::isAjaxRequest()) return print($this->locate($this->createLink('product', 'showErrorNone', "moduleName=$tab&activeMenu=bug&objectID=$objectID"))); } else { $mode = (empty($this->config->CRProduct)) ? 'noclosed' : ''; - $products = $this->product->getPairs($mode, 0, 'program_asc'); + $products = $this->product->getPairs($mode, 0, 'program_asc', 'all'); } $this->view->products = $this->products = $products; } @@ -165,7 +165,7 @@ class bug extends control $pager = new pager($recTotal, $recPerPage, $pageID); /* Get executios. */ - $executions = $this->loadModel('execution')->getPairs($this->projectID, 'all', 'empty|withdelete'); + $executions = $this->loadModel('execution')->getPairs($this->projectID, 'all', 'empty|withdelete|hideMultiple'); /* Get product id list. */ $productIDList = $productID ? $productID : array_keys($this->products); @@ -196,7 +196,8 @@ class bug extends control /* Build the search form. */ $actionURL = $this->createLink('bug', 'browse', "productID=$productID&branch=$branch&browseType=bySearch&queryID=myQueryID"); $this->config->bug->search['onMenuBar'] = 'yes'; - $this->bug->buildSearchForm($productID, $this->products, $queryID, $actionURL, $branch); + $searchProducts = $this->product->getPairs('', 0, '', 'all'); + $this->bug->buildSearchForm($productID, $searchProducts, $queryID, $actionURL, $branch); $showModule = !empty($this->config->datatable->bugBrowse->showModule) ? $this->config->datatable->bugBrowse->showModule : ''; $productName = ($productID and isset($this->products[$productID])) ? $this->products[$productID] : $this->lang->product->allProduct; @@ -319,8 +320,6 @@ class bug extends control parse_str($extras, $output); $from = isset($output['from']) ? $output['from'] : ''; - $project = new stdclass(); - if($this->app->tab == 'execution') { if(isset($output['executionID'])) $this->loadModel('execution')->setMenu($output['executionID']); @@ -342,17 +341,7 @@ class bug extends control } else if($this->app->tab == 'project') { - if(isset($output['projectID'])) - { - $this->loadModel('project')->setMenu($output['projectID']); - - /* Replace language. */ - $project = $this->project->getByID($output['projectID']); - if(!empty($project->model) and $project->model == 'waterfall') - { - $this->lang->bug->execution = str_replace($this->lang->executionCommon, $this->lang->project->stage, $this->lang->bug->execution); - } - } + if(isset($output['projectID'])) $this->loadModel('project')->setMenu($output['projectID']); } else { @@ -475,8 +464,8 @@ class bug extends control } /* Get product, then set menu. */ - $productID = $this->product->saveState($productID, $this->products); - $productInfo = $this->product->getById($productID); + $productID = $this->product->saveState($productID, $this->products); + $currentProduct = $this->product->getById($productID); if($branch === '') $branch = (int)$this->cookie->preBranch; @@ -518,6 +507,7 @@ class bug extends control if(isset($bugID)) { $bug = $this->bug->getById($bugID); + extract((array)$bug); $executionID = $bug->execution; $moduleID = $bug->module; @@ -553,13 +543,13 @@ class bug extends control if($this->app->tab == 'execution' or $this->app->tab == 'project') { $objectID = $this->app->tab == 'project' ? $projectID : $executionID; - $productBranches = $productInfo->type != 'normal' ? $this->loadModel('execution')->getBranchByProduct($productID, $objectID, 'noclosed|withMain') : array(); + $productBranches = $currentProduct->type != 'normal' ? $this->loadModel('execution')->getBranchByProduct($productID, $objectID, 'noclosed|withMain') : array(); $branches = isset($productBranches[$productID]) ? $productBranches[$productID] : array(); $branch = key($branches); } else { - $branches = $productInfo->type != 'normal' ? $this->loadModel('branch')->getPairs($productID, 'active') : array(); + $branches = $currentProduct->type != 'normal' ? $this->loadModel('branch')->getPairs($productID, 'active') : array(); } /* If executionID is setted, get builds and stories of this execution. */ @@ -593,12 +583,6 @@ class bug extends control $products = array(); $linkedProducts = $this->loadModel('product')->getProducts($executionID); foreach($linkedProducts as $product) $products[$product->id] = $product->name; - - if($projectID) - { - $project = $this->loadModel('project')->getByID($projectID); - if(empty($bugID) or $this->app->tab != 'qa') $projects += array($projectID => $project->name); - } } elseif($projectID) { @@ -606,9 +590,6 @@ class bug extends control $productList = $this->config->CRProduct ? $this->product->getOrderedProducts('all', 40, $projectID) : $this->product->getOrderedProducts('normal', 40, $projectID); foreach($productList as $product) $products[$product->id] = $product->name; - $project = $this->loadModel('project')->getByID($projectID); - if(empty($bugID) or $this->app->tab != 'qa') $projects += array($projectID => $project->name); - /* Set project menu. */ if($this->app->tab == 'project') $this->project->setMenu($projectID); } @@ -617,6 +598,22 @@ class bug extends control $projects += $this->product->getProjectPairsByProduct($productID, $branch); } + $projectModel = ''; + if($projectID) + { + $project = $this->loadModel('project')->getByID($projectID); + if($project) + { + if(empty($bugID) or $this->app->tab != 'qa') $projects += array($projectID => $project->name); + + /* Replace language. */ + if(!empty($project->model) and $project->model == 'waterfall') $this->lang->bug->execution = str_replace($this->lang->executionCommon, $this->lang->project->stage, $this->lang->bug->execution); + $projectModel = $project->model; + + if(!$project->multiple) $executionID = $this->loadModel('execution')->getNoMultipleID($projectID); + } + } + /* Link all projects to product when copying bug under qa.*/ if(!empty($bugID) and $this->app->tab == 'qa') $projects += $this->product->getProjectPairsByProduct($productID, $branch); @@ -634,66 +631,60 @@ class bug extends control /* Get executions. */ $executions = array(0 => ''); - if(isset($projects[$projectID]) or $this->config->systemMode == 'classic') $executions += $this->product->getExecutionPairsByProduct($productID, $branch ? "0,$branch" : 0, 'id_desc', $projectID); + if(isset($projects[$projectID])) $executions += $this->product->getExecutionPairsByProduct($productID, $branch ? "0,$branch" : 0, 'id_desc', $projectID, !$projectID ? 'multiple' : ''); $execution = $executionID ? $this->loadModel('execution')->getByID($executionID) : ''; $executions = isset($executions[$executionID]) ? $executions : $executions + array($executionID => $execution->name); /* Set custom. */ foreach(explode(',', $this->config->bug->list->customCreateFields) as $field) $customFields[$field] = $this->lang->bug->$field; - /* In repair classic mode, when the project is required, the asterisk is not displayed. */ - if($this->config->systemMode == 'classic' and strpos(",{$this->config->bug->create->requiredFields},", ',project,') !== false) - { - $this->config->bug->create->requiredFields = str_replace(',project,', ',execution,', ",{$this->config->bug->create->requiredFields},"); - $this->config->bug->create->requiredFields = trim($this->config->bug->create->requiredFields, ','); - } - $this->view->title = isset($this->products[$productID]) ? $this->products[$productID] . $this->lang->colon . $this->lang->bug->create : $this->lang->bug->create; $this->view->customFields = $customFields; $this->view->showFields = $this->config->bug->custom->createFields; - $this->view->gobackLink = (isset($output['from']) and $output['from'] == 'global') ? $this->createLink('bug', 'browse', "productID=$productID") : ''; - $this->view->products = $products; - $this->view->productID = $productID; - $this->view->productName = isset($this->products[$productID]) ? $this->products[$productID] : ''; - $this->view->moduleOptionMenu = $moduleOptionMenu; - $this->view->stories = $stories; - $this->view->projects = defined('TUTORIAL') ? $this->loadModel('tutorial')->getProjectPairs() : $projects; - $this->view->project = $project; - $this->view->executions = defined('TUTORIAL') ? $this->loadModel('tutorial')->getExecutionPairs() : $executions; - $this->view->builds = $builds; - $this->view->moduleID = (int)$moduleID; - $this->view->projectID = $projectID; - $this->view->executionID = $executionID; - $this->view->taskID = $taskID; - $this->view->storyID = $storyID; - $this->view->buildID = $buildID; - $this->view->caseID = $caseID; - $this->view->runID = $runID; - $this->view->version = $version; - $this->view->testtask = $testtask; - $this->view->bugTitle = $title; - $this->view->pri = $pri; - $this->view->steps = htmlSpecialString($steps); - $this->view->os = $os; - $this->view->browser = $browser; - $this->view->productMembers = $productMembers; - $this->view->assignedTo = $assignedTo; - $this->view->deadline = $deadline; - $this->view->mailto = $mailto; - $this->view->keywords = $keywords; - $this->view->severity = $severity; - $this->view->type = $type; - $this->view->productInfo = $productInfo; - $this->view->branch = $branch; - $this->view->branches = $branches; - $this->view->blockID = $blockID; - $this->view->color = $color; - $this->view->stepsRequired = strpos($this->config->bug->create->requiredFields, 'steps'); - $this->view->isStepsTemplate = $steps == $this->lang->bug->tplStep . $this->lang->bug->tplResult . $this->lang->bug->tplExpect ? true : false; - $this->view->issueKey = $from == 'sonarqube' ? $output['sonarqubeID'] . ':' . $output['issueKey'] : ''; - $this->view->feedbackBy = $feedbackBy; - $this->view->notifyEmail = $notifyEmail; + $this->view->gobackLink = (isset($output['from']) and $output['from'] == 'global') ? $this->createLink('bug', 'browse', "productID=$productID") : ''; + $this->view->products = $products; + $this->view->productID = $productID; + $this->view->productName = isset($this->products[$productID]) ? $this->products[$productID] : ''; + $this->view->moduleOptionMenu = $moduleOptionMenu; + $this->view->stories = $stories; + $this->view->projects = defined('TUTORIAL') ? $this->loadModel('tutorial')->getProjectPairs() : $projects; + $this->view->projectExecutionPairs = $this->loadModel('project')->getProjectExecutionPairs(); + $this->view->executions = defined('TUTORIAL') ? $this->loadModel('tutorial')->getExecutionPairs() : $executions; + $this->view->builds = $builds; + $this->view->moduleID = (int)$moduleID; + $this->view->projectID = $projectID; + $this->view->projectModel = $projectModel; + $this->view->execution = $execution; + $this->view->taskID = $taskID; + $this->view->storyID = $storyID; + $this->view->buildID = $buildID; + $this->view->caseID = $caseID; + $this->view->runID = $runID; + $this->view->version = $version; + $this->view->testtask = $testtask; + $this->view->bugTitle = $title; + $this->view->pri = $pri; + $this->view->steps = htmlSpecialString($steps); + $this->view->os = $os; + $this->view->browser = $browser; + $this->view->productMembers = $productMembers; + $this->view->assignedTo = $assignedTo; + $this->view->deadline = $deadline; + $this->view->mailto = $mailto; + $this->view->keywords = $keywords; + $this->view->severity = $severity; + $this->view->type = $type; + $this->view->product = $currentProduct; + $this->view->branch = $branch; + $this->view->branches = $branches; + $this->view->blockID = $blockID; + $this->view->color = $color; + $this->view->stepsRequired = strpos($this->config->bug->create->requiredFields, 'steps'); + $this->view->isStepsTemplate = $steps == $this->lang->bug->tplStep . $this->lang->bug->tplResult . $this->lang->bug->tplExpect ? true : false; + $this->view->issueKey = $from == 'sonarqube' ? $output['sonarqubeID'] . ':' . $output['issueKey'] : ''; + $this->view->feedbackBy = $feedbackBy; + $this->view->notifyEmail = $notifyEmail; $this->display(); } @@ -831,6 +822,8 @@ class bug extends control } $projectID = $this->lang->navGroup->bug == 'project' ? $this->session->project : (isset($execution) ? $execution->project : 0); + $project = $this->loadModel('project')->getByID($projectID); + if(isset($project->model) && $project->model == 'kanban') $customFields['execution'] = $this->lang->bug->kanban; /* Get branches. */ if($executionID) @@ -851,7 +844,7 @@ class bug extends control $this->view->position[] = html::a($this->createLink('bug', 'browse', "productID=$productID&branch=$branch"), $this->products[$productID]); $this->view->position[] = $this->lang->bug->batchCreate; - $this->view->project = $this->loadModel('project')->getByID($projectID); + $this->view->project = $project; $this->view->product = $product; $this->view->productID = $productID; $this->view->stories = $stories; @@ -859,7 +852,7 @@ class bug extends control $this->view->users = $this->user->getPairs('devfirst|noclosed'); $this->view->projects = array('' => '') + $this->product->getProjectPairsByProduct($productID, $branch ? "0,$branch" : 0, 'id_desc', $projectID); $this->view->projectID = $projectID; - $this->view->executions = array('' => '') + $this->product->getExecutionPairsByProduct($productID, $branch ? "0,$branch" : 0, 'id_desc', $projectID); + $this->view->executions = array('' => '') + $this->product->getExecutionPairsByProduct($productID, $branch ? "0,$branch" : 0, 'id_desc', $projectID, 'multiple'); $this->view->executionID = $executionID; $this->view->moduleOptionMenu = $this->tree->getOptionMenu($productID, $viewType = 'bug', $startModuleID = 0, $branch === 'all' ? 0 : $branch); $this->view->moduleID = $moduleID; @@ -1035,6 +1028,7 @@ class bug extends control $projectID = $bug->project; $currentModuleID = $bug->module; $product = $this->loadModel('product')->getByID($productID); + $execution = $this->loadModel('execution')->getByID($executionID); $this->bug->checkBugExecutionPriv($bug); if(!isset($this->products[$bug->product])) @@ -1044,14 +1038,16 @@ class bug extends control } /* Set the menu. */ - if($this->app->tab == 'project') $this->loadModel('project')->setMenu($bug->project); + if($this->app->tab == 'project') $this->loadModel('project')->setMenu($bug->project); if($this->app->tab == 'execution') $this->loadModel('execution')->setMenu($bug->execution); - if($this->app->tab == 'qa') $this->qa->setMenu($this->products, $productID, $bug->branch); + if($this->app->tab == 'qa') $this->qa->setMenu($this->products, $productID, $bug->branch); if($this->app->tab == 'devops') { session_write_close(); + $repos = $this->loadModel('repo')->getRepoPairs('project', $bug->project); $this->repo->setMenu($repos); + $this->lang->navGroup->bug = 'devops'; } @@ -1067,9 +1063,10 @@ class bug extends control } if($this->app->tab == 'project') { - $products = array(); + $products = array(); $productList = $this->config->CRProduct ? $this->product->getOrderedProducts('all', 40, $bug->project) : $this->product->getOrderedProducts('normal', 40, $bug->project); foreach($productList as $productInfo) $products[$productInfo->id] = $productInfo->name; + $this->view->products = $products; } @@ -1160,27 +1157,31 @@ class bug extends control $productBugs = $this->bug->getProductBugPairs($productID, $branch); unset($productBugs[$bugID]); - $this->view->bug = $bug; - $this->view->productID = $productID; - $this->view->product = $product; - $this->view->productBugs = $productBugs; - $this->view->productName = $this->products[$productID]; - $this->view->plans = $this->loadModel('productplan')->getPairs($productID, $bug->branch, '', true); - $this->view->projects = array(0 => '') + $this->product->getProjectPairsByProduct($productID, $bug->branch, $bug->project); - $this->view->moduleOptionMenu = $moduleOptionMenu; - $this->view->currentModuleID = $currentModuleID; - $this->view->executions = array(0 => '') + $this->product->getExecutionPairsByProduct($bug->product, $bug->branch, 'id_desc', $bug->project); - $this->view->stories = $bug->execution ? $this->story->getExecutionStoryPairs($bug->execution) : $this->story->getProductStoryPairs($bug->product, $bug->branch, 0, 'all', 'id_desc', 0, 'full', 'story', false); - $this->view->branchOption = $branchOption; - $this->view->branchTagOption = $branchTagOption; - $this->view->tasks = $this->task->getExecutionTaskPairs($bug->execution); - $this->view->testtasks = $this->loadModel('testtask')->getPairs($bug->product, $bug->execution, $bug->testtask); - $this->view->users = $this->user->getPairs('', "$bug->assignedTo,$bug->resolvedBy,$bug->closedBy,$bug->openedBy"); - $this->view->assignedToList = $assignedToList; - $this->view->cases = array('' => '') + $cases; - $this->view->openedBuilds = $openedBuilds; - $this->view->resolvedBuilds = array('' => '') + $openedBuilds + $oldResolvedBuild; - $this->view->actions = $this->action->getList('bug', $bugID); + if($product->shadow) $this->view->project = $this->loadModel('project')->getByShadowProduct($bug->product); + + $this->view->bug = $bug; + $this->view->productID = $productID; + $this->view->product = $product; + $this->view->execution = $execution; + $this->view->productBugs = $productBugs; + $this->view->productName = $this->products[$productID]; + $this->view->plans = $this->loadModel('productplan')->getPairs($productID, $bug->branch, '', true); + $this->view->projects = array(0 => '') + $this->product->getProjectPairsByProduct($productID, $bug->branch, $bug->project); + $this->view->projectExecutionPairs = $this->loadModel('project')->getProjectExecutionPairs(); + $this->view->moduleOptionMenu = $moduleOptionMenu; + $this->view->currentModuleID = $currentModuleID; + $this->view->executions = array(0 => '') + $this->product->getExecutionPairsByProduct($bug->product, $bug->branch, 'id_desc', $bug->project); + $this->view->stories = $bug->execution ? $this->story->getExecutionStoryPairs($bug->execution) : $this->story->getProductStoryPairs($bug->product, $bug->branch, 0, 'all', 'id_desc', 0, 'full', 'story', false); + $this->view->branchOption = $branchOption; + $this->view->branchTagOption = $branchTagOption; + $this->view->tasks = $this->task->getExecutionTaskPairs($bug->execution); + $this->view->testtasks = $this->loadModel('testtask')->getPairs($bug->product, $bug->execution, $bug->testtask); + $this->view->users = $this->user->getPairs('', "$bug->assignedTo,$bug->resolvedBy,$bug->closedBy,$bug->openedBy"); + $this->view->assignedToList = $assignedToList; + $this->view->cases = array('' => '') + $cases; + $this->view->openedBuilds = $openedBuilds; + $this->view->resolvedBuilds = array('' => '') + $openedBuilds + $oldResolvedBuild; + $this->view->actions = $this->action->getList('bug', $bugID); $this->display(); } @@ -2033,6 +2034,17 @@ class bug extends control /* Set the menu. */ $this->qa->setMenu($this->products, $bug->product, $bug->branch); + /* Hide plan and product in no product project. */ + if($bug->project and $this->app->tab != 'qa') + { + $project = $this->loadModel('project')->getByID($bug->project); + if(!$project->hasProduct) + { + unset($this->config->bug->search['fields']['product']); + if($project->model != 'scrum') unset($this->config->bug->search['fields']['plan']); + } + } + /* Build the search form. */ $actionURL = $this->createLink('bug', 'linkBugs', "bugID=$bugID&browseType=bySearch&excludeBugs=$excludeBugs&queryID=myQueryID", '', true); $this->bug->buildSearchForm($bug->product, $this->products, $queryID, $actionURL); @@ -2319,8 +2331,8 @@ class bug extends control { if($_POST) { - $this->loadModel('port'); - $this->session->set('bugPortParams', array('productID' => $productID, 'executionID' => $executionID, 'branch' => 'all')); + $this->loadModel('transfer'); + $this->session->set('bugTransferParams', array('productID' => $productID, 'executionID' => $executionID, 'branch' => 'all')); if(!$productID) { $this->config->bug->datatable->fieldList['module']['dataSource']['method'] = 'getAllModulePairs'; @@ -2330,9 +2342,16 @@ class bug extends control $this->config->bug->datatable->fieldList['execution']['dataSource'] = array('module' => 'execution', 'method' => 'getPairs', 'params' => $executionID); } - $this->port->export('bug'); + $this->transfer->export('bug'); $this->fetch('file', 'export2' . $_POST['fileType'], $_POST); } + $product = $this->loadModel('product')->getByID($productID); + if($product->type == 'normal') $this->config->bug->exportFields = str_replace('branch,', '', $this->config->bug->exportFields); + + if($this->app->tab == 'project' or $this->app->tab == 'execution') + { + if($product->shadow) $this->config->bug->exportFields = str_replace('product,', '', $this->config->bug->exportFields); + } $fileName = $this->lang->bug->common; if($executionID) @@ -2342,7 +2361,7 @@ class bug extends control } else { - $productName = $this->dao->findById($productID)->from(TABLE_PRODUCT)->fetch('name'); + $productName = !empty($product->name) ? $product->name : ''; $browseType = isset($this->lang->bug->featureBar['browse'][$browseType]) ? $this->lang->bug->featureBar['browse'][$browseType] : zget($this->lang->bug->moreSelects, $browseType, ''); $fileName = $productName . $this->lang->dash . $browseType . $fileName; diff --git a/module/bug/js/common.js b/module/bug/js/common.js index 28b453c754..a5832ffbb7 100644 --- a/module/bug/js/common.js +++ b/module/bug/js/common.js @@ -2,7 +2,6 @@ $(function() { var page = window.page || ''; var flow = window.flow; - if(typeof(systemMode) == undefined) var systemMode = ''; $('#subNavbar a[data-toggle=dropdown]').parent().addClass('dropdown dropdown-hover'); @@ -294,13 +293,6 @@ function loadProductStories(productID) */ function loadProductProjects(productID) { - if(systemMode == 'classic') - { - var projectID = $('#execution').find("option:selected").val(); - loadProductExecutions(productID, projectID); - return true; - } - branch = $('#branch').val(); if(typeof(branch) == 'undefined') branch = 0; @@ -327,12 +319,22 @@ function loadProductExecutions(productID, projectID = 0) branch = $('#branch').val(); if(typeof(branch) == 'undefined') branch = 0; - var execution = $('#execution').val(); + if(projectID != 0 && projectExecutionPairs[projectID] !== undefined) + { + $('#executionIdBox').parents('.executionBox').hide(); + var execution = projectExecutionPairs[projectID]; + } + else + { + $('#executionIdBox').parents('.executionBox').show(); + var execution = $('#execution').val(); + } + link = createLink('product', 'ajaxGetExecutions', 'productID=' + productID + '&projectID=' + projectID + '&branch=' + branch + '&number=&executionID=' + execution); $('#executionIdBox').load(link, function() { $(this).find('select').chosen(); - if(typeof(bugExecution) == 'string' && systemMode != 'classic') $('#executionIdBox').prepend("" + bugExecution + ""); + if(typeof(bugExecution) == 'string') $('#executionIdBox').prepend("" + bugExecution + ""); if(required) $(this).find('#execution_chosen').addClass('required'); changeAssignedTo(projectID); }); diff --git a/module/bug/js/view.js b/module/bug/js/view.js index 22aa62bb28..2e38b6e93f 100644 --- a/module/bug/js/view.js +++ b/module/bug/js/view.js @@ -33,19 +33,13 @@ $('#toTaskButton').on('click', function() var executionID = $('#execution').val(); var executionID = executionID ? executionID : 0; - if(systemMode == 'new' && projectID && executionID != 0) + if(projectID && executionID != 0) { $('#cancelButton').click(); link = createLink('task', 'create', 'executionID=' + executionID + '&storyID=0&moduleID=0&taskID=0&todoID=0&extra=projectID=' + projectID + '&bugID=' + bugID); window.parent.$.apps.open(link, 'execution'); } - else if(systemMode == 'classic' && executionID) - { - $('#cancelButton').click(); - var link = createLink('task', 'create', 'executionID=' + executionID + '&storyID=0&moduleID=0&taskID=0&todoID=0&extra=projectID=0&bugID=' + bugID); - window.parent.$.apps.open(link, 'execution'); - } - else if(systemMode == 'new' && projectID == 0) + else if(projectID == 0) { alert(errorNoProject); } diff --git a/module/bug/lang/de.php b/module/bug/lang/de.php index 92c7f5d4fb..7bceae4597 100644 --- a/module/bug/lang/de.php +++ b/module/bug/lang/de.php @@ -191,8 +191,8 @@ global $config; /* Legend list. */ $lang->bug->legendBasicInfo = 'Basis Info'; $lang->bug->legendAttatch = 'Anlagen'; -$lang->bug->legendPRJExecStoryTask = $config->systemMode == 'new' ? 'Project/' . $lang->executionCommon . '/Story/Task' : $lang->executionCommon . '/Story/Task'; -$lang->bug->legendExecStoryTask = $lang->executionCommon . '/Story/Task'; +$lang->bug->legendPRJExecStoryTask = 'Project/' . $lang->executionCommon . '/Story/Task'; +$lang->bug->legendExecStoryTask = 'Porject/Story/Task'; $lang->bug->lblTypeAndSeverity = 'Typ/Schwere'; $lang->bug->lblSystemBrowserAndHardware = 'System/Browser'; $lang->bug->legendSteps = 'Reproduktionsschritte'; diff --git a/module/bug/lang/en.php b/module/bug/lang/en.php index 6b20c15b4e..dfdc2239e3 100644 --- a/module/bug/lang/en.php +++ b/module/bug/lang/en.php @@ -191,8 +191,8 @@ global $config; /* Legend list. */ $lang->bug->legendBasicInfo = 'Basic Info'; $lang->bug->legendAttatch = 'Files'; -$lang->bug->legendPRJExecStoryTask = $config->systemMode == 'new' ? 'Project/' . $lang->executionCommon . '/Story/Task' : $lang->executionCommon . '/Story/Task'; -$lang->bug->legendExecStoryTask = $lang->executionCommon . '/Story/Task'; +$lang->bug->legendPRJExecStoryTask = 'Project/' . $lang->executionCommon . '/Story/Task'; +$lang->bug->legendExecStoryTask = 'Porject/Story/Task'; $lang->bug->lblTypeAndSeverity = 'Type/Severity'; $lang->bug->lblSystemBrowserAndHardware = 'System/Browser'; $lang->bug->legendSteps = 'Repro Steps'; diff --git a/module/bug/lang/fr.php b/module/bug/lang/fr.php index ff9fd3073a..2d5289233c 100644 --- a/module/bug/lang/fr.php +++ b/module/bug/lang/fr.php @@ -191,8 +191,8 @@ global $config; /* Legend list. */ $lang->bug->legendBasicInfo = 'Infos de Base'; $lang->bug->legendAttatch = 'Fichiers'; -$lang->bug->legendPRJExecStoryTask = $config->systemMode == 'new' ? 'Project/' . $lang->executionCommon . '/Story/Task' : $lang->executionCommon . '/Story/Task'; -$lang->bug->legendExecStoryTask = $lang->executionCommon . '/Story/Tâche'; +$lang->bug->legendPRJExecStoryTask = 'Project/' . $lang->executionCommon . '/Story/Task'; +$lang->bug->legendExecStoryTask = 'Porject/Story/Task'; $lang->bug->lblTypeAndSeverity = 'Type/Severité'; $lang->bug->lblSystemBrowserAndHardware = 'Système/Browser'; $lang->bug->legendSteps = 'Etapes Repro'; diff --git a/module/bug/lang/vi.php b/module/bug/lang/vi.php index b21a1eed16..7503238b12 100644 --- a/module/bug/lang/vi.php +++ b/module/bug/lang/vi.php @@ -164,7 +164,7 @@ $lang->bug->createBuild = 'Mới'; $lang->bug->legendBasicInfo = 'Thông tin cơ bản'; $lang->bug->legendAttatch = 'Files'; $lang->bug->legendPRJExecStoryTask = 'Project/' . $lang->executionCommon . '/Story/Task'; -$lang->bug->legendExecStoryTask = $lang->executionCommon . '/Câu chuyện/Nhiệm vụ'; +$lang->bug->legendExecStoryTask = 'Project/Câu chuyện/Nhiệm vụ'; $lang->bug->lblTypeAndSeverity = 'Loại/Mức độ'; $lang->bug->lblSystemBrowserAndHardware = 'Hệ thống/Trình duyệt'; $lang->bug->legendSteps = 'Các bước Repro'; diff --git a/module/bug/lang/zh-cn.php b/module/bug/lang/zh-cn.php index e437a9bfb5..bb56a13546 100644 --- a/module/bug/lang/zh-cn.php +++ b/module/bug/lang/zh-cn.php @@ -191,8 +191,8 @@ global $config; /* legend列表。*/ $lang->bug->legendBasicInfo = '基本信息'; $lang->bug->legendAttatch = '附件'; -$lang->bug->legendPRJExecStoryTask = $config->systemMode == 'new' ? "项目/" . $lang->executionCommon . "/{$lang->SRCommon}/任务" : $lang->executionCommon . "/{$lang->SRCommon}/任务"; -$lang->bug->legendExecStoryTask = $lang->executionCommon . "/{$lang->SRCommon}/任务"; +$lang->bug->legendPRJExecStoryTask = "项目/{$lang->executionCommon}/{$lang->SRCommon}/任务"; +$lang->bug->legendExecStoryTask = "项目/{$lang->SRCommon}/任务"; $lang->bug->lblTypeAndSeverity = '类型/严重程度'; $lang->bug->lblSystemBrowserAndHardware = '系统/浏览器'; $lang->bug->legendSteps = '重现步骤'; diff --git a/module/bug/model.php b/module/bug/model.php index c75006a760..6ce96fe0da 100644 --- a/module/bug/model.php +++ b/module/bug/model.php @@ -66,7 +66,7 @@ class bugModel extends model ->setDefault('openedBuild', '') ->setDefault('notifyEmail', '') ->setDefault('deadline', '0000-00-00') - ->setIF($this->config->systemMode == 'new' && $this->lang->navGroup->bug != 'qa', 'project', $this->session->project) + ->setIF($this->lang->navGroup->bug != 'qa', 'project', $this->session->project) ->setIF(strpos($this->config->bug->create->requiredFields, 'deadline') !== false, 'deadline', $this->post->deadline) ->setIF($this->post->assignedTo != '', 'assignedDate', $now) ->setIF($this->post->story != false, 'storyVersion', $this->loadModel('story')->getVersion($this->post->story)) @@ -89,9 +89,6 @@ class bugModel extends model $bug = $this->loadModel('file')->processImgURL($bug, $this->config->bug->editor->create['id'], $this->post->uid); - /* Use classic mode to replace required project. */ - if($this->config->systemMode == 'classic' and strpos($this->config->bug->create->requiredFields, 'project') !== false) $this->config->bug->create->requiredFields = str_replace('project', 'execution', $this->config->bug->create->requiredFields); - $this->dao->insert(TABLE_BUG)->data($bug) ->autoCheck() ->checkIF($bug->notifyEmail, 'notifyEmail', 'email') @@ -288,7 +285,7 @@ class bugModel extends model } } - if($this->config->systemMode == 'new' && $this->lang->navGroup->bug != 'qa') $bug->project = $this->session->project; + if($this->lang->navGroup->bug != 'qa') $bug->project = $this->session->project; $this->dao->insert(TABLE_BUG)->data($bug) ->autoCheck() ->batchCheck($this->config->bug->create->requiredFields, 'notempty') @@ -698,7 +695,8 @@ class bugModel extends model ->add('id', $bugID) ->cleanInt('product,module,severity,project,execution,story,task,branch') ->stripTags($this->config->bug->editor->edit['id'], $this->config->allowedTags) - ->setDefault('product,module,execution,story,task,duplicateBug,branch', 0) + ->setDefault('module,execution,story,task,duplicateBug,branch', 0) + ->setDefault('product', $oldBug->product) ->setDefault('openedBuild', '') ->setDefault('os', '') ->setDefault('browser', '') @@ -1602,7 +1600,7 @@ class bugModel extends model { $projectID = $this->lang->navGroup->bug == 'qa' ? 0 : $this->session->project; $productParams = ($productID and isset($products[$productID])) ? array($productID => $products[$productID]) : $products; - $productParams = $productParams + array('all' => $this->lang->bug->allProduct); + $productParams = $productParams + array('all' => $this->lang->all); $projectParams = $this->getProjects($productID); $projectParams = $projectParams + array('all' => $this->lang->bug->allProject); @@ -1617,7 +1615,7 @@ class bugModel extends model $this->config->bug->search['actionURL'] = $actionURL; $this->config->bug->search['queryID'] = $queryID; - if($this->config->systemMode == 'new') $this->config->bug->search['params']['project']['values'] = $projectParams; + $this->config->bug->search['params']['project']['values'] = $projectParams; $this->config->bug->search['params']['product']['values'] = $productParams; $this->config->bug->search['params']['plan']['values'] = $this->loadModel('productplan')->getPairs($productID); $this->config->bug->search['params']['module']['values'] = $modules; @@ -1753,7 +1751,7 @@ class bugModel extends model $query = preg_replace('/`(\w+)`/', 't1.`$1`', $query); if($type != 'bySearch' and !$this->loadModel('common')->checkField(TABLE_BUG, $type)) return array(); - return $this->dao->select("t1.*,t2.name as productName, IF(t1.`pri` = 0, {$this->config->maxPriValue}, t1.`pri`) as priOrder, IF(t1.`severity` = 0, {$this->config->maxPriValue}, t1.`severity`) as severityOrder")->from(TABLE_BUG)->alias('t1') + return $this->dao->select("t1.*, t2.name AS productName, t2.shadow, IF(t1.`pri` = 0, {$this->config->maxPriValue}, t1.`pri`) AS priOrder, IF(t1.`severity` = 0, {$this->config->maxPriValue}, t1.`severity`) AS severityOrder")->from(TABLE_BUG)->alias('t1') ->leftJoin(TABLE_PRODUCT)->alias('t2')->on('t1.product = t2.id') ->where('t1.deleted')->eq(0) ->andWhere('t2.deleted')->eq('0') @@ -2041,8 +2039,7 @@ class bugModel extends model $users = $this->dao->select("t2.id, t2.account, t2.realname")->from(TABLE_TEAM)->alias('t1') ->leftJoin(TABLE_USER)->alias('t2')->on('t1.account = t2.account') ->where('t1.root')->in(array_keys($projects)) - ->beginIF($this->config->systemMode == 'new')->andWhere('t1.type')->eq('project')->fi() - ->beginIF($this->config->systemMode == 'classic')->andWhere('t1.type')->eq('execution')->fi() + ->andWhere('t1.type')->eq('project') ->andWhere('t2.deleted')->eq(0) ->fi() ->fetchAll('account'); @@ -2953,7 +2950,7 @@ class bugModel extends model } else { - $productParis = $this->loadModel('product')->getPairs(); + $productParis = $this->loadModel('product')->getPairs('', 0, '', 'all'); $productIDList = array_keys($productParis); if(!empty($productIDList)) @@ -3622,7 +3619,8 @@ class bugModel extends model if($type == 'view') $menu .= $this->buildMenu('bug', 'activate', $params, $bug, $type, '', '', "text-success iframe showinonlybody", true); if($type == 'view' && $this->app->tab != 'product') { - $menu .= $this->buildMenu('bug', 'toStory', $toStoryParams, $bug, $type, $this->lang->icons['story'], '', '', '', "data-app='product' id='tostory'", $this->lang->bug->toStory); + $tab = $this->app->tab == 'qa' ? 'product' : $this->app->tab; + $menu .= $this->buildMenu('bug', 'toStory', $toStoryParams, $bug, $type, $this->lang->icons['story'], '', '', '', "data-app='$tab' id='tostory'", $this->lang->bug->toStory); if(common::hasPriv('task', 'create') and !isonlybody()) $menu .= html::a('#toTask', "{$this->lang->bug->toTask}", '', "data-app='qa' data-toggle='modal' class='btn btn-link'"); $menu .= $this->buildMenu('bug', 'createCase', $convertParams, $bug, $type, 'sitemap'); } @@ -3650,7 +3648,7 @@ class bugModel extends model public function getRelatedObjects($object, $pairs = '') { /* Get bugs. */ - $bugs = $this->loadModel('port')->getQueryDatas('bug'); + $bugs = $this->loadModel('transfer')->getQueryDatas('bug'); /* Get related objects id lists. */ $relatedObjectIdList = array(); diff --git a/module/bug/view/batchcreate.html.php b/module/bug/view/batchcreate.html.php index 5e167e4891..c93fe27e54 100755 --- a/module/bug/view/batchcreate.html.php +++ b/module/bug/view/batchcreate.html.php @@ -56,9 +56,7 @@ foreach(explode(',', $config->bug->create->requiredFields) as $field) idAB;?> branchBox'> product->branch;?> '> bug->module;?> - systemMode == 'new'):?> - projectBox'>model) and $project->model == 'kanban') ? $lang->bug->kanban : $lang->bug->project;?> - + projectBox'>bug->project;?> executionBox'>model) and $project->model == 'kanban') ? $lang->bug->kanban : $lang->bug->execution;?> bug->openedBuild;?> bug->title;?> @@ -107,9 +105,7 @@ foreach(explode(',', $config->bug->create->requiredFields) as $field) branchBox' style='overflow:visible'> - systemMode == 'new'):?> - projectBox' style='overflow:visible'> - + projectBox' style='overflow:visible'> executionBox' style='overflow:visible'> @@ -165,9 +161,7 @@ foreach(explode(',', $config->bug->create->requiredFields) as $field) branchBox' style='overflow:visible'> - systemMode == 'new'):?> projectBox' style='overflow:visible'> - executionBox' style='overflow:visible'> @@ -228,9 +222,7 @@ foreach(explode(',', $config->bug->create->requiredFields) as $field) %s productBox' style='overflow:visible'> - systemMode == 'new'):?> projectBox' style='overflow:visible'> - executionBox' style='overflow:visible'> @@ -273,9 +265,7 @@ foreach(explode(',', $config->bug->create->requiredFields) as $field) branchBox' style='overflow:visible'> - systemMode == 'new'):?> projectBox' style='overflow:visible'> - executionBox' style='overflow:visible'> diff --git a/module/bug/view/create.html.php b/module/bug/view/create.html.php index 815aea4dbf..1ff2b23c25 100644 --- a/module/bug/view/create.html.php +++ b/module/bug/view/create.html.php @@ -29,7 +29,8 @@ js::set('moduleID', $moduleID); js::set('tab', $this->app->tab); js::set('requiredFields', $config->bug->create->requiredFields); js::set('showFields', $showFields); -if($this->app->tab == 'execution') js::set('objectID', $executionID); +js::set('projectExecutionPairs', $projectExecutionPairs); +if($this->app->tab == 'execution') js::set('objectID', zget($execution, 'id', '')); if($this->app->tab == 'project') js::set('objectID', $projectID); ?>
@@ -51,18 +52,20 @@ if($this->app->tab == 'project') js::set('objectID', $projectID); - - + - + @@ -111,23 +111,18 @@ if($this->app->tab == 'project') js::set('objectID', $projectID);
bug->product;?> + shadow ? $lang->bug->module : $lang->bug->product;?>
- type != 'normal' and isset($products[$productID])):?> + type != 'normal' and isset($products[$productID])):?>
+ shadow):?> bug->module?> + app->tab == 'project') js::set('objectID', $projectID);
- systemMode == 'classic') $lang->bug->project = $lang->bug->execution;?> - bug->project : $lang->bug->type;?> - bug->project : $lang->bug->type;?> - systemMode == 'new'):?>
-
+ multiple) ? 'hidden' : '';?> +
- model) and $project->model == 'kanban') ? $lang->bug->kanban : $lang->bug->execution;?> - + bug->kanban : $lang->bug->execution;?> +
- -
- -
-
@@ -389,9 +384,16 @@ if($this->app->tab == 'project') js::set('objectID', $projectID); bug->module);?> -model) and $project->model == 'kanban') ? $lang->bug->kanban : $lang->bug->execution);?> -systemMode);?> +bug->kanban : $lang->bug->execution);?> + + + diff --git a/module/bug/view/edit.html.php b/module/bug/view/edit.html.php index dc1ccf25d3..24ccd1aa2e 100644 --- a/module/bug/view/edit.html.php +++ b/module/bug/view/edit.html.php @@ -24,12 +24,12 @@ js::set('oldStoryID' , $bug->story); js::set('oldTaskID' , $bug->task); js::set('oldOpenedBuild' , $bug->openedBuild); js::set('oldResolvedBuild' , $bug->resolvedBuild); -js::set('systemMode' , $config->systemMode); js::set('confirmUnlinkBuild' , sprintf($lang->bug->confirmUnlinkBuild, zget($resolvedBuilds, $bug->resolvedBuild))); js::set('tab' , $this->app->tab); js::set('bugID' , $bug->id); js::set('bugBranch' , $bug->branch); js::set('isClosedBug' , $bug->status == 'closed'); +js::set('projectExecutionPairs' , $projectExecutionPairs); if($this->app->tab == 'execution') js::set('objectID', $bug->execution); if($this->app->tab == 'project') js::set('objectID', $bug->project); ?> @@ -96,7 +96,7 @@ if($this->app->tab == 'project') js::set('objectID', $bug->project);
story->legendBasicInfo;?>
- + shadow) echo " class='hide'";?>> - + - + '>
bug->product;?>
@@ -106,7 +106,7 @@ if($this->app->tab == 'project') js::set('objectID', $bug->project);
bug->module;?>bug->module;?>
app->tab == 'project') js::set('objectID', $bug->project);
bug->productplan;?> plan, "class='form-control chosen'");?> @@ -204,16 +204,15 @@ if($this->app->tab == 'project') js::set('objectID', $bug->project);
-
systemMode == 'class' ? $lang->bug->legendExecStoryTask : $lang->bug->legendPRJExecStoryTask;?>
+
multiple) ? $lang->bug->legendPRJExecStoryTask : $lang->bug->legendExecStoryTask;?>
- systemMode == 'new'):?> - - + multiple) ? 'hide' : '';?> + diff --git a/module/bug/view/view.html.php b/module/bug/view/view.html.php index dc83599bc9..932f64e203 100644 --- a/module/bug/view/view.html.php +++ b/module/bug/view/view.html.php @@ -14,7 +14,6 @@ bug->confirmToStory);?> -systemMode);?> tab);?> id);?> branch);?> @@ -106,24 +105,26 @@
bug->project;?> project, "class='form-control chosen' onchange='loadProductExecutions($bug->product, this.value)'");?>
bug->execution;?> execution, "class='form-control chosen' onchange='loadExecutionRelated(this.value)'");?>
+ shadow)):?> + type != 'normal'):?> - + - + bug->fromCase;?> - + '> @@ -277,16 +278,16 @@
bug->product;?> product", $product->name, '', "data-app='product'")) echo $product->name;?>
product->branch, $lang->product->branchName[$product->type]);?>product->branch, $lang->product->branchName[$product->type]);?> product&branch=$bug->branch", $branchName)) echo $branchName;?>
bug->module;?>bug->module;?> case) echo html::a(helper::createLink('testcase', 'view', "caseID=$bug->case&version=$bug->caseVersion", '', true), " {$lang->bug->fromCase}$lang->colon$bug->case", '', isonlybody() ? '' : "data-toggle='modal' data-type='iframe' data-width='80%'");?>
bug->productplan;?> plan or !common::printLink('productplan', 'view', "planID=$bug->plan&type=bug", $bug->planName)) echo $bug->planName;?>
- systemMode == 'new'):?> - + multiple)):?> +
bug->project;?> project) echo html::a($this->createLink('project', 'view', "projectID=$bug->project"), $bug->projectName);?>
model) and $project->model == 'kanban') ? $lang->bug->kanban : $lang->bug->execution;?> execution) echo html::a($this->createLink('execution', 'browse', "executionID=$bug->execution"), $bug->executionName);?>
bug->story;?> @@ -457,7 +458,6 @@