13
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

slackで分報をタイムライン表示して一覧性を手に入れろ

Posted at

はじめに

このブログ、分報をタイムライン表示して、もれなくチームの流れを把握しようのスクリプト部分のみを転記。
なぜこうしたのかなど気になる人は読んでみて欲しい

※注意 ここでは、hubotとslackの連携方法やサーバで実行する方法等は記載していない。

動作確認環境

  • node.js version v5.9.1
  • hubot version v2.12.0
  • hubotのホスティング先はheroku
  • slack アダプタを利用し、hubotとslackが連携している

hubotで各エンジニアの部屋をチェックし、発言があればタイムライン用の部屋にリンクを書き込む スクリプト

hubotで各エンジニアの部屋をチェックし、発言があればタイムライン用の部屋にリンクを書き込むことができるようにする

このスクリプトでは以下のことを実施する

  • #times_ユーザ名 という部屋で発言をチェックする
  • 発言のオブジェクトから、その発言のパーマネントリンクを作成
  • #timelineの部屋に発言のパーマネントリンクを投稿する

hubotのscriptディレクトリにこのようなファイルを作成する
script/hunhou2timeline.coffee

hunhou2timeline.coffee
# 自分のslackのURL
slack_url = "https://your_tame_name.slack.com"

module.exports = (robot) ->
  # どんな文字列があっても拾う
  robot.hear /.+/, (msg) ->
    room = msg.envelope.room
    # idにドットがあるとURLを展開してくれないので取り除く
    id = msg.message.id.replace(".","")

    # ユーザ名_channelの部屋だけウォッチ対象
    if room.match(/^times_.+/)
      # 展開可能なURLを作成し、タイムライン表示用の部屋に投稿する
      # roomの指定で、 投稿するchannelを指定
      # 第二引数でslackのパーマネントURLを構築
      robot.send {room: "#timeline"}, "#{slack_url}/archives/#{room}/p#{id}"

※ チャンネルに追加しないと、hubotが部屋をウォッチしない(入力内容に対してリアクションをしない)のでtimes_ユーザ名のチャンネルにhubotを追加する

  • 個別のチャンネルにhubotが追加された状態

自分のチャンネルに投稿すると

タイムライン用のチャンネルに投稿されれる

13
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?