2017-09-12 9 views
1

私はコードレビューを5〜6人のgerritインスタンスに公開しているので、人にレビューを実行するよう通知することを忘れるほど頻繁に起こり、誰もが知っているように、古いCRも時代遅れになり、失われたGerritリマインダーボットを作るにはどうすればいいですか?

私はgerrit-reminder-botと書くことを計画しています。あなたが開いたレビューのためにすべてのgerritサーバーに照会し、年齢とステータス(票なしと否定投票なし)を確認し、各レビューアに電子メールを送信します。

ここで問題になっているのは、すでに改善しているか出発点として使用できるようなものが既にあるかどうかです。

ストリーミングレビューのリマインダ通知を送信し、ストールしたレビューが通知を受け取っていないため、gerritイベントストリームを使用することは無意味です。

答えて

1

私たちはGerrit-queryを実行し、(JSON)結果を解析するスクリプトを社内ソリューション(
)と一緒に使いました。

基本フロー

  1. 定義:のすべてのリストを取得(「最終更新」時間の点で)、
    あなたが開始する前に、しつこい人
  2. 「古い」です何歳
    ssh -p $gerritPort $gerritHost gerrit query --format=JSON --current-patch-set limit:$queryLimit status:open
    ノート -
      :JSONとして - 我々の場合には - ヘリット・変更を開きます
    • 結果の各行は、独自
    • 要約行に構文解析されるべき「ミニJSON」は、異なる形式を有する - 各行
        ためにそれを完全に
    • を無視することができ
    • 「十分に古い」のキー/値のペアを
    • ていない場合は取得するためにJSONをパース - スキップすること
    • if (Verify < +1) - >「ビルドを修正し忘れた」
    • else-if (CodeReview < +2)は - >
    • else-if (CodeReview == +2 and Verify == +1)「良い評価を取得するために忘れた」 - >
      と、私たちはケースを説明し、わずかに異なるメールを送信する各シナリオについて

「を提出し忘れました」関連するGerrit-changeへのリンク。
メールは、所有者が休暇中(または、左)のケースをカバーするために、オーナーとレビューア(CC)の
の両方に送信されます。

+0

共有するものは何ですか? gerrit-facilitator-botを作成する時間: – sorin

+0

(青写真を追加しました) – Gonen

関連する問題