Robo GitHub
Run GitHub commands from the Robo task runner., (*1)
Getting Started
First, you'll need to download the Robo GibHub library using composer:, (*2)
composer require droath/robo-github
Next, you'll need to create a personal access token on GitHub so you have access to your private repositories via a Robo task. Follow this GitHub guide to obtain your access token., (*3)
Once you've created your GitHub token you'll need to pass the access token along with the GitHub project user or organization and repository name, like the following:, (*4)
<?php
    $token = 'OJuJcqaYiX5uL72Ky';
    $account = 'droath';
    $repository = 'robo-github';
    $response = $this
        ->taskGitHubIssueAssignees($token, $account, $repository)
        ...
        ...
        ->run();
    var_dump($response);
The GitHub account and repository arguments can also be defined using the set methods:, (*5)
<?php
    $response = $this
        ->taskGitHubIssueAssignees('OJuJcqaYiX5uL72Ky')
        ->setAccount('droath')
        ->setRepository('robo-github')
        ...
        ->run();
    var_dump($response);
Example
Retrieve GitHub issues:, (*6)
<?php
    $issues = $this->taskGitHubIssueList('OJuJcqaYiX5uL72Ky')
        ->setAccount('droath')
        ->setRepository('robo-github')
        ->filter('assigned')
        ->state('opened')
        ->labels(['bug', 'duplicates'])
        ...
        ->run();
    var_dump($issues);
Assign a GitHub issue:, (*7)
<?php
    // The GitHub issue number.
    $number = 6;
    // The GitHub user name to assign the issue too.
    $assignee = 'droath';
   $response = $this->taskGitHubIssueAssignees('OJuJcqaYiX5uL72Ky')
        ->setAccount('droath')
        ->setRepository('robo-github')
        ->number($number)
        ->addAssignee($assignee)
        ->run();
Create repository statuses:, (*8)
<?php
    // GitHub commit sha reference.
    $sha = 'c70cc19bc1bc817971ad693e58a15ed5703b439d';
    // GitHub status state.
    $state = 'success';
    $this->taskGitHubIssueAssignees('OJuJcqaYiX5uL72Ky')
        ->setAccount('droath')
        ->setRepository('robo-github')
        ->setSha($sha)
        ->setParamState($state)
        ->setParamDescription('State description!')
        ->setParamContext('vendor/projctname')
        ->run();
Support
I'll be adding more GitHub commands as they're needed. Feel free to create a PR or an issue with any problems you're having., (*9)