Thoughts, stories and ideas.

一周更新汇总:一个新功能与三个新机器人

许多倍洽用户使用 hubot 机器人实现了更为个性化的工作需求:自动执行脚本部署、抓取特定条件的内容、完成考勤统计、可视化 CPU 占用情况等等。

但在过去,也许也常有人遇到这样的问题:如何使一个 hubot 机器人加入到 #所有人 (general)讨论组中待命,以便随时响应指令?

我们在最新的一次上线中重新梳理了 hubot 的判定逻辑,今后在所有场合中统一将 hubot 判定为「机器人」而非「特殊成员」,由此,支持在与团队人数绑定而无需单独增减成员的特殊讨论组 #所有人 中添加 hubot 机器人。也许大家可能会在以下场景中使用到这一新功能:

  • 每个正式成员加入团队时首先且必定会加入 #所有人 讨论组,因此可以利用 hubot 机器人自动向新成员发送欢迎词并告知团队全体成员此时有新人加入;
  • 由 hubot 机器人自动向全体团队成员发布团队通知、规章制度、使用帮助等团队级消息,或支持所有成员进行方便的检索查询;
  • ……

希望新功能可以帮助大家使更多日常工作变得自动化和标准化 :)

此外,一周以来我们总计发布了三个新的机器人,它们也许都与技术研发同学的工作密切相关,在「代码开发」与「数据监测」机器人分类下可以看到它们的身影。

ReviewBoard 是一款界面简洁清爽的代码评审工具,相比「投影仪评审」与邮件往来,ReviewBoard 显得更为友好和高效。

在机器人列表中启用 ReviewBoard 机器人后,在「手动模式」页面下可以看到已生成的 Hook 地址,此时只需要进入 ReviewBoard 的管理界面添加 WebHook 并将 Hook 地址填入 URL 栏中,选择期望推送的相关事件后进行保存,即可在设定好的倍洽讨论组中收到来自 ReviewBoard 的事件提醒。

Open-Falcon 是一款开源的监控系统解决方案,其分布式、高性能的特性为它赢得了许多用户的拥簇。

我们同样为在倍洽中使用 Open-Falcon 提供了一套较为简便的接入办法。启用 Open-Falcon 机器人后,在「手动模式」页面下,根据教程修改 Open-Falcon alarm 模块的 cfg.json 文件,即可完成设置,在倍洽相应讨论组中收到来自 Open-Falcon 的提醒消息。

听云是一款应用性能监控平台,支持对产品的崩溃、错误、卡顿等情况进行监控,快速定位代码性能问题,并支持全景应用性能的可视化。

启用听云机器人后,同样能够在「手动模式」页面下查阅具体的配置教程,通过「导航-告警-接收通道-第三方列表」路径创建新的第三方推送后,选择创建「倍洽机器人」并将生成的 Hook 地址填入「Hook URL」中,测试无误后即可选择保存。

接下来,将该倍洽机器人加入相应的接收组后,就能够在倍洽中收到来自听云的提醒了。

新集成:在倍洽中使用 Quip 文档

继 Evernote 与石墨文档之后,我们近期又为文档类工具集成列表增加了新成员,也许你已经在展开列表中看到了蓝色的 Quip 图标。

Quip 承载着一些团队——特别是那些逐渐将沟通迁移至国内产品的团队——的文档协作需求,同时,我们也希望能够不断扩充集成列表,让大家能够更为灵活的选择各类型团队工作辅助工具。

用半分钟时间大致了解 Quip

Quip 是一个工作效率套件,将文档、电子表格、任务列表等功能集中到一个页面当中,帮助团队更好的协同完成更多工作:

例如公关团队在线共同编辑公关文稿、销售团队共享线索列表、产品团队共同维护任务进度等等。

Quip 支持团队跨平台使用,并提供免费、小型团队及中大型团队三种不同的服务和付费方式。

如何在倍洽中使用 Quip

在列表界面点击 Quip 图标,即可选择将 Quip 账户内的某些文章分享到当前对话当中。不过可能要提醒的是,首次使用时,需要按照页面提示完成授权(也许在配置完成后需要对界面进行一次刷新,如果你仍未看到配置成功后的界面的话)。

也可以选择直接在对话中粘贴某一 Quip 文档地址的方式进行分享,当选择这一方式时,倍洽会自动为你抓取该文档链接概要,并直接在消息流中进行展示。

在将来,也许我们仍会继续对 Quip 集成的使用形式做出更多的扩展或深化,如你在使用的过程当中发现了问题或发现了新的需求,欢迎随时与我们联系 :)

GitHub 机器人分支过滤功能上线两周后

两年以来,GitHub 机器人一直是倍洽上最受欢迎的机器人,几乎没有之一。

不过过去我们也收到了一些使用反馈(多提反馈真的有用),在日常工作中,如果团队 GitHub 体量较为庞大且操作频繁,GitHub 机器人的实时推送则可能会对使用者带来一些困扰——更多是指频繁的推送提醒会造成一些打扰。

我们试图在「不错过任何重要消息」与「使用更便捷」上取得平衡,以使信息的送达能够更加高效。此前,我们为 GitHub 机器人上线了分支过滤功能,使用者们可以为自己的 GitHub 机器人设置关注分支,这之后,只有设置为关注的分支才会即时同步提醒推送。运转两周以来,我们自觉体验的确变得更好了一些。

启用 GitHub 机器人后,可以在「授权模式」页面对当前机器人进行配置。目前,一个 GitHub 机器人支持关注多个分支,在编辑框中,各个分支名称之间需要以空格进行分隔。

此外,配置 GitHub 机器人还需关注以下提示:

  • 如未设置关注分支,则默认对整体进行提醒;
  • 如果设置为关注的分支不存在,也将被系统认定为已设置分支过滤。即:如关注且仅关注了一个不存在分支,则不会收到任何推送消息;如关注了多个分支且当中部分分支不存在,则将收到存在分支产生的消息推送。

在分支过滤功能上线前已成功启用的 GitHub 机器人,可以在机器人管理列表中找到相应机器人,进入授权模式页面进行补充配置。

希望这个功能也会对你有用 :)

Hubot to Infinity, and Beyond!

hubot 的前世今生

一年前,我们发布了 hubot 机器人的支持。在这短暂一年里,很多团队利用 hubot 做了很多好玩的应用:

Grafana 机器人:

Grafana 机器人

老司机的老黄历

老司机的老黄历

但在使用原有接口开发的过程中,我们也发现存在一些问题:

  • 原有接口只能被动接收 BearyChat 发过来的消息
  • hubot 只能收到有限的消息类型事件,不能很好地处理其他事件
  • 需要用户在部署 hubot 服务的基础上打开 HTTP 端口给 BearyChat 服务器进行请求

Level UP!

这次功能升级,我们提供了以下几个功能支持:

消息实时长连接

为了能保证 hubot 实时收到 BearyChat 的事件推送,我们提供了 实时长连接(RTM)模式。该模式下,hubot 将会通过 WebSocket 协议连接上 BearyChat 聊天服务器。成功连接上后,团队内所有事件都会通过该连接发送到 hubot. 在该模式下,用户不再需要提供 HTTP 端口(也就是说在防火墙后面也能收发消息)就能正常启用 hubot 机器人。

团队事件推送

新模式下,除了原有的消息事件,BearyChat 服务也会同时推送其他事件到 WebSocket 连接到另一方,例如:

  • 新增公开讨论组创建事件
  • 新增消息回应事件
  • ...

现在 hubot 也可以对这些事件作出响应,玩出更多花样来:

今天吃啥啊?

今天吃啥啊?

今天你买房了吗?

今天你买房了吗?

今天你斗图了吗?

今天你斗图了吗?

总结

这次升级中,我们针对 hubot 添加了实时长连接支持,并且提供了更多的事件推送支持;这些改动将会更加方便用户把 hubot 整合到 BearyChat 的日常使用中,提高团队工作效率。要使用新的模式,原有的 hubot 机器人只需要根据 hubot-bearychat 的升级文档进行升级即可。如果有其他问题和想法,也欢迎随时跟我们联系。

P.S. BearyChat 开放 API 正在进行 beta 测试,欢迎有兴趣的朋友在我们的 GitHub 仓库查看相关文档。更加详细的教程和文档会在近期推出!更多进展我们下次再聊 :D

BearyChat 团队如何用 Basecamp 整理日报,以及一个新的 Basecamp 机器人

熊小队一直希望能通过日报的形式,既能达到各自总结、规划的效果,又能在团队内使信息互通,让所有团队成员——无论研发、设计还是市场运营——都能够全局性的了解团队整体的工作进度,并据此合理安排,实现更高的合作效率。因此,日报的整理成为我们日常团队工作的一个实际需求。

我们在 BearyChat 工作团队中设置了一个「晨会汇报」讨论组,用以汇总每日的成员晨报,并方便日后进行回溯和检索。但对于日报的整理,熊小队的工作方式经历过四次迭代:

1.晨会发言时期

最早的日报整理工作是与晨会同时进行的。所有成员都将在每天早晨进行的简短站会中发言,由值日的同事负责记录所有人前一天所完成的工作和当前日的工作安排,并将汇总后的信息在晨会结束后发布到「晨会汇报」讨论组中。

问题跟随团队的扩张而来。随着团队成员的增加,每天晨会汇总晨报信息的时间成本骤升,因此我们对晨报的整理方式做出了第一次调整。

2.自行填写 Trello 日报卡时期

熊小队的各项工作进度安排都在 Trello 上完成,因此当时我们理所当然的选择了所有团队成员都较为熟悉的任务管理工具 Trello 作为日报汇总的载体。

我们在 Trello 中为团队新增了「晨会」看板并创建了周一到周五的五个列表,每个团队成员都拥有属于自己的一张卡片,按照规则,团队成员将在每天早晨自行修改自己卡片中的内容(勾选已完成的工作,新增当日计划的工作)并将卡片挪动到对应周期的列表当中。同时,Trello 机器人将自动把看板中的改动信息汇总到「晨会汇报」讨论组中。

3.Outgoing 自定义机器人整理时期

使用 Trello 机器人需要成员额外打开 Trello 并手动挪动卡片,一定程度上增加了成员的操作成本,基于此,我们进行了新一次的优化。

这一次我们选用 Outgoing 自定义机器人,通过命令行直接在 BearyChat 聊天窗口中完成日报的写入和汇总。操作步骤被大大的简化了,但不足也显而易见:总有人会忘记。

4.Basecamp 每日提醒时期

Basecamp 的每日提醒功能帮我们解决了「忘记」的问题。设定好的日报模板在每个工作日早晨 9 点自动通过邮件的方式提醒成员填写当日内容,点击链接即可完成填写。同样的,Basecamp 机器人会将日报汇总到「晨会汇报」讨论组中。

经过一段时间的实际运转,我们决定正式上线 Basecamp 机器人,希望不仅局限于日报的整理工作,在项目管理乃至协同编辑等更多领域,都能为大家增添一个不错的新选择。

Basecamp 可以称为项目管理工具的「鼻祖」之一,至今已有十余年历史。其前身 37signals 专注小而美,也做出过许多经典的「产品」:不仅是作为产品的 Basecamp、Highrise 等,还有著名的开发框架 Ruby On Rails 以及两本九分的书《Rework》、《Getting Real》。

15 年底 Basecamp 进行了一次大升级,除了原有任务管理,文档管理,讨论交流等功能外,更新增了私人对话、搜索、稍后工作、工作汇总报告等实用功能。你可以点击 这里 了解有关 Basecamp 的更多细节。

我们在本周上线了 Basecamp 机器人帮助用户自动接收来自项目的改动提醒,只需要将启用 Basecamp 机器人后自动生成的 Hook 地址配置到相应项目并勾选需要推送的时事件类型即可,具体的配置步骤可以查看启用 Basecamp 机器人后自动展开的机器人详解。

如果你有关于 Basecamp + BearyChat 的更多玩法,随时欢迎你和我们一起分享。新的一年,祝效率新高:)