Skip to content
This repository has been archived by the owner on Jul 21, 2024. It is now read-only.
/ GerritJarvis Public archive
forked from joeshang/GerritJarvis

A mac app which for event notification of gerrit code review

License

Notifications You must be signed in to change notification settings

highestop/GerritJarvis

 
 

Repository files navigation

GerritJarvis

GerritJarvis 是一个由 Swift 语言(5.0)编写的 Mac App,主要用于 Gerrit Code Review 的事件通知。

痛点

在使用 Gerrit 进行 Code Review 时,经常会出现不及时看 Review,不知道有人 Vote/Comment 以及回复了 Comment,不知道自己的 Commit 已经 Conflict,需要自己不断地手动打开 Gerrit,查看状态。

为了解决这种低效率的情况,需要有一个在相关事件发生变化时能够主动通知的机制,GerritJarvis 为了解决这个问题而生。为什么叫 Jarvis 呢?名字源于 Iron Man 中 Tony Stark 的人工智能助理 Jarvis,希望这个 App 能像 Jarvis 一样,能够帮使用者处理好使用 Gerrit 进行 Code Review 过程中的各种事件。

特点

  • 能够主动通知新 Review/Score/Comment、Merge Conflict、Commit Merged 等多种事件
  • 轻量级页面,在状态栏显示图标和新消息个数,点击后弹出列表页,访问方便
  • 支持配置一些通知策略,支持一键清除红点
  • UI 重新设计,参考 IM 风格,使用更现代的排版和图标
  • 可以跳转到 Gerrit 的 Review/Author/Project/Branch 页面
  • 支持开机启动
  • 支持 Merge Trigger,合并时可以触发指定的 Bash 脚本
  • 支持黑名单/白名单
  • 支持点击 Review 时,指定上次 Review 距离现在的 PatchSet 范围,方便看 Diff

安装与使用

安装

解压 zip 包,将 GerritJarvis.app 拷贝到系统 Applications 目录,右键点击 GerritJarvis.app,选择打开(不要使用双击打开),会弹框询问是否信任,点击信任即可。打开后会在状态栏看到 GerritJarvis 的图标。

使用

使用 GerritJarvis 时需要配置对应的 Gerrit 账号和密码。请注意密码不是 Gerrit 的登录密码,而是 HTTP 密码,需要专门生成!,具体方式为打开 Gerrit 网页,点击头像,到 Setting -> HTTP Pasword,如果没有 HTTP Password,点击 Generate Password 生成密码,如果已经有了,拷贝此密码即可。

如果 GerritJarvis 还未设置账号密码,列表页中会出现 Go To Preferences 的按钮,点击按钮到 Preference,选择 Account 的 Tab,将 Gerrit 的用户名和 HTTP Password 填到输入框中,点击 Save 进行保存。

关于 Review 列表:

  • Review 列表按照更新时间从新到旧进行排序,自己提交的 Outgoing Review 在顶部(不显示没有 Reviewer 的 Review),默认不显示自己给自己 -2 的 Review(还没准备好给别人看),可以在设置中勾选“显示自己提的 Review 中被自己 -2 的 Review”进行配置
  • 点击 Cell 跳转到 Review 对应的网页,Cell 右上角显示 Score(-2、-1、0、+1、+2)的情况,Score 左边显示是否 Merge Conflict
  • 红点的显示逻辑是:
    • 对于我提的 Review,最新的消息不是由我操作或者出现了 Merge Conflict 时显示红点
    • 对于别人提的 Review,最新的消息不是由我操作时显示红点(不管是有新的 Patch 还是 Comments,都会显示红点)
  • 状态栏显示的数量为显示红点的 Review 的个数
  • 只有我提的 Review 才会显示新 Comments 的数量
  • Review 列表使用定时刷新的方式,列表刷新频率支持 1,3,5,10,30 分钟

关于通知:

  • 默认只通知我提的 Review 的事件,包括:
    • 某个 Reviewer 进行了评论和打分
    • Merge Conflict(可以在设置中关掉)
    • Merged
  • 如果想知道别人给我提的 Review 的事件,需要在设置中进行配置:
    • 勾选“通知新的 Incoming Review”,当别人给我提 Reivew 且我还没看过时(Review 的消息中最新的消息不是由我操作的)会收到通知

👨🏻‍💻 作者

Joe Shang, [email protected]

👮🏻 许可证

GerritJarvis 使用 MIT License,更多请查看 LICENSE 文件。

图片版权说明

GerritJarvis 主要使用了两套图片:

About

A mac app which for event notification of gerrit code review

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 83.1%
  • C 14.0%
  • Shell 2.4%
  • Other 0.5%