knowledgeとRocket.Chatのwebhook連携

<a href=https://qiita.com/nahshi/items/242787b9c7db9111e374>前回の記事</a>でknowledgeとRocket.Chatを導入したはいいが、knowledgeに書いただけだと普段メンバーが見てるのはRocket.Chatなので、気づいてもらえない。チャンネルにいちいち書いてもらうのも面倒なのでknowledgeの記事を書いたらknowledgeチャンネルに自動で通知して投稿に気づいてもらえるようにしました。

# サービス連携用のurlをRocket.Chatから取得
管理→サービス連携→新しいサービス連携→着信WebHook
で下記の様に記入して，一旦「変更を保存」を押す。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/257806/65eb8324-6af4-d52e-65c3-a3b652f30508.png)

作成した着信WebHookを選択しWebHook用URLを取得
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3235373830362f34336132643539322d326264312d353135612d376563372d6639363136653163336438642e706e67.png](https://qiita-image-store.s3.amazonaws.com/0/257806/e76f6672-9da8-c6ef-ca33-336ab67d8f02.png)


## knowledgeからWebHook 設定を行う
1. 管理者ユーザーでログインし，右上メニュー→システム設定→WebHook設定
1. URLに先程取得したRocket.ChatへのWebHook用URLを入力
1. 今回は記事投稿とコメント投稿を通知したいので「ナレッジイベント」「コメントイベント」をチェックして「追加」
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3235373830362f64333363336261622d663731352d653966632d323234302d3835333534613533666638622e706e67.png](https://qiita-image-store.s3.amazonaws.com/0/257806/1c672cdf-0613-a6e5-2218-fbcb12efd557.png)

1. WebHooksが追加されるので，それぞれjsonをカスタマイズしてsave
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3235373830362f66316265643530352d393935622d643132612d643831362d3861383137336437343739382e706e67.png](https://qiita-image-store.s3.amazonaws.com/0/257806/592965b5-9ff4-4ed4-b1ff-8ab8c90cb552.png)

Knowledges Events

```
{"text":"knowledgeで新たな投稿がありました。","attachments":[
{
    "type": "knowledge",
    "comment_count": "{knowledge.commentCount}",
    "like_count": "{knowledge.likeCount}",
    "became_public": "{knowledge.became_public}",
    "type_id": "{knowledge.typeId}",
    "insert_date": "{knowledge.insertDatetime,format=yyyy/MM/dd HH:mm:ss.SSSZ}",
    "link": "{knowledge.link}",
    "groups": "{knowledge.groups}",
    "insert_user": "{knowledge.insertUserName}",
    "content": "{knowledge.content}",
    "update_date": "{knowledge.updateDatetime,format=yyyy/MM/dd HH:mm:ss.SSSZ}",
    "tags": "{knowledge.tags}",
    "update_user": "{knowledge.updateUserName}",
    "text": "<{knowledge.link}|{knowledge.title}> posted by {knowledge.updateUserName}",  <--投稿されるチャット内容
    "public_flag": "{knowledge.publicFlag}",
    "knowledge_id": "{knowledge.knowledgeId}",
    "status": "{knowledge.status}"
}]}
```
comments Events

```
{"text":"knowledgeで新たなコメントが投稿されました。","attachments":[
{
    "type": "comment",
    "update_user": "{comment.updateUserName}",
    "comment_no": "{comment.commentNo}",
    "insert_date": "{comment.insertDatetime,format=yyyy/MM/dd HH:mm:ss.SSSZ}",
    "comment": "{comment.comment}",
    "text": "<{knowledge.link}|{knowledge.title}>",
    "insert_user": "{comment.insertUserName}",
    "update_date": "{comment.updateDatetime,format=yyyy/MM/dd HH:mm:ss.SSSZ}",
    "knowledge": {
        "comment_count": "{knowledge.commentCount}",
        "like_count": "{knowledge.likeCount}",
        "became_public": "{knowledge.became_public}",
        "type_id": "{knowledge.typeId}",
        "insert_date": "{knowledge.insertDatetime,format=yyyy/MM/dd HH:mm:ss.SSSZ}",
        "link": "{knowledge.link}",
        "groups": "{knowledge.groups}",
        "insert_user": "{knowledge.insertUserName}",
        "title": "{knowledge.title}",
        "content": "{knowledge.content}",
        "update_date": "{knowledge.updateDatetime,format=yyyy/MM/dd HH:mm:ss.SSSZ}",
        "tags": "{knowledge.tags}",
        "update_user": "{knowledge.updateUserName}",
        "text": "<{knowledge.link}|{knowledge.title}> posted by {knowledge.updateUserName}",  <--投稿されるチャット内容
        "public_flag": "{knowledge.publicFlag}",
        "knowledge_id": "{knowledge.knowledgeId}"
    }
}
]}
```

新たに記事を投稿したり記事にコメントをつけるとrocket.catちゃんがお知らせしてくれるようになります。
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3235373830362f39633562306263392d306333372d636337352d633532652d3866663132333537633062642e706e67.png](https://qiita-image-store.s3.amazonaws.com/0/257806/4b25e547-8822-7fc9-a03c-ae5cc8548b66.png)

※ただし即時通知ではなく，5分以内くらいのタイムラグが有ります。