/** * @param RepositoryInformation $repoInfo * @return null|array */ protected function getIssueFromGithub(RepositoryInformation $repoInfo) { $issue = null; try { /** @var $issue */ $issue = $this->githubClient->issues()->show($this->getGithubUserName(), $repoInfo->getRepositoryName(), $repoInfo->getIssueId()); } catch (\Github\Exception\RuntimeException $runtimeException) { // dont care } return $issue; }
/** * check if repository mentioned and store mentioned ones * @param $comment * @return bool */ private function checkIfRepositoriesMentionedInComment($comment) { $repositoryMentioned = false; preg_match_all('/\\[(.*)\\]/U', $comment, $matches); if (!empty($matches[1])) { foreach ($matches[1] as $match) { $info = explode('/', $match); switch (count($info)) { case 2: $repositoryInformation = new RepositoryInformation(); $repositoryInformation->setRepositoryName($info[0]); $repositoryInformation->setIssueId($info[1]); $this->mentionedIssues[] = $repositoryInformation; $repositoryMentioned = true; break; case 1: if (trim($info[0]) == self::PUSH_TO_ALL_REPOS_PHRASE) { $this->pushToAllRepos = true; } else { $repositoryInformation = new RepositoryInformation(); $repositoryInformation->setRepositoryName(trim($info[0])); $this->mentionedRepositories[] = $repositoryInformation->getRepositoryName(); } $repositoryMentioned = true; break; default: //no default, just skipp } } } return $repositoryMentioned; }