logo

PR Assigner

A Swift AWS Lambda to automatically assign engineers to pull requests with a Slack integration.

Features

🙅

Never drop a Slack message with @here to ask for a review again

🚀

Runs using Swift AWS Lambda (no CI involved)

👤

Selects n engineers randomly to assign to the PR
🤙🏻 Skips engineers with a custom status on Slack (ex. 🤒 sick, 🌴 on holiday , 📚 training day)

💬

Posts a message on a Slack room tagging assigned engineers

🔒

CODEOWNERS is fully supported and they will be tagged on Slack

You can still manually assign PRs and PR Assigner will just add who is missing to the party

Requirements

  • Install Docker
  • Xcode 12.3+
  • Swift 5.3+

Getting started

To setup PR Assigner in your repo, you need:

  • A list of engineers that can’t wait to review PRs!
  • A GitHub repo where you have admin permissions (you’ll need to setup a hook).
  • An AWS environment where you’ll deploy PR Assigner as a lambda.
  • A Slack app approved in your workspace with chat:write and users:read scopes.
  • A Slack channel where your Slack app and engineers are part of.

For more info on how to setup PR Assigner in your repos, you can head over to our documentation.

Installation

$ git clone https://github.com/justeat/PRAssigner.git
$ cd PRAssigner/
  • Store your AWS credentials in a .credz file

<div class="snippet-clipboard-content position-relative" data-snippet-clipboard-copy-content="export AWS_SECRET_ACCESS_KEY=
export AWS_ACCESS_KEY_ID=
export AWS_DEFAULT_REGION=
“>

export AWS_SECRET_ACCESS_KEY=
export AWS_ACCESS_KEY_ID=
export AWS_DEFAULT_REGION=