/** * @param Api $api * @param string $type * @param array $criteria * * @return Issue[] */ private function findIssues(Api $api, $type, array $criteria) { /* @var Issues|PullRequests $api */ list($username, $repo) = explode('/', $this->getName()); $issues = json_decode($api->all($username, $repo, $criteria)->getContent(), true); $newIssues = []; $key = 'issue' === $type ? 'issues' : 'values'; foreach ((array) $issues[$key] as $issue) { if ('open' !== $issue['status'] && 'new' !== $issue['status']) { continue; } $newIssues[] = new BitbucketIssue($issue, $type, $this->getUrl()); } return $newIssues; }