https://github.com/micnncim/github-sprinter
CLI managing GitHub milestones as sprints
https://github.com/micnncim/github-sprinter
Last synced: 2 months ago
JSON representation
CLI managing GitHub milestones as sprints
- Host: GitHub
- URL: https://github.com/micnncim/github-sprinter
- Owner: micnncim
- License: mit
- Created: 2019-02-15T09:29:16.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-02-23T23:38:29.000Z (over 2 years ago)
- Last Synced: 2024-06-20T16:47:33.614Z (about 1 year ago)
- Language: Go
- Homepage:
- Size: 293 KB
- Stars: 17
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# github-sprinter
[](https://goreportcard.com/report/github.com/micnncim/github-sprinter)
[](https://www.codefactor.io/repository/github/micnncim/github-sprinter)
[](https://www.codacy.com/app/micnncim/github-sprinter?utm_source=github.com&utm_medium=referral&utm_content=micnncim/github-sprinter&utm_campaign=Badge_Grade)
[](./LICENSE)CLI managing GitHub milestones as sprints with YAML file.
Strongly inspired by [b4b4r07/github-labeler](https://github.com/b4b4r07/github-labeler).
## 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
```yaml
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
- Sundayrepos:
- 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 **DELETE**s all open milestone once and creates new milestones (it means the links between milestones and issues will be removed)```diff
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`
```diff
sprint:
terms:
- - start_on: 2019/04/01
- due_on: 2020/03/31
- - start_on: 2020/04/01
- due_on: 2021/03/31repos:
- 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
```diff
repos:
- - name: micnncim/github-sprinter-1
- - name: micnncim/github-sprinter-2
+ - name: micnncim/github-sprinter-3
```## LICENSE
[MIT](./MIT)