a PHP wrapper for various issue tracker
$ composer require digitalkaoz/issues
currently these are the supported Trackers:
<?php
$github = new GithubTracker($token = null);
$jira = new JiraTracker($host, $username = null, $password = null);
$gitlab = new GitlabTracker($host, $token = null);
$bitbucket = new BitbucketTracker($username = null, $password = null);
The Library contains a simple Application to search various Trackers:
$ bin/issues search -u TOKEN github digitalkaoz/issues # search github
$ bin/issues search -u TOKEN -h gitlab.domain.com gitlab foo/* # search gitlab
$ bin/issues search -u USER -p PWD -d https://jira.domain.com jira PROJKEY # search jira
$ bin/issues search -u USER -p PWD -d bitbucket gentlero/bitbucket-api # search bitbucket
to use it programmatic:
<?php
$tracker = new GithubTracker($token); // or any other Tracker
$project = $tracker->getProject('digitalkaoz/issues'); //Rs/Issues/Project
$projects = $tracker->findProjects('digitalkaoz/*'); //Rs/Issues/Project[]
$issues = $project->getIssues(); //Rs/Issues/Issue[]
you can either search for an concrete repository like digitalkaoz/issues
or search for issues:
digitalkaoz/*
: all repos ofdigitalkaoz
symfony/[Console|Debug]+$
: onlysymfony/Console
orsymfony/Debug
doctrine/(?!common|lexer)([a-z0-9\.-]+)$
all butdoctrine/common
anddoctrine/lexer
The CLI Application searches by default, in your Code you should use findProjects
instead of getProject
To build a standalone PHAR:
$ vendor/bin/box build
now you can use it as standalone app as follows:
$ php issues.phar search github digitalkaoz/issues
$ vendor/bin/phpspec run