Mattermost 筆記

遠方V3發表於2022-12-16


Mattermost 是一個開源、可私有化部署的線上通訊平臺,可以和Github、Jira、Jenkins、Gitlab等做整合,所以也可以作為 ChatOps 的一種實現方式。

很早之前為開源專案 boat-house 做的一個教程,今天偶爾翻筆記的時候找了出來,在這裡也分享一下。

部署

使用docker快速部署

## 預設埠是 8065
docker run --name mattermost-preview -d --publish 8065:8065 mattermost/mattermost-preview

配置

  1. 初始化
    輸入郵箱地址,使用者名稱,及登入密碼,預設第一個使用者的是系統管理員

選擇“Create a new team” >> 輸入team的名字

輸入或者預設當前是後續team的連結地址,點選 Finish

  1. 本地配置
    在左上角點選使用者名稱旁邊的三道槓,點選“Account Settings”,點選“Display”,點選“Language”,選擇語言為“中文(簡體)”,點選“Save

  2. 進入後臺管理

  3. 配置網址,把訪問Mattermost的網址輸入進去即可,如果是Azure虛擬機器的話可以輸入自己配置的DNS名稱再加埠號

  4. 配置語言
    預設的服務端語言、預設客戶端語言、以及可選的語言(如果只選中文的話,客戶端進入display配置時 將看不到language選項)

客戶端

桌面程式

https://about.mattermost.com/downloads/

收到訊息時提醒

Android

https://about.mattermost.com/mattermost-android-app/

使用

  1. 邀請新使用者

  2. 建立頻道
    可以在公共頻道里面聊天,也可以自己建立私密的私聊頻道

  3. 聊天
    回覆單條留言資訊

傳送圖片
截圖到聊天視窗,ctrl+enter傳送

擴充套件

Jenkins

https://github.com/mattermost/mattermost-plugin-jenkins

  1. 在mattermost中進行配置

  2. 在jenkins中進行配置
    安裝mattermost外掛,主選單 >> Manage Jenkins >> 選擇“Mange Plugins” >> Available >> 選擇“Mattermost Notification Plugin” >> 點選“Install without restart”按鈕

點選使用者名稱,進入後點選左側選單中的Configure,在Current token中輸入Mattermost生成的私鑰,點選“Add new token”生成token

  1. 轉到使用者聊天介面,建立一個頻道“Jenkins-CI-CD
    輸入 /jenkins connect

Hubot 機器人

## 複製git上的檔案到本地
sudo apt-get install git
cd /
mkdir hubot
cd hubot
git clone https://github.com/loafoe/hubot-matteruser

建立映象

docker build --build-arg hubot_owner=root \
             --build-arg hubot_name=pang \
             --build-arg hubot_description=pang \
             --tag=hubot-matteruser \

建立容器

docker run -it \
           --env MATTERMOST_HOST=jasonchen01.southeastasia.cloudapp.azure.com:8065 \
           --env MATTERMOST_GROUP=leansoftx \
           --env MATTERMOST_USER=robot@leansoftx.com \
           --env MATTERMOST_PASSWORD=123456 \
           --env MATTERMOST_USE_TLS=false \
           -p 8080:8080 \
           --name hubot-matteruser \
           hubot-matteruser

聊天,使用設定好的hubot_name作為字首,比如 pany help

Jira

https://github.com/mattermost/mattermost-plugin-jira
第一步:mattermost上開啟jira外掛
啟用外掛,選擇“true”
複製webhook secret中的文字,組成URL,例如
https://SITEURL/plugins/jira/api/v2/webhook?secret=YB96EBo3lBFfcqTnGItFeSVtTLj0Cy81

第二步:在jira配置webhook
系統 >> 網路鉤子
輸入名稱、第一步獲取到的URL,並把所有的相關時間勾選上

第三步:在jira上安裝應用程式
在mattermost的聊天框中,輸入/jira install ,可以看到下面的資訊
根據提示在JIRA上進行配置,尤其注意PUBLIC KEY的部分

輸入mattermost站點的地址

再次輸入mattermost站點的地址

應用程式名稱:Mattermost, 應用型別:通用應用程式

輸入客戶關鍵字、客戶名稱、公共關鍵字

第四步:mattermost上接受jira的資訊
注:現在web版上登入

  1. /jira connect

  2. 設定需要接受的專案及資訊

最終效果如下,jira上的操作將推送到mattermost中

GitHub

  1. 訪問 https://github.com/settings/applications/new,填寫
    Application name: mattermost
    Homepage URL: https://github.com/mattermost/mattermost-plugin-github
    Authorization callback URL:https://your-mattermost-url.com/plugins/github/oauth/complete

  2. 複製對應的資料到對應的框中,“Save”

  3. 進入你的rep,“settings” >> 點選"Add webhook" >> 填寫

選擇Let me select individual events
勾選
Issues, Issue comments, Pull requests, Pull request reviews, Pull request review comments, Pushes, Branch or Tag creation, Branch or Tag deletion

  1. 輸入 /github connect,輸入github賬號和密碼

輸入github 註冊郵箱收到的Verification code

點選 “Authorize ******”

/github me 顯示當前賬號的資訊
/git todo 待完成工作列表

參考:https://github.com/mattermost/mattermost-plugin-github