Skip to content

Applies labels to Pull Requests based on the total lines of code changed.

License

Notifications You must be signed in to change notification settings

kiranpandit/pull-request-size

 
 

Repository files navigation

Pull Request Size

License: MIT

Pull Request Size is a GitHub App that applies size/* labels to Pull Requests based on the total lines of code changed (additions and deletions).

screen shot 2018-11-01 at 10 42 27 am

Install

👉 Install via GitHub marketplace 🌟


If you'd like to host it yourself, see the Github docs on how to create a GitHub application.

If hosting yourself, you'll need the app to request these permissions:

Repository Permisions: metadata:read-only, pull-request:read-write, single-file:read (.gitattributes, .github/labels.yml)

Subscribe to events: Pull Requests

Sizing

Name Description
size/XS Denotes a PR that changes 0-9 lines.
size/S Denotes a PR that changes 10-29 lines.
size/M Denotes a PR that changes 30-99 lines.
size/L Denotes a PR that changes 100-499 lines.
size/XL Denotes a PR that changes 500-999 lines.
size/XXL Denotes a PR that changes 1000+ lines.

Pull Request Size calculates the size of a PR as

total additions + total deletions - (all generated¹ file additions/deletions)

¹ A generated file is either one of the standard generated files as defined in noqcks/generated or defined with linguist-generated=true in a .gitattributes file.

Excluding Files

If you have files that you would not like to be included in the calculation for a Pull Request's size, you can modify the .gitattributes file with the flag linguist-generated=true on your file or file pattern.

For example to mark all .meta files as generated, add this line to .gitattributes

*.meta linguist-generated=true

A .gitattributes file uses the same rules for matching as .gitignore files. See GitHub documenation on the linguist-generated flag for more info.

Custom Labels

You can set custom label names and colors by checking in the file .github/labels.yml to every repository you'd like to customize

XS:
  name: size/XS
  lines: 0
  color: 3CBF00
S:
  name: size/S
  lines: 10
  color: 5D9801
M:
  name: size/M
  lines: 30
  color: 7F7203
L:
  name: size/L
  lines: 100
  color: A14C05
XL:
  name: size/XL
  lines: 500
  color: C32607
XXL:
  name: size/XXL
  lines: 1000
  color: E50009

Setup

This GitHub app runs on probot. It makes it very easy to create new GitHub apps. If you want to run or develop pull-request-size just follow the commands below. hit localhost:3000, and follow the probot instructions.

# Install dependencies
npm install

# Run the bot
npm start

License

MIT © 2021 Benji Visser [email protected]

About

Applies labels to Pull Requests based on the total lines of code changed.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 99.6%
  • Shell 0.4%