/** * @param string $asgardUrl * @return AsgardTask[] */ public function read($asgardUrl) { $response = $this->client->request('GET', $asgardUrl); if ($response->getStatusCode() != 200) { throw new \InvalidArgumentException(sprintf("Url does not work: %s", $asgardUrl)); } $content = $response->getBody(); $allTasks = json_decode($content, true); $completedTasks = $allTasks["completedTaskList"]; $result = []; foreach ($completedTasks as $task) { $result[] = AsgardTask::fromData($task); } return $result; }
/** * @param $aggregation * @param AsgardTask $task */ private function incrementTotalDeploys(&$aggregation, $task) { $year = $task->getYear(); $weekOfYear = $task->getWeekOfYear(); $app = $task->getApp(); $aggregation[$year][$weekOfYear][$app]++; }
/** * @param AsgardTask $task * @return boolean */ public function matches($task) { return trim($task->getApp()) !== ''; }
/** * @param AsgardTask $task * @return boolean */ public function matches($task) { return $task->getStatus() === AsgardTask::STATUS_COMPLETED; }
/** * @param AsgardTask $task * @return boolean */ public function matches($task) { return sprintf(self::TASK_NAME_PATTERN, $task->getApp()) === $task->getName(); }