#cli #github #issue #extend #experience #operation #tool

app renote

renote, a complementary tool to use with gh to extend GitHub operation experience

1 unstable release

0.1.1 Apr 21, 2021

#21 in #experience

Custom license

52KB
1K SLoC

What's Renote

Renote is a CLI to extend GitHub operation experience, which is a complementary tool to use with gh GitHub’s official command line tool.

  • Create a release note of issues from the latest release by advanced search options
  • Add or remove labels of issues by advanced search options
  • Add or remove issues to/from a milestone by advanced search options
  • Search issues by advance search options

Getting Started

Prerequisites

The GitHub credential is necessary, please refer to how to create a personal access token.

Installation

You can use huber to install renote or download the released binary directly.

 huber install renote
Updating managed repos
Updating unmanaged repos
Installing renote
Downloading package artifacts from github "https://github.com/ecatlabs/renote"
Setting renote (version: v0.1.0, source: github) as the current package
Installed executables:
 - /home/davidko/.huber/bin/renote
renote (version: v0.1.0, source: github) installed

 renote -V
renote v0.1.0 Commit: 261b21e-20210419081458

Tutorials

Create a release note config

Need to create a release note config, then update and save to a file which will be used for the note creation.

 renote note config
---
owner: ""
repo: ""
token: ""
state: ""
note: ~
milestone: ~
show_contributor: false
extra_contributors: ~
exclude_issues: ~
sort: ~
labels: ~
any_labels: ~
exclude_labels: ~
highlight_labels:
  - label: ""
    title: ~
    description: ~

Example

---
owner: longhorn
repo: longhorn
token: ""
state: closed        # open, closed, all
note: >-             # string or file path
  ## Release Note
  {content}

milestone: v1.1.1
show_contributor: true
extra_contributors:
  - innobead
exclude_issues:
  - 304
sort: asc            # asc, desc
labels: []
any_labels: []
exclude_labels:
  - wontfix
highlight_labels:
  - label: highlight
    title: Highlights
    description: ~

Create a release note

Based on the note config file, you can search issues matching the release scope like milestone, issue filters, etc. Also, the note can be customized by the Markdown content or file where {content} inside will be replaced by the generated note.

 renote note create --config ./examples/note_config.yaml
...

The note configuration of the note config file to extend the generated note.

note: >- # or file path
  ## Release Note
  {content}

Search issues

Search issues by the advanced query, and the output can be in different formats (console, JSON, YAML).

 renote issue search -o longhorn -r longhorn -q "label:kind/upstream-issue"
 Url                                                         Title 
 https://api.github.com/repos/longhorn/longhorn/issues/2106  [BUG] Recurring backup job stuck on K8s 1.19.4 if volume is attached to the same node and powered do... 
 https://api.github.com/repos/longhorn/longhorn/issues/2062  [BUG] The feature Pod Deletion Policy When Node is Down doesn't work on Kubernetes >= v1.19.0 

Add labels to issues

 renote issue add-label -o longhorn -r longhorn -q "label:kind/upstream-issue" --labels "kind/extra-label"
...

Remove labels from issues

 renote issue remove-label -o longhorn -r longhorn -q "label:kind/upstream-issue" --labels "kind/extra-label"
...

Move issues to a milestone

 renote issue assign-milestone -o longhorn -r longhorn -q "label:kind/upstream-issue" next-milestone
...

Dependencies

~26–41MB
~762K SLoC