Giter VIP home page Giter VIP logo

gh-daily-spam's Introduction

gh-daily-spam

This is a small and ugly Python CLI tool to review and, approve or comment, Github pull requests from a single repo.

Why? Because GH notifications could be overwhelming and you would like to review few specific PRs with more attention. Also default messages and "approval by single <enter> key" will save you a bunch of time.

Contributing

PRs are more than welcome. Color schema, filters, GH API usage, user interaction, tests coverage, ... everything can be improved. Any big feature (like showing the diff at the terminal) should probably be better under a feature flag. As tool is working fine for me, if you are considering adding any code, contact me anyhow so we avoid conflicts (or developing the same fix/feature).

How to run

First things first: edit your config.json file with your customizations

Then you just need to download the dependencies (consider using a virtualenv) and run the tool:

python gh-daily-spam.py

You can <CONTROL>+c at any time, CLI should exit, most of the times, in a exception-less way.

image

image

Current workflow

  • Tool retrieves PRs from the last week (depending on filters available)
  • Then iterates over every one of all those PRs:
    • Show PR info and asks if you want to open it at your default browser
    • If affirmative you should be able to review it at your browser and Approve/Comment/Skip the PR
    • For approval and comment you will be asked for default comment or custom one

No info is stored (beyond your own config.json) so do not expect any magic with the skip option.

Filters

Current MVP has hardcoded at filter_methods.py those filters that were useful to the author. Feel free to edit that file (it should be pretty straighforward) commenting the dict we are iterating at or changing/adding methods. After updating this readme, next task is to describe the desired filters at the config.json file.

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.