Nana Plays Minesweeper

    hubot-pull-request

    0.5.0 • Public • Published

    hubot-pull-request Build Status

    A hubot script that handles merge requests (Gitlab) and pull requests (Github).

    Features

    • List all merge requests from a Gitlab server.
    • List all pull requests from Github.
    • Assign merge request to random developers of a Gitlab group.

    Triggers

    • hubot merge-request list <scope>
    • hubot merge-request assign <project-identifier> <merge-request-identifier>
    • hubot pull-request list
    • hubot pull-request assign <project-identifier> <pull-request-identifier>

    Installation

    Add hubot-pull-request to your package.json file:

    ...
      "dependencies": {
        "hubot": ">= 2.5.1",
        "hubot-scripts": ">= 2.4.2",
        "hubot-pull-request": ">= 0.0.0"
      }
    

    Add hubot-pull-request to your external-scripts.json:

    ["hubot-pull-request"]
    

    Run npm install.

    Configuration

    The plugin depends on environment variables beginning with HUBOT_PULL_REQUEST_. The following configurations are available:

    • HUBOT_PULL_REQUEST_PAGINATION_BORDER - The maximum amount of pages. Default: 100
    • HUBOT_PULL_REQUEST_PAGINATION_PER_PAGE - The number of items per page. Default: 100
    • HUBOT_PULL_REQUEST_GITLAB_HOST - The hostname of the gitlab server.
    • HUBOT_PULL_REQUEST_GITLAB_BASIC_AUTH_USERNAME - The username of the basic auth.
    • HUBOT_PULL_REQUEST_GITLAB_BASIC_AUTH_PASSWORD - The password of the basic auth.
    • HUBOT_PULL_REQUEST_GITLAB_API_TOKEN - The api token of a gitlab user.
    • HUBOT_PULL_REQUEST_GITHUB_AUTH_USERNAME - The username of a github user.
    • HUBOT_PULL_REQUEST_GITHUB_AUTH_PASSWORD - The password of a github user.

    Look'n'Feel

    Reading merge requests:

    sdepold:
    hubot merge-request list
    
    hubot:
    @sdepold Searching for merge requests ...
    
    hubot:
    group/project-1
    ---------------
    54 » opened » unassigned » Something awesome
    65 » opened » sdepold » Pretty important change
    82 » opened » someone » API extension
    
    group/project-2
    ---------------
    2 » opened » unassigned » Fix for ticket #1234
    

    Assigning merge requests:

    sdepold:
    hubot merge-request assign group/project-1 54
    
    hubot:
    @sdepold Assigning merge request #54 of group/project-1 ...
    
    hubot:
    Successfully assigned the merge request 'Something awesome' to mr-super-duper.
    

    Running the tests

    npm install
    npm test
    

    Development notes

    In order to improve the plugin, it is quite handy to npm link the plugin into your hubot instance. It's as easy as this:

    # In the plugin directory:
    npm link
    
    # In the hubot directory:
    npm link hubot-pull-request
    

    Install

    npm i hubot-pull-request

    DownloadsWeekly Downloads

    0

    Version

    0.5.0

    License

    MIT

    Last publish

    Collaborators

    • sdepold