public function listCommits(string $sha = AbstractApi::BRANCH_MASTER, string $path = null, string $author = null,
                                string $since = null, string $until = null): array
    {
        return $this->getApi()->request($this->getApi()->sprintf('/repos/:owner/:repo/commits?:args',
            $this->getRepositories()->getOwner(), $this->getRepositories()->getRepo(), http_build_query([
                "sha"    => $sha,
                "path"   => $path,
                "author" => $author,
                "since"  => $since,
                "until"  => $until
            ])));
    }