diff --git a/config/filter.php b/config/filter.php index 7460c2a0da..42bd625242 100644 --- a/config/filter.php +++ b/config/filter.php @@ -321,4 +321,5 @@ $filter->gitlab->importissue->get['gitlab'] = 'int'; $filter->gitlab->importissue->get['product'] = 'int'; $filter->gitlab->importissue->get['product'] = 'string'; $filter->gitlab->importissue->get['project'] = 'int'; +$filter->gitlab->importissue->get['repo'] = 'int'; diff --git a/module/gitlab/control.php b/module/gitlab/control.php index 5dfc931326..0fa6a04612 100644 --- a/module/gitlab/control.php +++ b/module/gitlab/control.php @@ -247,7 +247,7 @@ class gitlab extends control a($relations);exit; $issue = $this->gitlab->taskToIssue($gitlabID, $projectID, $task); $issue = $this->gitlab->apiCreateIssue($gitlabID, $projectID, $issue); - $this->gitlab->saveSyncedIssue('task', $task, $gitlabID, $issue); + $this->gitlab->saveIssueRelation('task', $task, $gitlabID, $issue); exit; } @@ -259,10 +259,10 @@ class gitlab extends control */ public function importIssue() { - $productIDList = explode(',', $this->get->product); - $gitlabID = $this->get->gitlab; - $projectID = $this->get->project; - + $repo = $this->loadModel('repo')->getRepoByID($this->get->repo); + $productIDList = explode(',', $repo->product); + $gitlabID = $repo->gitlab; + $projectID = $repo->project; if($_POST) { diff --git a/module/gitlab/model.php b/module/gitlab/model.php index 2a5808df8a..1108b86548 100644 --- a/module/gitlab/model.php +++ b/module/gitlab/model.php @@ -546,6 +546,15 @@ class gitlabModel extends model $aaa = json_decode(commonModel::http($url)); } + /** + * Get gitlab issues by api. + * + * @param int $gitlabID + * @param int $projectID + * @param string $options + * @access public + * @return object + */ public function apiGetIssues($gitlabID, $projectID, $options = null) { // TODO(dingguodong) not pagination yet. @@ -588,7 +597,7 @@ class gitlabModel extends model $response = json_decode(commonModel::http($url, $issue)); if(!$response) return false; - return $this->saveSyncedIssue($objectType, $object, $gitlabID, $response); + return $this->saveIssueRelation($objectType, $object, $gitlabID, $response); } /** @@ -901,7 +910,7 @@ class gitlabModel extends model * @access public * @return void */ - public function saveSyncedIssue($objectType, $object, $gitlabID, $issue) + public function saveIssueRelation($objectType, $object, $gitlabID, $issue) { if(empty($issue->iid) or empty($issue->project_id)) return false; @@ -939,7 +948,7 @@ class gitlabModel extends model $apiRoot = $this->getApiRoot($gitlabID); $url = sprintf($apiRoot, "/projects/{$projectID}/issues/{$issue->iid}"); commonModel::http($url, $data, $options = array(CURLOPT_CUSTOMREQUEST => 'PUT')); - $this->saveSyncedIssue($objectType, $object, $gitlabID, $issue); + $this->saveIssueRelation($objectType, $object, $gitlabID, $issue); } /** diff --git a/module/repo/view/maintain.html.php b/module/repo/view/maintain.html.php index d59a9a4186..4f754db09f 100644 --- a/module/repo/view/maintain.html.php +++ b/module/repo/view/maintain.html.php @@ -49,7 +49,7 @@