DEV Community

Alex White
Alex White

Posted on

WatchDog - new must have Tool for GitHub/GitLab

WatchDog - tool for GitHub and GitLab to keep Repositories/Projects you are interested in and their Pull/Merge Requests in your desktop Tray Menu.

First look

Thanks to this tool you will be able to:

  • see all your PRs and PRs where your review is requested in one place
  • open needed repository or PR just in two clicks

WatchDog can be useful for you if:

  • you are working in a big team
  • you are working in several teams or organizations in same time
  • project code consists of many repositories
  • every day you receive a lot of PRs(some of them are long playing and it's hard to keep attention)
  • you would like to have ability to open favorite(or needed for work) repositories in two clicks

Functionality

After you launch app you see app icon in tray.
On icon click will be opened pop up window with main menu.

Main Menu

Main menu contains navigation panel between organizations(you will provide in config file) and list of repositories(also configurable) in this organization you are interested in.

Repositories

By clicking on repository name your open it's GitHub/GitLab page in Browser.
In case if there are opened Pull Requests in repository you see their number in this format:
(approved PRs/total opened PRs in repository) repository-name

approved PRs/total opened PRs in repository) repository-name

Notice: PR is approved = at least one approval review

Pull Requests

On mouse hover on repository name you see all opened PRs in this repository.

Pull Requests

For each PR provides next info:

  • PR title and author
  • Number of approval requests
  • Resolved Discussions count/Total Discussions count
  • Time and Date of last update

By clicking on pull request card your open it's GitHub/GitLab page in Browser.

If you have approved PR you will see '✓' near PR title or '👁' if you leave at least one comment and haven't received answer yet(code review without approve)

Notice: you don't see next PRs in this list:

  • drafts
  • Bump Bot PRs
  • you are not author or reviewer of pull request

Refreshing and Icon color

Data is re-fetched every 5 minutes using GitHub/GitLab API to keep information up to date.

By default icon color is black. But if there is at least one PR not approved(at least one approval review) and you haven't reviewed it(or reviewed but already received answers from PR's author) icon color will be changed to blue.

So if you take a look on icon and it's blue - it means at least one PR needs your attention.

After all PRs become approved(or closed) icon color will be settled back to black.

You can temporally pause/resume refreshing using button in the top right corner. For example: on weekends to don't quit app at all.

Future features

  • Dialog Window with CRUD operations on organizations/repositories list (now user need to use text editor to fill in config file to provide list of organizations and repositories)
  • Notifications (notify user about events on GitHub/GitLab)

Used Technologies

Electron + Vue.js, Jest, GitHub Actions

In conclusion

I will be very happy if this tool become useful for DEV community in everyday programming activity and you provide feedback or decide to take a part in app development :)

If you are already interested in and you work on Linux - you can join to our team and help with implementation App support for Linux platforms.

Official page(download links and more info): https://alexwhitecorp.github.io/watchdog
Project repository:
https://github.com/AlexWhiteCorp/watchdog

Hit the ⭐ button if you found this useful.

Top comments (0)