droath/robo-github

GitHub for Robo Task Runner

0.0.2 2017-11-11 21:43 UTC

README

Run GitHub commands from the Robo task runner.

Getting Started

First, you'll need to download the Robo GibHub library using composer:

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.

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:

<?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:

<?php
    $response = $this
        ->taskGitHubIssueAssignees('OJuJcqaYiX5uL72Ky')
        ->setAccount('droath')
        ->setRepository('robo-github')
        ...
        ->run();

    var_dump($response);

Example

Retrieve GitHub issues:

<?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:

<?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:

<?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.