Project

General

Profile

Plugins Directory » Redmine Work Wechat & Dingtalk

Author: Tigergm Wu
Website: https://gitee.com/tigergm/redmine_work_wechat
Code repository: https://gitee.com/tigergm/redmine_work_wechat
Registered on: 2017-03-01 (about 7 years ago)
Current version: 0.3.0
Compatible with: Redmine 5.0.x, 4.2.x, 4.1.x, 4.0.x, 3.4.x, 3.3.x
User ratings:   (12)

This is a plugin for Wechat of work and Dingtalk which both are the biggest IM of work in China. Wechat of work is only oriented to medium-sized and small enterprises in China. Dingtalk only belongs to the cool Chinese companies. So we just introduce them in Chinese. Both are competing against each other in China but they all benefit the Chinese mobile work field. I combined their APIs into one plugin for redmine.

该插件是企业微信的消息推送插件,官方地址是work.weixin.qq.com,不是微信或微信企业公众号(目前了解到,微信企业号也能够支持)。
该插件实现企业微信的某个企业群体的remdine消息推送,适用于已经使用企业微信做沟通和管理的企业。
自0.0.8版本,增加了钉钉的消息推送,理论上,有两个平台的应用,配置正确后,都会进行消息推送,甚至同时推送,但一般来讲,一个企业会选择其中之一作为移动办公之选,不用的平台,管理配置里置空就好。 该插件继续保留企业微信的名称,以后视情况做调整,如果集成了钉钉更多的功能,比如单点登录等,可能会考虑更改插件名称。 由于钉钉功能只是初步加入,可能会有很多缺陷,另外,其安装细节以后有时间补充,与企业微信类同,一般是在钉钉的管理后台创建微应用,记录企业标识、创建企业secret,记录该应用标识,填入到插件配置的钉钉配置里,然后再在用户账户里,填入所对应的钉钉账户标识(一定是员工UserID,而不是工号),就可以实现钉钉信息推送。
最新插件已经初步集成了钉钉扫码登录的功能,插件名称也适当调整,该功能需要钉钉后台以开发者登录,创建自助登录应用,记录相应的应用ID、Secret和回调地址,并照着写入到企业微信和钉钉插件的配置界面的钉钉扫码登录的栏目里,回调地址一定要在钉钉里设定为redmine的登录地址,比如http://www.redmineurl.com/login。 当前的机制比较简单,登录时首先看是否在插件配置里设定了钉钉扫码登录信息,如果都配置了,则会在登录界面下方显示钉钉的二维码; 用手机上的钉钉app扫描二维码,并授权登录,此时登录界面会判断是否有用户绑定了该钉钉的ID,如果存在,则自动登录,无需输入用户名和密码,如没有绑定,此时可以输入用户名和密码登录,成功登陆后自动绑定。 如果想取消或者更改当前redmine用户的钉钉绑定,可以在我的账户里,把钉钉唯一标识字段置空,即可。 以上的设定细节比较多,需要具备一定的开发基础和钉钉后台的设置经验。另外,初步实现会有很多缺陷和使用上的不完善,以后慢慢优化。

自0.1.6版,加入issue中可以启用钉钉审批,配置过程比较复杂,大概流程先描述一下:首先,管理员在配置工作台中,新增一个审批,增加审批表单的属性是4个单行编辑器(一定是单行编辑器,dingtalk只支持有限的三种界面类型,不支持日期、数字、多行和文本等),依次命名为“项目”、“Issue号”、“标题”、“内容”。 然后,记录此流程的编号,在插件配置里写入,配置一个部门,记录下部门id,尽量包含redmine中需要参与审批的用户,也在插件配置中写入此部门id。 注意同时利用消息推送的appid等信息即可。每个issue会有启动钉钉审批流程的连接,如果配置信息都正确,会在钉钉中发起审批,作者就是发起人,指派人未审批者,跟踪者为抄送者。 以上功能暂时先简单实现,后期看情况优化,比如增加查看dingtalk的审批状态,按照项目配置不同的审批部门或是否启用审批流程等。功能很不完善,请有一定开发基础的试用,其他人慎用。也不要想能够发起请假等标准流程(因为dingtalk的api受限)。

自0.2.0版,加入钉钉APP内的免登功能,如果从钉钉APP内的消息或者工作台中进入redmine,可以无需输入用户名和密码,凭借钉钉用户授权就可以直接登录。前提是启用扫码登录功能,这个便捷功能才能生效。

自0.2.5版,屏蔽有关钉钉审批的实验性代码,关闭相关的配置选项,以减少该插件的复杂度,避免造成误解。

注意:当前插件不支持Windows系统下的服务,比如BitName一键安装或者自行在Windows下配置的Rails环境等。
该问题应该在0.2.2版本后修复。*

另外钉钉方面有些注意事项,配置时要注意:

1、信息推送只在插件配置里设定前三个字段就好了;

2、信息推送复用了redmine的邮件推送选项和账户邮件通知设置(不需要配置邮件),所以注意不要禁用邮件推送的选项和账户中的邮件推送设置,比如必要勾选作者创建的任务邮件推送之类的;

3、目前钉钉是通过员工号来做信息推送和免登的,注意统一维护redmine里的工号字段;

4、通过钉钉唯一id做扫描登录。

Installation notes

企业微信消息插件安装指南
1、下载源码压缩包,展开到redmine的plugins目录下,保证有redmine_work_wechat目录。
2、安装必要的gem类库,如果是生产环境,则建议带--without参数:
bundle install --without development test
3、执行数据迁移:
rake redmine:plugins:migrate NAME=redmine_work_wechat RAILS_ENV=production
4、重启redmine,进入管理菜单的企业微信配置:
1)前提条件是,在企业微信网站以管理员登录:
https://work.weixin.qq.com
在企业应用中添加应用并保存,根据情况设置合适的可见范围和维护其他内容,获得该应用的agentID和Secret序列号
进入我的企业,获得企业名称和CorpID。
2)以上做完之后,回到redmine,点击新建企业微信应用,根据企业微信管理后台的信息,创建一条记录:
企业名称对应企业微信后台的企业简称
企业ID对应企业微信后台的CorpID
应用名称对应企业微信后台需要关联应用的名称
应用Secret对应企业微信后台需要关联应用的Secret
应用ID对应企业微信后台需要关联应用的AgentId
然后保存,就会形成一条企业微信配置记录,不要再新建额外的记录。
3)进入用户的维护界面,在企业微信属性,输入用户的企业微信账号(需要在企业微信后台进行查看)。管理员可以统一维护,用户也可以维护自己的账户信息进行维护。
4)创建问题时,就会向相关跟踪或指派的用户(已关联上企业微信账号)推送企业微信消息。
已知bug
指派给组会发生报错(0.0.9版已修复)。
复制issue也会报错(0.0.9版已修复)。
贡献人员
主要由深圳德讯开发团队开发并完成,感谢GracieYu,MiseryT,Daxiang等。
感谢「微笑、晴天,确认了也能够支持微信企业号,并指出文档说明问题。
感谢沧海云帆,配合完成钉钉免登功能。
感谢Isaac Liu在技术上的大力支持,也感谢中国最大的Redmine qq讨论群(138524445)。

Changelog

0.3.0 (2022-04-26)

Compatible with Redmine 5.0.x, 4.2.x, 4.1.x, 4.0.x, 3.4.x, 3.3.x.

初步适配Redmine 5。

0.2.9 (2022-04-25)

Compatible with Redmine 4.2.x, 4.1.x, 4.0.x, 3.4.x, 3.3.x.

增加了bitnami一键式安装在windows环境下的支持方法。

0.2.8 (2022-04-24)

Compatible with Redmine 4.2.x, 4.1.x, 4.0.x, 3.4.x, 3.3.x.

做了验证,企业微信功能可以兼容4.1和4.2。
更新相关的说明文本,并把代码仓库转换到gitee。

0.2.7 (2019-01-15)

Compatible with Redmine 4.0.x, 3.4.x, 3.3.x.

同时兼容4.0和3.4。

0.2.6 (2019-01-15)

Compatible with Redmine 4.0.x, 3.4.x, 3.3.x.

兼容Redmine 4.0。

0.2.5 (2018-12-21)

Compatible with Redmine 3.4.x, 3.3.x.

关闭钉钉审批实验性代码和配置选项。

0.2.4 (2018-09-17)

Compatible with Redmine 3.4.x, 3.3.x.

加入钉钉配置注意事项,工号改为UserID以避免混淆。

0.2.3 (2018-09-12)

Compatible with Redmine 3.4.x, 3.3.x.

钉钉扫码可能存在缺陷,初步猜测由于全局变量引起的,优化了代码。

0.2.2 (2018-08-31)

Compatible with Redmine 3.4.x, 3.3.x.

修复在某些环境下(比如一键安装)的语法问题。

0.2.1 (2018-08-31)

Compatible with Redmine 3.4.x, 3.3.x.

增加PC桌面版钉钉免登功能。

0.2.0 (2018-08-29)

Compatible with Redmine 3.4.x, 3.3.x.

加入钉钉APP内的免登功能,如果从钉钉APP内的消息或者工作台中进入redmine,可以无需输入用户名和密码,凭借钉钉用户授权就可以直接登录。前提是启用扫码登录功能,这个便捷功能才能生效。

0.1.9 (2017-09-22)

Compatible with Redmine 3.4.x, 3.3.x.

加入首次绑定的提示;
同时也支持最新版本。

0.1.8 (2017-09-20)

Compatible with Redmine 3.3.x.

修复只推送给作者和指派者的缺陷。

0.1.7 (2017-09-20)

Compatible with Redmine 3.3.x.

由于dingtalk对同一用户,相同文本的推送,一天只允许一次,
在跟进信息中加入序列后缀,避免相同信息推送被dingtalk屏蔽。

0.1.6 (2017-09-18)

Compatible with Redmine 3.3.x.

初步加入dingtalk审批。

QQ截图20170918201637.png (59.4 KB) QQ截图20170918201637.png Tigergm Wu, 2017-09-18 14:17

0.1.5 (2017-09-11)

Compatible with Redmine 3.3.x.

彻底把配置的symbol也改为字串形式,避免保存之后不显示的问题。

0.1.4 (2017-09-06)

Compatible with Redmine 3.3.x.

出于安全原因,钉钉员工号只允许管理员维护,不允许普通账户随意维护工号字段,以减少信息推送给非授权人员的隐患;
相关字段更改为工号称呼。

0.1.3 (2017-09-04)

Compatible with Redmine 3.3.x.

更改symbol为字串模式,有的ruby版本可能读不出symbol;
设置栏目名称调整;
网页里加入异常处理,防止初始安装插件时报错。

0.1.2 (2017-08-31)

Compatible with Redmine 3.3.x.

修复固定配置信息的问题。

0.1.1 (2017-08-29)

Compatible with Redmine 3.3.x.

最新插件已经初步集成了钉钉扫码登录的功能,插件名称也适当调整,该功能需要钉钉后台以开发者登录,创建自助登录应用,记录相应的应用ID、Secret和回调地址,并照着写入到企业微信和钉钉插件的配置界面的钉钉扫码登录的栏目里,回调地址一定要在钉钉里设定为redmine的登录地址,比如http://www.redmineurl.com/login。
当前的机制比较简单,登录时首先看是否在插件配置里设定了钉钉扫码登录信息,如果都配置了,则会在登录界面下方显示钉钉的二维码;
用手机上的钉钉app扫描二维码,并授权登录,此时登录界面会判断是否有用户绑定了该钉钉的ID,如果存在,则自动登录,无需输入用户名和密码,如没有绑定,此时可以输入用户名和密码登录,成功登陆后自动绑定。
如果想取消或者更改当前redmine用户的钉钉绑定,可以在我的账户里,把钉钉唯一标识字段置空,即可。
以上的设定细节比较多,需要具备一定的开发基础和钉钉后台的设置经验。另外,初步实现会有很多缺陷和使用上的不完善,以后慢慢优化。

QQ截图20170829194723.png (11.3 KB) QQ截图20170829194723.png Tigergm Wu, 2017-08-29 13:49

0.1.0 (2017-08-10)

Compatible with Redmine 3.3.x.

修复了上一版本钉钉推送的url错误;
统一钉钉和企业微信的url构建方式;
在钉钉的信息标题加入项目名称。

QQ截图20170810144920.png (112 KB) QQ截图20170810144920.png Tigergm Wu, 2017-08-10 08:50

0.0.9 (2017-08-02)

Compatible with Redmine 3.3.x.

修复两个已知的缺陷,issue复制和分配给组。

0.0.8 (2017-08-02)

Compatible with Redmine 3.3.x.

增加了钉钉的消息推送,理论上,有两个平台的应用,配置正确后,都会进行消息推送,甚至同时推送,但一般来讲,一个企业会选择其中之一作为移动办公之选,不用的平台,管理配置里置空就好。 该插件继续保留企业微信的名称,以后视情况做调整,如果集成了钉钉更多的功能,比如单点登录等,可能会考虑更改插件名称。 由于钉钉功能只是初步加入,可能会有很多缺陷,另外,其安装细节以后有时间补充,与企业微信类同,一般是在钉钉的管理后台创建微应用,记录企业标识、创建企业secret,记录该应用标识,填入到插件配置的钉钉配置里,然后再在用户账户里,填入所对应的钉钉账户标识,就可以实现钉钉信息推送。

0.0.7 (2017-07-31)

Compatible with Redmine 3.3.x.

重写插件配置界面,更符合redmine机制,同时全部采用locale,不在代码里直接写特定文本。
从0.0.7版本开始,就直接在配置界面维护,不需要新建记录,原来老版本的请注意重新维护一下配置信息,以前的新建记录将不再生效,除非不想升级。
另外,务必保证配置信息的准确无误,错一个符号都可能导致不能正常推送企业微信消息。

0.0.6 (2017-04-21)

Compatible with Redmine 3.3.x.

去掉多余的gem源,更新说明文档。
经测,也能够支持微信企业号的应用消息推送。

0.0.5 (2017-04-05)

Compatible with Redmine 3.3.x.

屏蔽插件多余的注册器,否则影响全局搜索。

0.0.4 (2017-03-31)

Compatible with Redmine 3.3.x.

修复url被写成固定地址的缺陷,改为配置的主机。
更新README,补充对于主机地址的配置要求。

0.0.3 (2017-03-31)

Compatible with Redmine 3.3.x.

修复依赖于其他插件的缺陷。

0.0.2 (2017-03-28)

Compatible with Redmine 3.3.x.

0.0.2预期加入日期时间信息(由于企业微信的消息已自带信息,这个看情况再定夺)。

0.0.1 (2017-03-23)

Compatible with Redmine 3.3.x.

init.

QQ截图20170323145803.png (263 KB) QQ截图20170323145803.png Tigergm Wu, 2017-03-23 08:01
Redmine群聊二维码.png (8.68 KB) Redmine群聊二维码.png Tigergm Wu, 2019-02-15 04:47

User ratings

  by Qiang Gao 3 months ago

  by 五月 袁 about 2 years ago

  by zhixin gu about 2 years ago

  by xi won over 5 years ago

  by Quincy Wang about 6 years ago

  by kui li over 6 years ago

请问,在Linux中用bitnami一键安装的redmine,可以安装和使用该插件吗?

  by biqu liu over 6 years ago

  by Steven Wong over 6 years ago

Great!!!
looking forward the next version. Thanks so much!!!
urrr
another bug, for 0.1.3
please check it.
https://bitbucket.org/39648421/redmine_work_wechat/issues/8/500

  by hans tele over 6 years ago

支持一下,虽然没看懂怎么mention用户

  by yun zhang about 7 years ago

  by 彦少 陈 about 7 years ago

  by zuofeng Zhang about 7 years ago

兄弟!支持你!需要这个功能很久了!Thank you~!