#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

#25 in #experience

Custom license


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


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


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


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: ~
  - label: ""
    title: ~
    description: ~


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

milestone: v1.1.1
show_contributor: true
  - innobead
  - 304
sort: asc            # asc, desc
labels: []
any_labels: []
  - wontfix
  - 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

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


~759K SLoC