Skip to content

Instantly share code, notes, and snippets.

@webmozart
Last active August 29, 2015 14:23
Show Gist options
  • Save webmozart/4369ec15c31640309e8f to your computer and use it in GitHub Desktop.
Save webmozart/4369ec15c31640309e8f to your computer and use it in GitHub Desktop.
Issue Bot Requirements

Symfony Issue Bot - Requirements

Step 1

PRs

  • add label "Status: Needs Review" to new PRs

All

  • change ticket state (i.e. add new state label and remove old state label) when the comment includes the line Status: <state> (case insensitive, regardless of formatting with *):
    • "Needs Review"
    • "Needs Work"
    • "Works for me"
    • "Reviewed"
    • "Ready" (can only be assigned by core team)

Step 2

  • add label "Status: Needs Review" when an issue is labeled "Bug"

  • prevent authors of issues/PRs to change the status of their own PRs to anything else but "Needs Review" (exception: core team)

Step 3

  • add component labels to new PRs based on the modified files

  • fix prefix of PR titles: add "[Component]" prefix for each component label, remove any other prefixes ("[WIP]", "[2.8]", ...). The prefixes are important as - unlike labels - they show up in the Git history.

  • set milestone automatically depending on the base branch

Step 4

  • add a very simple interface using GitHub Auth where users can subscribe to notifications of different types:

    • issue/PR enters state "Needs Review" + optional filter by component(s) (target audience: Community Reviewers)
    • issue/PR enters state "Reviewed" + optional filter by component(s) (target audience: component maintainers)
    • PR enters state "Ready" (target audience: deciders)
  • send notifications to subscribed users

Step 5

  • store the number of reviews per user. Whenever a user switches an issue/PR to state "Reviewed", add a point.

  • add SensioLabs badges for certain point levels (e.g. 10, 25, 50, 100, 200, 500...)

  • list top reviewers for certain periods (last week, last month, last year, all time)

  • add possibility to disable point counting for specific users (protection from fake reviews)

  • include reviewer ranking on http://symfony.com/contributors

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment