Help us understand the problem. What is going on with this article?

GitHub の issue の中で指定したラベルが付いているものをリストアップして Markdown に整形するアプリ

More than 3 years have passed since last update.

自作ツールの紹介です。

作ったもの

GitHub で管理している任意のリポジトリにある issue の中で指定したラベルが付いているものだけをリストアップして Markdown に整形するデスクトップアプリを作りました。

Raccoon といいます。

raccoon.png

フォームに入力した内容は次回起動時に復元されるので微妙に便利です。

モチベーション

弊社は GitHub の issue で課題管理をしているのですが、時々特定のラベルがついた issue だけをリストアップしたくなります。

例えば "バグ" というラベルがついたものだけをリストアップしてユーザーに公開したい場合とかです。 ウェブに公開するので Markdown とかで生成されるとなお良しです。

こういったことをするために簡単に GitHub の issue で特定のラベルがついたものをリストアップしてウェブに公開できるツールが欲しくなったので作ったというわけです。

設計思想

  • コマンドラインツールに慣れてない人でも使えるようにデスクトップアプリを作る
  • 自動化にも使えたら便利だからコマンドラインツールも作る
  • デスクトップアプリを簡単に作りたかったので Electron を使う
  • HTML を生成するのはめんどいから Markdown を生成

大事にしたいのは誰でも使えるように作ることです。

既知の不具合ページなどはユーザーサポート部門の人が更新作業を行ったりしますが、多くの場合そういった部門の人はプログラマの様にコマンドラインツールに慣れていません。

しかしデスクトップアプリだけだと自動化に向きません。

なのでコマンドラインツール + デスクトップアプリという構成で作りたいと思います。

ただし、同じ機能を持ったものを2つ作るのは面倒なので、単純な機能を持ったコマンドラインツールを作って、そのフロントエンドとしてデスクトップアプリがいるという構成にします。

デスクトップアプリがコマンドラインツールを実行して結果を表示するみたいな考え方です。

使った技術

Electron

最近話題のやつ。 マジ便利。

http://electron.atom.io/

package.json に以下のように書くと electron がインストールされてない環境でも npm start するだけで起動できて便利です。

package.json
{
  "scripts": {
    "start": "electron main.js"
  },
  "devDependencies": {
    "electron-prebuilt": "^0.35.0"
  }
}

全体像はソースコード見てください。

highlight.js

https://highlightjs.org/

シンタックスハイライトする奴。 markdown のシンタックスハイライトに使っています。

npm で入れて electron の環境で使う場合は レンダラープロセスの方で const hljs = require("highlight.js"); ってやらないとうまく動作しません。

npm で入れた場合に <script src="note_modules/path/to/highlight.js"></script> 的なことを html の方に書いても色々ロードする処理が index.js の方に書いてあるのでうまく動作しません。

アホなので3時間ぐらい悩みました。

全体像はソースコード見てください。

やりたいこと

より簡単に使用するために GitHub の API Token を GitHub の設定画面に行かなくても作れるようにするための便利ツールを作ればこのツール群は完成です。

作ったら更新します。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away