Giter VIP home page Giter VIP logo

mighty-watcher's Introduction

Codacy grade Codecov Travis (.org) GitHub Docker Pulls

Mighty Watcher

Finds issues available for contributing, based on repositories you starred

Table of contents

Search criteria

  • Non-assigned
  • Open
  • Was updated less than N days ago(configurable, see how-to)
  • Labeled as help wanted or similar, all labels can be found here
  • Starred by account, which issued API access token. If you are lacking starred repositories, there are some advices here

How to use

  • Install Docker
  • Obtain github API access token. You could generate it by going to your GitHub personal access tokens page. Mighty Watcher requires no scopes. I'd recommend you to put API token in env variable (e.g. MIGHTY_WATCHER_GITHUB_TOKEN) rather than passing it around everytime.
  • Set environment variables in docker run command:
name description required default behaviour
TOKEN GitHub API access token ✔️
INCLUDE Comma-separated language names(in lower case) to be included, nb only main language counts ✖️ include all languages
DAYS Days since last issue update to be included ✖️ 90
PARALLELISM Parallelism level for fetching data from github, more details below ✖️ 10
EXCLUDE Comma-separated repositories to be excluded from search, following $repo/$name template, e.g. IgorPerikov/mighty-watcher ✖️ none will be excluded
  • Launch Docker container from terminal:
  docker pull igorperikov/mighty-watcher:latest
  docker run -e TOKEN=$MIGHTY_WATCHER_GITHUB_TOKEN --rm igorperikov/mighty-watcher:latest

Privacy policy

I do not track a thing about you. Your api token in absolute safety - you can check this by codebase or by tcpdumping the outcome traffic - application will communicate only with github api server via https. The only thing I can see is amount of docker image pulls (not runs!), it is provided by docker hub

Lacking starred repositories?

Limitations

Github rate limiting

Github lets you make up to 5000 API calls per hour and I am limiting amount of processed repositories to 1000. So if you have more than 1000 starred repositories you should split requests by 1 language via INCLUDE variable to fit into limits. If you have more than that or still hitting some limits - please contact me, I haven't thought about it thoroughly.

Api abuse detection

PARALLELISM variable defines amount of threads to use to fetch data from Github. If you're hitting some limits, set lower amount and try again in a few minutes. You can increase this value too if no error occurs to get results faster, but chances are high that you will trigger api abuse mechanisms. I warned you ⚠️

Contribution

How to build

Kotlin style guide is predefined Kotlin style guide from Intellij Idea settings.

Unit testing

  • ./gradlew clean test

E2E testing

  • Build new docker image locally docker build -t igorperikov/mighty-watcher:local .
  • Launch it via docker command

Issues labeling

  • Contribute your own labels, if list misses any
  • Put labels on issues in your repositories if you want to get some help
  • Spread the word!

Roadmap

Contact me

For general feedback please proceed to the feedback issue. If something doesn't work as expected or you have a feature request - don't hesitate to create new issue

mighty-watcher's People

Contributors

igorperikov avatar justprv avatar bvc3at avatar mysterionrise avatar f1nzer avatar

Watchers

James Cloos avatar

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.