Skip to content

Improve the feedback loop between pull requests authors and teams reviewers using Slack.

License

Notifications You must be signed in to change notification settings

SamirBoulil/slub

Repository files navigation

Build Status Maintainability Test Coverage FOSSA Status

tldr;

  • If you found a bug, open an issue ticket here.

  • Put your PR to review in Slack py posting a slack message having one of the following structure:

      Slub user: ... TR ... {PR link} ...
      Slub user: ... review ... {PR link} ...
      Slub user: ... PR ... {PR link} ...
    
  • Unpublish a PR from the reminders by mentioning @Yeee:

      @Yeee unpublish {Link of the Github PR}
    

Welcome to Slub

Slub improves the feedback loop of your pull requests (PRs) within your team.

The name Slub comes from the contraction of Slack & Github: Sl (ack+gith) ub.

Yeee is the name of the bot in your slack team.

Yeee

Found a bug ?

You can open a new issue in the issue's repository section.

The project

This project has been designed and first put in production in march 2019. It is currently maintained by Samir Boulil.

Release notes

Each new version of Slub comes with a new set of features and bug fixes.

Find the published release notes below:

Features

Slub improves the feedback loop of your PRs in multiple ways:

  • it notifies the author of a pull request when a PR is reviewed by a teammate.
  • ot notifies the author of a PR when the continuous integration (CI) status changes.
  • it keeps the team up to date regarding the number of approvals a PR has, it's CI status, and the PR status.
  • it sends daily reminders to your team regarding the PRs missing reviews.
  • it notifies the author of a pull request when a PR is too large (800 Loc by default, you can change this value in the .env with PR_SIZE_LIMIT).

How to use

Slub listens to any PR sent to review in a slack channel which slub is configured to listen to.

Once Slub hears a PR to review, it will start keeping track of some information like:

  • The number of comments (GTMS, Refused and simple comments)
  • The CI status (Green, Red, or Pending)
  • The PR status (open, closed, or merged)

Any message having the following structure can be tracked by @Yeee

Slub user: ... TR ... {PR link} ...
Slub user: ... review ... {PR link} ...
Slub user: ... PR ... {PR link} ...

Notifications

Whenever a new change happens to a PR, Slub will notify the author and/or the squad of the change using Slack.

Notifying the author

Notify author

Author notifications such as “Your PR has been commented” will be sent to Slack in the thread where the PR link was sent (hence, only the author is notified that a new message was sent in a thread).

  • The author is notified whenever a review is added to the PR
  • The CI status changes

Notifying the squad

The squad is not notified per say, but it can follow the PR statuses by looking at the emojis added to the PR link.

Notify squad

The squad can directly see:

  • The number of GTMS the PR currently has

Number of GTMs

  • The CI status (pending, red or green)

CI statuses

  • When the PR is merged

PR merged

The team can then quickly see at a glance the PRs that needs review from those being already merged.

Reminders

A reminder is a synthesized list of all the PRs that are to review in a channel and that do not have 2 GTMs yet.

Remind me!

It is published once a day around 9:30 AM (GMT+1) in this form:

Reminders

When available you get the following information for one PR to review:

  • The author of the PR
  • The title of the PR
  • How many days it has been put to review
  • The PR link

Unpublishing

If you have put a PR to review, had some comments back and need to rework on it. You might want to remove this PR from the daily reminder. That’s what “unpublishing a PR” is all about.

The way you unpublish a PR from the reminder is by telling Slub in the following way:

    @Yeee unpublish {Link of the Github PR}

In this example, the slub bot name is @Yeee

Unpublishing reminders

About

Improve the feedback loop between pull requests authors and teams reviewers using Slack.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages