github-sprinter icon indicating copy to clipboard operation
github-sprinter copied to clipboard

CLI managing GitHub milestones as sprints

github-sprinter

Go Report Card CodeFactor Codacy Badge MIT

CLI managing GitHub milestones as sprints with YAML file.
Strongly inspired by b4b4r07/github-labeler.

screenshot

Installation

$ go get -u github.com/micnncim/github-sprinter/cmd/github-sprinter

Usage

$ github-sprinter

Specify manifest (default=sprint.yaml).

$ github-sprinter -manifest manifest.yaml

Support dry-run.

$ github-sprinter -dry-run

Update (including deletion) available.
If not specify -update, github-sprinter will not delete any milestone and will create some milestones. Even though github-sprinter deletes some milestones, only open milestones will deleted.

$ github-sprinter -update

Manifest example

sprint:
  title_format: Sprint {{ .SID }} ({{ .StartOn }}-{{ .DueOn }})
  duration: 168h # 1 week (24h * 7d = 168h)
  terms:
    - start_on: 2019/04/01
      due_on: 2020/03/31
    - start_on: 2020/04/01
      due_on: 2021/03/31
  ignore:
    terms:
      - start_on: 2019/08/01
        due_on: 2019/08/14
      - start_on: 2019/12/27
        due_on: 2020/01/01
    edge_weekdays:
      - Saturday
      - Sunday

repos:
  - name: micnncim/github-sprinter

Use case

-update

  • Change duration of each sprint

Change sprint.duration (sprint.title_format sprint.terms sprint.ignore)
:warning: This operation DELETEs all open milestone once and creates new milestones (it means the links between milestones and issues will be removed)

sprint:
- duration: 168h # 1 week (24h * 7d = 168h)
+ duration: 120h # 5 days (24h * 5d = 120h)
  • Remove all milestones from some repository

Remove all sprint.terms and stay repos.name

sprint:
  terms:
-    - start_on: 2019/04/01
-      due_on: 2020/03/31
-    - start_on: 2020/04/01
-      due_on: 2021/03/31

repos:
  - name: micnncim/github-sprinter
  • Add repository for the existing milestones

Remove the repositories where you don't want to change anything and add the repositories you want

repos:
- - name: micnncim/github-sprinter-1
- - name: micnncim/github-sprinter-2
+ - name: micnncim/github-sprinter-3

LICENSE

MIT