<?xml version="1.0" encoding="utf-8"?> 为Metabase Pulses添加slack代理支持

为Metabase Pulses添加slack代理支持

目录

  • 1. 简介
  • 2. 代码更改
  • 3. slack的配置

1 简介

Pulses是Metabase中定期报告的叫法,可以通过email或slack发送,具体介绍看这里。但由于slack无法直接访问的问题,需要配置代理,metabase没有提供代理支持,不过添加代理的功能还是非常简单的,几行代码就解决了问题。

2 代码更改

修改文件src\metabase\integrations\slack.clj中的do-slack-request函数,主要用于slack请求,它调用的clj-http实现http请求,添加代理的配置项就可以达到目的。代码修改如下:

 1: (defn get-slack-proxy
 2:   "add slack proxy support"
 3:   []
 4:   (let [slack-proxy-host (config/config-str :mb-slack-proxy-host)
 5:         slack-proxy-port (config/config-int :mb-slack-proxy-port)]
 6:     (when (and slack-proxy-host slack-proxy-port)
 7:       {:proxy-host slack-proxy-host
 8:        :proxy-port slack-proxy-port})))
 9:
10: (defn- do-slack-request [request-fn params-key endpoint & {:keys [token], :as params, :or {token (slack-token)}}]
11:   (when token
12:     (let [proxy (get-slack-proxy)]
13:       (handle-response (request-fn (str slack-api-base-url "/" (name endpoint))
14:                                    (merge {params-key (assoc params :token token)
15:                                            :as             :stream
16:                                            :conn-timeout   1000
17:                                            :socket-timeout 1000}
18:                                           proxy))))))
19:

get-slack-proxy主要从系统配置中读取配置项,config/config-*是metabase读取系统配置的基本方法。然后do-slack-request中添加clj-http的代理配置即可。修改之后重新编译metabase。 然后设置环境变量,windows如下设置:

set MB_SLACK_PROXY_HOST=127.0.0.1
set MB_SLACK_PROXY_PORT=8080

linux使用export设置环境变量。再启动metabase,即可使用此代理访问slack。

3 slack的配置

slack的具体配置,参考官方文档。

新建pulse测试发现收到的图片,中文显示乱码,如下图,下一篇文章再解决。

作者: ntestoc

Created: 2019-06-01 六 18:39

转载于:https://www.cnblogs.com/ntestoc/p/10960547.html

为Metabase Pulses添加slack代理支持相关推荐

  1. 给HttpClient添加Socks代理

    本文描述http client使用socks代理过程中需要注意的几个方面:1,socks5支持用户密码授权:2,支持https:3,支持让代理服务器解析DNS: 使用代理创建Socket 从原理上来看 ...

  2. 给OkHttp Client添加socks代理

    Okhttp的使用没有httpClient广泛,网上关于Okhttp设置代理的方法很少,这篇文章完整介绍了需要注意的方方面面. 上一篇博客中介绍了socks代理的入口是创建java.net.Socke ...

  3. python迅雷远程下载页面_【教程】Chrome浏览器添加迅雷下载支持

    2019年4月28日更新: 目前官方最新版本的迅雷X已经实现自动安装Chrome扩展,无需手动安装. 请仍在使用老版本迅雷的雷友升级到官方最新版本的迅雷X. 以下内容已经过期 最近一段时间,Googl ...

  4. 爱上MVC~为DisplayNameFor添加扩展,支持PagedList集合

    DisplayNameFor方法是MVC提供给我们的,它可以将模型的DisplayName特性的值显示到页面上,这对程序员来说很是方便,在进行实体设计时,可以指定它的显示名称,然后MVC引擎会自动帮助 ...

  5. mfc工程中添加com接口支持

    在普通的mfc工程中常常需要添加com接口支持.最典型的应用就是使用 com中的连接点机制时,需要在客户端实现事件接受器.简单说来,就是要实现在com服务器端声明的事件接口.这个接口由server端暴 ...

  6. Nginx添加SSL的支持

    nginx添加SSL的支持 (1)完成 --with-http_ssl_module模块的增量添加 >将原有/usr/local/nginx/sbin/nginx进行备份 >拷贝nginx ...

  7. 游戏建模控件Aspose.3D for Java最新版支持在Wavefront OBJ中添加点云支持

    Aspose.3D for Java是独立的Gameware和计算机辅助设计(CAD)API,用于处理3D文件.同时支持大多数流行的3D文件格式,应用程序可以轻松创建,读取,转换和修改3D文件.此外, ...

  8. Swift iOS macOS 如何 Localize StoryBoard,StoryBoard 本地化,添加多语言支持,基于 String

    Swift iOS macOS 如何 Localize StoryBoard,StoryBoard 本地化,添加多语言支持,基于 String 本地化主要包含两个部分:代码中文本的本地化 和 Stor ...

  9. TIA博途中无法添加HSP硬件支持包的解决办法

    TIA博途中无法添加HSP硬件支持包的解决办法 硬件支持包安装的过程应该很简单,但是在安装的时候遇到了一个奇怪的问题. 如下图所示,下面就描述一下问题发生和自己的解决方法: 打开TIA博途V16,在 ...

最新文章

  1. 网站“TDK”中的“D”该如何优化内容?有什么作用?
  2. Linux学习笔记:安装python
  3. VS2010中使用CL快速 生成DLL的方法
  4. 《小狗钱钱》:理财首先应该有一种强烈的意识
  5. JavaScript服务器端开发技术(对象属性的枚举与查询)
  6. 小白学习MVC5+EF6遇到的问题一
  7. 区块链溯源系统架构---区块链工作笔记002
  8. windows 10 l2tp 连接无响应问题解决
  9. 京东商品分类API接口-(cat_get-获得jd商品分类API接口),京东分类API接口
  10. 一文搞懂JVM内存结构
  11. win7查看计算机设置密码,如何查看win7电脑开机密码_win7专业版电脑开机密码怎么查看...
  12. Windows Knowledge
  13. ireport oracle,用ireport调用oracle存储过程
  14. 一段java代码_写了一段Java代码,希望大家多多指点
  15. element遮罩_element-ui遮罩层el-dialog的使用
  16. uni-app 在mac电脑连接安卓手机进行真机调试
  17. ajax的eval的作用,为什么用eval()
  18. 采用HTML,CSS,JAVASCRIPT的前端网页设计的内容展示
  19. klayout 源码分析系列续 执行脚本
  20. screen基本用法

热门文章

  1. 干货分享——shutdown命令
  2. php汉字转为拼音方法一
  3. 飞秋只能发文件不能接收文件的解决办法
  4. 配置虚拟机(VMware Workstation)静态 IP 地址
  5. 龙芯电脑平台kubernetes集群编译及部署方案
  6. 《叶圣陶语文教育论集》的阅读笔记和读后感3400字
  7. 选课通知 | 北交大《人工智能与大数据应用实战》秋季全校选修课简介!
  8. Python breakpoint()函数
  9. 程序员面试考察的5个方面
  10. 有道云笔记Markdown编辑器 基础操作使用说明