zoukankan      html  css  js  c++  java
  • 为Metabase Pulses添加slack代理支持

    为Metabase Pulses添加slack代理支持

    为Metabase Pulses添加slack代理支持

    1 简介

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

    2 代码更改

    修改文件srcmetabaseintegrationsslack.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测试发现收到的图片,中文显示乱码,如下图,下一篇文章再解决。 https://img2018.cnblogs.com/blog/1545892/201906/1545892-20190601183914885-653709006.jpg

    作者: ntestoc

    Created: 2019-06-01 六 18:39

  • 相关阅读:
    解决win7和win8的64位系统安装NetAdvantage时总是提示%SystemDriver%inetpub\wwwroot错误的方法
    如何使VS2008 调试网站的根目录和IIS调试的一致?
    设置网站默认目录
    asp.net网站未能加载文件或程序集或它的某一个依赖项。拒绝访问
    HTML5 :Canvas之基本用法
    HTML5 Canvas之图片引用
    python虚拟环境的介绍和创建
    基于jTemplates、ascx协同工作的酷UI模板技术
    我的.Subtext二次开发之路系列:无限层次分类
    我的.Subtext二次开发之路系列:引言
  • 原文地址:https://www.cnblogs.com/ntestoc/p/10960547.html
Copyright © 2011-2022 走看看