Mattermost 笔记

时间:2022-12-16 15:07:00


Mattermost 是一个开源、可私有化部署的在线通讯平台,可以和Github、Jira、Jenkins、Gitlab等做集成,所以也可以作为 ChatOps 的一种实现方式。

很早之前为开源项目 boat-house 做的一个教程,今天偶尔翻笔记的时候找了出来,在这里也分享一下。

使用docker快速部署

## 默认端口是 8065
docker run --name mattermost-preview -d --publish 8065:8065 mattermost/mattermost-preview

配置

  1. 初始化
    输入邮箱地址,用户名,及登录密码,默认第一个用户的是系统管理员
    Mattermost 笔记

选择“Create a new team” >> 输入team的名字
Mattermost 笔记

输入或者默认当前是后续team的链接地址,点击 Finish
Mattermost 笔记

  1. 本地配置
    在左上角点击用户名旁边的三道杠,点击“Account Settings”,点击“Display”,点击“Language”,选择语言为“中文(简体)”,点击“Save
    Mattermost 笔记

  2. 进入后台管理
    Mattermost 笔记

  3. 配置网址,把访问Mattermost的网址输入进去即可,如果是Azure虚拟机的话可以输入自己配置的DNS名称再加端口号
    Mattermost 笔记

  4. 配置语言
    默认的服务端语言、默认客户端语言、以及可选的语言(如果只选中文的话,客户端进入display配置时 将看不到language选项)
    Mattermost 笔记

客户端

桌面程序

https://about.mattermost.com/downloads/
Mattermost 笔记

收到消息时提醒
Mattermost 笔记

Android

https://about.mattermost.com/mattermost-android-app/
Mattermost 笔记

使用

  1. 邀请新用户
    Mattermost 笔记

  2. 创建频道
    可以在公共频道里面聊天,也可以自己创建私密的私聊频道
    Mattermost 笔记

  3. 聊天
    回复单条留言信息
    Mattermost 笔记

发送图片
截图到聊天窗口,ctrl+enter发送

扩展

Jenkins

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

  1. 在mattermost中进行配置
    Mattermost 笔记

  2. 在jenkins中进行配置
    安装mattermost插件,主菜单 >> Manage Jenkins >> 选择“Mange Plugins” >> Available >> 选择“Mattermost Notification Plugin” >> 点击“Install without restart”按钮
    Mattermost 笔记

点击用户名,进入后点击左侧菜单中的Configure,在Current token中输入Mattermost生成的私钥,点击“Add new token”生成token
Mattermost 笔记

  1. 转到用户聊天界面,创建一个频道“Jenkins-CI-CD
    输入 /jenkins connect
    Mattermost 笔记

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
Mattermost 笔记

Jira

https://github.com/mattermost/mattermost-plugin-jira
第一步:mattermost上开启jira插件
启用插件,选择“true”
复制webhook secret中的文本,组成URL,例如
https://SITEURL/plugins/jira/api/v2/webhook?secret=YB96EBo3lBFfcqTnGItFeSVtTLj0Cy81
Mattermost 笔记

第二步:在jira配置webhook
系统 >> 网络钩子
输入名称、第一步获取到的URL,并把所有的相关时间勾选上
Mattermost 笔记

第三步:在jira上安装应用程序
在mattermost的聊天框中,输入/jira install ,可以看到下面的信息
根据提示在JIRA上进行配置,尤其注意PUBLIC KEY的部分
Mattermost 笔记

输入mattermost站点的地址
Mattermost 笔记

再次输入mattermost站点的地址
Mattermost 笔记

应用程序名称:Mattermost, 应用类型:通用应用程序
Mattermost 笔记

输入客户关键字、客户名称、公共关键字
Mattermost 笔记

第四步:mattermost上接受jira的信息
注:现在web版上登录

  1. /jira connect
    Mattermost 笔记

  2. 设置需要接受的项目及信息
    Mattermost 笔记

最终效果如下,jira上的操作将推送到mattermost中
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
    Mattermost 笔记

  2. 复制对应的数据到对应的框中,“Save”
    Mattermost 笔记

  3. 进入你的rep,“settings” >> 点击"Add webhook" >> 填写
    Mattermost 笔记

选择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
Mattermost 笔记

  1. 输入 /github connect,输入github账号和密码
    Mattermost 笔记

输入github 注册邮箱收到的Verification code
Mattermost 笔记
Mattermost 笔记

点击 “Authorize ******”
Mattermost 笔记

/github me 显示当前账号的信息
/git todo 待完成工作列表

Mattermost 笔记

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