[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 final class HarbormasterQueryBuildsConduitAPIMethod 4 extends HarbormasterConduitAPIMethod { 5 6 public function getAPIMethodName() { 7 return 'harbormaster.querybuilds'; 8 } 9 10 public function getMethodDescription() { 11 return pht('Query Harbormaster builds.'); 12 } 13 14 public function defineParamTypes() { 15 return array( 16 'ids' => 'optional list<id>', 17 'phids' => 'optional list<phid>', 18 'buildStatuses' => 'optional list<string>', 19 'buildablePHIDs' => 'optional list<phid>', 20 'buildPlanPHIDs' => 'optional list<phid>', 21 ) + self::getPagerParamTypes(); 22 } 23 24 public function defineReturnType() { 25 return 'wild'; 26 } 27 28 public function defineErrorTypes() { 29 return array(); 30 } 31 32 protected function execute(ConduitAPIRequest $request) { 33 $viewer = $request->getUser(); 34 35 $query = id(new HarbormasterBuildQuery()) 36 ->setViewer($viewer); 37 38 $ids = $request->getValue('ids'); 39 if ($ids !== null) { 40 $query->withIDs($ids); 41 } 42 43 $phids = $request->getValue('phids'); 44 if ($phids !== null) { 45 $query->withPHIDs($phids); 46 } 47 48 $statuses = $request->getValue('buildStatuses'); 49 if ($statuses !== null) { 50 $query->withBuildStatuses($statuses); 51 } 52 53 $buildable_phids = $request->getValue('buildablePHIDs'); 54 if ($buildable_phids !== null) { 55 $query->withBuildablePHIDs($buildable_phids); 56 } 57 58 $build_plan_phids = $request->getValue('buildPlanPHIDs'); 59 if ($build_plan_phids !== null) { 60 $query->withBuildPlanPHIDs($build_plan_phids); 61 } 62 63 $pager = $this->newPager($request); 64 65 $builds = $query->executeWithCursorPager($pager); 66 67 $data = array(); 68 foreach ($builds as $build) { 69 70 $id = $build->getID(); 71 $uri = '/harbormaster/build/'.$id.'/'; 72 $status = $build->getBuildStatus(); 73 74 $data[] = array( 75 'id' => $id, 76 'phid' => $build->getPHID(), 77 'uri' => PhabricatorEnv::getProductionURI($uri), 78 'name' => $build->getBuildPlan()->getName(), 79 'buildablePHID' => $build->getBuildablePHID(), 80 'buildPlanPHID' => $build->getBuildPlanPHID(), 81 'buildStatus' => $status, 82 'buildStatusName' => HarbormasterBuild::getBuildStatusName($status), 83 ); 84 } 85 86 $results = array( 87 'data' => $data, 88 ); 89 90 $results = $this->addPagerResults($results, $pager); 91 return $results; 92 } 93 94 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |