让禅道也可以玩BearyChat

简介: 简单的理解,BearycChat是一种IM,是一种能聚合各种MS系统消息的东西,是团队协作过程中消息流转的利器。我是工具控,所以不折腾不舒服。废话不说,上码:/path_to_zentao/module/action/ext/model/logHistory.php

简单的理解,BearycChat是一种IM,是一种能聚合各种MS系统消息的东西,是团队协作过程中消息流转的利器。

我是工具控,所以不折腾不舒服。

废话不说,上码:

/path_to_zentao/module/action/ext/model/logHistory.php

<?php

/**
     * Log histories for an action.
     * 
     * @param  int    $actionID 
     * @param  array  $changes 
     * @access public
     * @return void
     */
    public function logHistory($actionID, $changes)
    {
        foreach($changes as $change) 
        {
            $change['action'] = $actionID;
            $result = $this->dao->insert(TABLE_HISTORY)->data($change)->exec();
            
            //bearychat notice
            $this->notifyBearychat($actionID, $change['new']);
        }
    }
    
    protected function notifyBearychat($actionID, $text) {
        $action = $this->dao->select('*')->from(TABLE_ACTION)
            ->where('id')->eq($actionID)
            ->fetch();
        
        $_actions = $this->loadModel('action')->transformActions(array($action));
        $action = $_actions[0];
        
        $title = strip_tags(sprintf("%s, %s <em>%s</em> %s %s %s。", $action->date, $action->actor, $action->actionLabel, $action->objectLabel, $action->objectName, 'http://'.(isset($_SERVER['HTTP_X_FORWARDED_HOST']) ? $_SERVER['HTTP_X_FORWARDED_HOST'] : (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '')) . $action->objectLink));
        
        return $this->curlPostPayload2Bearychat($title, $text);//, 'project-' . $action->project . ''
    }
    
    protected function curlPostPayload2Bearychat($title, $text, $channel = 'pms') {
        
        $url = 'https://hook.bearychat.com/your_self_params';//简单的定义于此
        
        $str = array('payload' => json_encode(array('text' => $title, 'markdown' => true, 'channel' => $channel, 'attachments' => array(array('text' => strip_tags($text))))));//
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $str);
        
        if (substr($url, 0, 8) == "https://")
        {
            $opt[CURLOPT_SSL_VERIFYHOST] = 1;
            $opt[CURLOPT_SSL_VERIFYPEER] = FALSE;
        }
        curl_setopt_array($ch, $opt);
        curl_exec($ch);
        curl_close($ch);
    }
目录
相关文章
|
API
禅道----禅道和Gitlab对接
禅道----禅道和Gitlab对接
2487 0
禅道----禅道和Gitlab对接
|
5月前
|
敏捷开发 测试技术 BI
禅道:从安装到使用,一篇文章带你全面了解
禅道:从安装到使用,一篇文章带你全面了解
662 3
|
5月前
|
敏捷开发 jenkins 持续交付
JIRA 软件的介绍
JIRA 软件的介绍
|
网络安全 数据安全/隐私保护
RK3399平台开发系列讲解(代码管理篇)1.4、gerrit服务器管理员使用手册
RK3399平台开发系列讲解(代码管理篇)1.4、gerrit服务器管理员使用手册
149 0
|
弹性计算 安全 关系型数据库
在阿里云服务器部署禅道项目管理系统
很多企业业务的开展都离不开项目管理,不过有时候项目管理由于非常庞大和复杂,一个人做起来很难,需要整个企业或团队成员之间相互协调来做,要想协调好成员间的项目管理,就需要利用一些好用的项目管理系统。
823 2
在阿里云服务器部署禅道项目管理系统
|
数据可视化 开发工具 数据库
史上最全的企业级项目管理工具之Yapi,禅道,GitLab 搭建
前言 文本已收录至我的GitHub仓库,欢迎Star:github.com/bin39232820… 种一棵树最好的时间是十年前,其次是现在
398 0
|
项目管理
禅道项目管理软件配置及使用(下)
今日目标 能够掌握禅道的安装及运行 能够掌握禅道的组成结构 能够掌握禅道的基本使用流程 能够掌握禅道创建分组和用户 能够掌握Bug管理 能够掌握文档管理
3019 0
|
安全 关系型数据库 MySQL
禅道项目管理软件配置及使用(上)
今日目标 能够掌握禅道的安装及运行 能够掌握禅道的组成结构 能够掌握禅道的基本使用流程 能够掌握禅道创建分组和用户 能够掌握Bug管理 能够掌握文档管理
|
Devops
禅道----禅道DevOps配置Gitlab
禅道----禅道DevOps配置Gitlab
825 0
禅道----禅道DevOps配置Gitlab
|
监控 测试技术 BI
【测试开发】测试管理工具禅道的安装
常见的测试管理工具是干什么的? 禅道的安装与配置 安装配置成功
【测试开发】测试管理工具禅道的安装
下一篇
无影云桌面