かまてく ブログ

今日の努力は、明日の経験! - Kamakura Shinsho Engineer Blog

Bookmarkletを使ってGithubのreviewersの入力をヘルプする

みなさん、こんにちは。夏休みの宿題は最後にまとめてやる派の田中です。

今日は、GithubのPullRequest(以下PRと略す)を出すときに、reviewsを毎回指定するのが面倒な人向けに 少しばかり楽に通知設定するBookmarkletを紹介します。

まず、Bookmarkletとは…

Webブラウザで処理を行う簡易的なプログラムのことで、ブックマークなどから起動して任意の処理を動かすものです。

GithubにはPRを出して他の開発者に変更分を通知する機能があります。 ソースコード等のレビュー依頼を出すことが出来ます。便利ですね。

この通知先メンバーが複数いる場合、それらをグループ化してまとめておける機能があるとよいのですが、 今の所そのような機能が用意されていないため、PRごとに毎回ポチポチとユーザを選択する必要があります。面倒くさいですね。

そこで、Bookmarkletを使って通知するユーザを予め登録しておくことで 漏れなく、間違いなく、そして効率よくPRを出すことができます。

では手順です。

1. Bookmarklet用のJavaScriptを用意します。

users変数に通知するユーザ名を設定して、ソースコードをBookmarkすれば完成です。

javascript:{
  var tags = document.getElementsByTagName('summary');
  var fire = false;
  window.document.onkeydown = function (e) {
    if (e.key === "q") {
      var users = [
        "review1",
        "review2",
        "review3",
        "review4",
        "review5"
      ];
      setTimeout(function () {
        var elements = document.getElementsByClassName("js-username");
        var elm = null;
        var evetn = null;
        var username = null;
        for (i = 0; i < elements.length; i++) {
          elm = elements[i];
          usrename = elm.innerHTML;
          if (users.indexOf(usrename) >= 0) {
            var event = new MouseEvent("click");
            elm.dispatchEvent(event);
            elm.click()
          }
        }
      }, 1000)
    }
  };
  for (i = 0; i < tags.length; i++) {
    var hotkey = tags[i].getAttribute("data-hotkey");
    if (hotkey === "q") {
      document.dispatchEvent(
        new KeyboardEvent("keydown", {key: "q"}));
      break
    }
  }
}
;void (0);
2. GithubのPR画面(reviews指定のある画面)を表示します。

f:id:tanaka-satoshi-ks:20190510140018p:plain
reviews

3. 登録したBookmarkletを選択します。

f:id:tanaka-satoshi-ks:20190510140127p:plain
bookmarklet

4. 指定したメンバーが選択されます。

f:id:tanaka-satoshi-ks:20190510140052p:plain
finish

本の少し手を煩わせなくなるだけですが、ご利用ください。

鎌倉新書では正社員を積極採用しています!

(WEBデザイナー)デザインからコンセプト設計まで■賞与実績4ヶ月分■

仕事内容 【仕事内容】 ■ポータルサイト(お墓・葬儀・仏壇)のWebサイト構築のためのWebデザインの設計からコーディング業務まで担って頂きます。 特に事業側のコンセプトを理解しながら、LPやサイトのデザイン設計を提案できる方を求めています。 【提供できる価値・経験】 ■細かく数字を見て、サービスをグロースさせていく経験 1週間単位でスプリントを組んで、数多くの機能をリリースさせていく開発プロセスを導入しています。 数多くのトライ&エラーを行い、きっちり効果を分析していくことで、サービスを着実に成長させるプロセスが身につきます。 また、事業側のWebディレクターとも密にコミュニケーションを取りながら、事業会社ならではの一体感を持ったクリエイティブワークを実践しています。 ■今後大きく成長するマーケットにおけるサービス開発に携わることができる経験 世界一の高齢化社会である日本においてライフエンディング業界は大きなポテンシャルを持っています。 その業界に必要なサービスを提供することで、大きなユーザーの需要を満たすサービスを提供するやりがいと経験を得ることができます。 また、今の日本社会で必要とされているサービスを提供しているという社会貢献も大きなやりがいとして持つことができます。 【デザインの特徴】 ■企画構想段階から関わり、ユーザー視点に立ったUIの設計、ビジュアルデザイン ■色彩学、構成学、視覚生理学などの知識を生かしたデザイン ■プロジェクトの成功に貢献するデザイン(目的を本質的に達成するデザイン) ■問題点や課題、目的をしっかり理解し、解決するデザイン 応募資格 【必須(MUST)】 ■Webサービスのデザイン・コーディング経験 ■WebサービスやスマートフォンアプリのUI・情報設計の経験 ■Photoshop、Illustratorなどの画像処理ソフトを使用したビジュアルデザイン業務 【歓迎(WANT)】 ■情報の可視化 ■部分遷移、画面遷移を含むプロトタイプ構築経験 ■デザインコンセプトの言語化 ■ユーザー体験の設計業務 ■デザインのトーン&マナー設計 ■プロダクト改善経験 ▼求める人物像 ・自発的に施策を立案・実行できるマインドを持つ方 ・成長環境の中で自分を試してみたい方 ・数字の分析に強い方 ・コミュニケーション能力 ・課題発見力、解決力 続きを見る