Skip to content

digitalkaoz/issues

Repository files navigation

issues

a PHP wrapper for various issue tracker

Build Status Dependency Status Scrutinizer Code Quality Code Coverage SensioLabsInsight Latest Stable Version Total Downloads StyleCI

Installation

$ composer require digitalkaoz/issues

Trackers

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);

Usage

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[]

Searching

you can either search for an concrete repository like digitalkaoz/issues or search for issues:

  • digitalkaoz/* : all repos of digitalkaoz
  • symfony/[Console|Debug]+$ : only symfony/Console or symfony/Debug
  • doctrine/(?!common|lexer)([a-z0-9\.-]+)$ all but doctrine/common and doctrine/lexer

The CLI Application searches by default, in your Code you should use findProjects instead of getProject

Console Output

Phar

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

Tests

$ vendor/bin/phpspec run