Git Product home page Git Product logo

pouch's Introduction

pouchrobot

License GoDoc Go Report Card

pouchrobot is a cute robot to help collaboration in project Pouch become better. Also there is a GitHub user pouchrobot who is the exact instance of project pouchrobot.

Everyone knows that collaboration of a software project is quite trivial, repeated and time-costing. If owner of a project needs to guarantee the efficiency of development and testing, or releasing, he must invest some human resources there. However, if a robot could do him a favor to automatically handle collaborating affairs, it could bring lots of convenience.

Features

pouchrobot could help finish lots of work in open source project on GitHub:

  • triage newly created issue into catagories by attaching labels;
  • triage newly submitted pull request into catagories by attaching labels;
  • auto generate weekly report for project;
  • auto generate api and commandline document;
  • notice pull request submitter continuous integration failure via comments from TravisCI and CircleCI(TODO)
  • notice pull request submitter to take a rebase action since too old to the master branch;
  • notice pull request submitter pull request conflict when a conflicting pull request merged into master branch;
  • automatically merge pull request when it meets the condition (TODO);
  • support retest pull request according maintainer's order (TODO);

Architecture

pouchrobot acts as a daemon process on a third-party public cloud. When running, it would have three kinds of API communication:

  • receive github webhook of project Pouch when events happen;
  • receive CI system webhooks, like travisCI and circleCI;
  • fetch and deal with object on project Pouch, like issue, pull request, comments and so so;

Here is the simple communication architecture of pouchrobot:

Communication Architecture

Quick Start

pouchrobot is totally fitable in running a container. In this repo, we can find a Dockerfile to build the corresponding image. When finishing the building, the following command could help to setup a brand new robot:

pouch run -d -v /root/newssh:/root/.ssh -p 6789:6789 pouchrobot:v1.0 pouchrobot -o alibaba -r pouch -l 0.0.0.0:6789 --token TOKEN

In which TOKEN is a github token for a specific user.

Participating

You can contribute to pouchrobot in several different ways:

  • To report a problem or request a feature, please feel free to file an issue.
  • Of course, we welcome pull requests and patches. Setting up a local pouchrobot development environment and submitting PRs.

Copyright and License

Copyright © 2017. All rights reserved

pouch's People

Contributors

ace-tang avatar allencloud avatar chuanchang avatar codejuan avatar dewey-ding avatar faycheng avatar fengzixu avatar frank-zsy avatar fuweid avatar houstar avatar husterwan avatar idealhack avatar letty5411 avatar mathspanda avatar pouchrobot avatar rudyfly avatar shaloulcy avatar skoowoo avatar starnop avatar sunyuan3 avatar wangforthinker avatar xiaoxubeii avatar xiechengsheng avatar yaozengzeng avatar yyb196 avatar zeppp avatar zhuangqh avatar zjumoon01 avatar zourui89 avatar zzchun avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

thusihaveheard

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.