sanhutrees 发表于 2018-9-16 09:24:21

jenkins部署完通过mojo-webqq推送消息

  使用Docker构建Mojo-Webqq
  基于官方dockerfile:https://github.com/sjdy521/Mojo-Webqq/blob/master/docker-image/Dockerfile
  

FROM centos:latest  
MAINTAINER sckghost
  
WORKDIR /root
  
USER root
  
ENV TZ=Asia/Shanghai
  
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
  
RUN rpm --rebuilddb && yum -y --nogpgcheck install \
  openssl-devel \
  wget \
  make \
  unzip \
  tar \
  perl \
  perl-App-cpanminus \
  perl-Crypt-OpenSSL-Bignum \
  perl-Crypt-OpenSSL-RSA \
  perl-Compress-Raw-Zlib \
  perl-IO-Compress-Gzip \
  perl-Digest-MD5 \
  perl-Digest-SHA \
  perl-Time-Piece \
  perl-Time-Seconds \
  perl-Time-HiRes \
  perl-IO-Socket-SSL \
  perl-Encode-Locale \
  perl-Term-ANSIColor
  
RUN yum clean all
  
RUN cpanm -vn Test::More Webqq::Encryption Mojolicious MIME::Lite Mojo::SMTP::Client Mojo::IRC::Server::Chinese Mojo::Webqq::Friend Mojo::Webqq::Group Mojo::Webqq::Plugin::Openqq
  
RUN wget -q https://github.com/sjdy521/Mojo-Webqq/archive/master.zip -OMojo-Webqq.zip \
  && unzip -qo Mojo-Webqq.zip \
  && cd Mojo-Webqq-master \
  && cpanm . \
  && cd .. \
  && rm -rf Mojo-Webqq-master Mojo-Webqq.zip
  
CMD perl -MMojo::Webqq -e 'Mojo::Webqq->new(log_encoding=>"utf8")->load(["ShowMsg","UploadQRcode"])->load("Openqq",data=>{listen=>[{port=>$ENV{MOJO_WEBQQ_PLUGIN_OPENQQ_PORT}//5000}],post_api=>$ENV{MOJO_WEBQQ_PLUGIN_OPENQQ_POST_API}})->run'
  

  1、基于WebQQ协议,Mojo-Webqq,运行openqq模块。
  (可选)Jenkins插件编写基础。
  注意:该插件依赖Mojo-Webqq的运行,否则不能正常工作。

  31行插件说明:
  Mojo::Webqq::Friend 好友
  Mojo::Webqq::Group 群组
  Mojo::Webqq::Plugin::Openqq
  提供HTTP API接口,方便获取客户端帐号、好友、群、讨论组信息,以及通过接口发送和接收好友消息、群消息、群临时消息和讨论组临时消息
  完整插件请参考:https://github.com/sjdy521/Mojo-Webqq/blob/master/doc/Webqq.pod
  2、使用本项目提供的Dockerfile构建Mojo-Webqq镜像
  docker build -t mojo-webqq .
  3、运行构建好的mojo-webqq镜像
  docker run -it --env MOJO_WEBQQ_LOG_ENCODING=utf8 -p 5000:5000 -v /tmp:/tmp mojo-webqq
  4、接下来扫码登录你懂得。
  使用说明,需要做如下准备:
  5、Api接口测试:https://github.com/sjdy521/Mojo-Webqq/blob/master/API.md
  获取群组数据:
  curl "http://10.17.13.49:5000/openqq/get_group_info"
  获取好友数据:
  curl "http://10.17.13.49:5000/openqq/get_friend_info"


  6、jenkins部署成功发送QQ消息;
  发送QQ群消息name=群名
  curl "http://10.17.13.49:5000/openqq/send_group_message?name=xxxxxxxx&content=%e5%90%84%e4%bd%8d%e5%b0%8f%e4%bc%99%e4%bc%b4%ef%bc%8c%e6%9c%ac%e5%9c%b0devops%e6%b5%8b%e8%af%95%e7%89%88%e6%9c%ac%e9%83%a8%e7%bd%b2%e6%88%90%e5%8a%9f%ef%bc%8cURL%e5%9c%b0%e5%9d%80%ef%bc%9ahttp%3a%2f%2f10.17.13.228"
  因为每次扫码登录,QQ群id和uid会变,所以使用QQ群名,群名一般固定,并urlencode转码
  发送QQ好友消息
  curl "http://10.17.13.49:5000/openqq/send_friend_message?id=4195367474&content=%e5%90%84%e4%bd%8d%e5%b0%8f%e4%bc%99%e4%bc%b4%ef%bc%8c%e6%9c%ac%e5%9c%b0devops%e6%b5%8b%e8%af%95%e7%89%88%e6%9c%ac%e9%83%a8%e7%bd%b2%e6%88%90%e5%8a%9f%ef%bc%8cURL%e5%9c%b0%e5%9d%80%ef%bc%9ahttp%3a%2f%2f10.17.13.228"
  对好友发送消息,uid已被腾讯屏蔽,所以使用id,或者使用name(中文需要做urlencode)
  也可以使用curl--data-urlencode对中文进行编码
  # curl "http://10.17.13.49:5000/openqq/send_friend_message?id=4195367474&" --data-urlencode "content=各位小伙伴,本地PC端web测试部署成功,URL地址:http://10.17.13.228"
  {"code":0,"id":69750029,"info":"发送正常","status":"发送成功"}
  以上URL消息 &content=后面为消息内容
  同时微信端也可以推送消息
  jenkins部署结果如下:

  QQ群消息:



页: [1]
查看完整版本: jenkins部署完通过mojo-webqq推送消息