插件目录 » Redmine工作微信&DingTalk
作者 | 吴虎虎 | |
---|---|---|
网站 | https://gitee.com/tigergm/redmine_work_wechat | |
代码仓库 | https://gitee.com/tigergm/redmine_work_wechat | |
注册时间 | 2017-03-01 (超过7年前) | |
当前版本 | 0.3.0 | |
兼容性 | Redmine 5.0.x, 4.2.x, 4.1.x, 4.0.x, 3.4.x, 3.3.x | |
用户评分 |
这是一个适用于企业微信和钉钉的插件,它们都是中国最大的工作即时通讯工具。企业微信主要面向中国的中小型企业,而钉钉则属于中国酷炫的公司。因此,我们仅用中文介绍它们。它们在中国相互竞争,但都促进了中国的移动办公领域。我将它们的API集成到一个Redmine插件中。
该插件是企业微信的消息推送插件,官方地址是work.weixin.qq.com,不是微信或微信企业公众号(目前了解到,微信企业号也能支持)。
该插件实现了企业微信某个企业群体的Redmine消息推送,适用于已经使用企业微信进行沟通和管理的公司。
从0.0.8版本开始,增加了钉钉的消息推送功能。理论上,有两个平台的应用,配置正确后,都会进行消息推送,甚至可以同时推送。但通常情况下,一个企业会选择其中一个平台作为移动办公的选择,不使用的平台,在管理配置中留空即可。该插件继续保留企业微信的名称,未来可能会根据情况做出调整。如果集成了钉钉的更多功能,如单点登录等,可能会考虑更改插件名称。由于钉钉功能只是初步加入,可能会有很多缺陷,另外,其安装细节以后有时间补充。与企业微信类似,通常是在钉钉的管理后台创建微应用,记录企业标识、创建企业secret,记录该应用标识,填入到插件配置的钉钉配置中,然后在用户账户中,填入对应的钉钉账户标识(一定是员工UserID,而不是工号),就可以实现钉钉信息推送。
最新插件已初步集成了钉钉扫码登录功能,插件名称也适当调整。该功能需要钉钉后台以开发者身份登录,创建自助登录应用,记录相应的应用ID、Secret和回调地址,并将其写入到企业微信和钉钉插件的配置界面的钉钉扫码登录栏目中。回调地址必须在钉钉中设置为Redmine的登录地址,例如http://www.redmineurl.com/login。当前的机制比较简单,登录时首先会查看插件配置中是否设定了钉钉扫码登录信息。如果都配置了,则会在登录界面下方显示钉钉的二维码。用手机上的钉钉app扫描二维码并授权登录,此时登录界面会判断是否有用户绑定了该钉钉ID。如果存在,则自动登录,无需输入用户名和密码;如果没有绑定,此时可以输入用户名和密码登录,成功登录后自动绑定。如果想取消或更改当前Redmine用户的钉钉绑定,可以在“我的账户”中,将钉钉唯一标识字段留空即可。以上的设定细节较多,需要具备一定的开发基础和钉钉后台设置经验。另外,初步实现会有很多缺陷和使用上的不完善,以后慢慢优化。
从0.1.6版开始,在问题中可以启用钉钉审批,配置过程比较复杂。大致流程如下:首先,管理员在配置工作台中新增一个审批,增加审批表单的属性是4个单行编辑器(一定是单行编辑器,钉钉只支持有限的三种界面类型,不支持日期、数字、多行和文本等),依次命名为“项目”、“Issue号”、“标题”、“内容”。然后,记录此流程的编号,在插件配置中写入,配置一个部门,记录下部门id,尽量包含Redmine中需要参与审批的用户,也在插件配置中写入此部门id。注意同时利用消息推送的appid等信息。每个issue会有启动钉钉审批流程的链接,如果配置信息都正确,会在钉钉中发起审批,发起人是作者,指派人未审批者,跟踪者是抄送者。以上功能暂时先简单实现,后期看情况优化,比如增加查看钉钉的审批状态,按照项目配置不同的审批部门或是否启用审批流程等。功能很不完善,请有一定开发基础的试用,其他人慎用。也不要想能够发起请假等标准流程(因为钉钉的api受限)。
从0.2.0版开始,加入钉钉APP内的免登功能。如果从钉钉APP内的消息或工作台进入Redmine,可以无需输入用户名和密码,凭借钉钉用户授权就可以直接登录。前提是启用扫码登录功能,这个便捷功能才能生效。
从0.2.5版开始,屏蔽有关钉钉审批的实验性代码,关闭相关的配置选项,以减少该插件的复杂度,避免造成误解。
注意:当前插件不支持Windows系统下的服务,比如BitName一键安装或自行在Windows下配置的Rails环境等。
该问题应该在0.2.2版本后修复。*
另外,钉钉方面还有一些注意事项,配置时请注意:
1、信息推送只在插件配置中设定前三个字段即可;
2、信息推送复用了Redmine的邮件推送选项和账户邮件通知设置(不需要配置邮件),所以请注意不要禁用邮件推送的选项和账户中的邮件推送设置,例如必要勾选作者创建的任务邮件推送等;
3、目前钉钉是通过员工号进行信息推送和免登的,请注意统一维护Redmine中的工号字段;
4、通过钉钉唯一id进行扫描登录。
安装说明
企业微信消息插件安装指南
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)。
变更日志
0.3.0 (2022-04-26)
兼容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)
兼容Redmine 4.2.x, 4.1.x, 4.0.x, 3.4.x, 3.3.x.
增加了Windows环境下bitnami一键式安装的支持方法。
0.2.8 (2022-04-24)
兼容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)
兼容Redmine 4.0.x, 3.4.x, 3.3.x.
同时兼容4.0和3.4。
0.2.6 (2019-01-15)
兼容Redmine 4.0.x, 3.4.x, 3.3.x.
兼容Redmine 4.0。
0.2.5 (2018-12-21)
兼容Redmine 3.4.x、3.3.x。
关闭钉钉审批实验性代码和配置选项。
0.2.4 (2018-09-17)
兼容Redmine 3.4.x、3.3.x。
加入钉钉配置注意事项,工号改为UserID以避免混淆。
0.2.3 (2018-09-12)
兼容Redmine 3.4.x、3.3.x。
钉钉扫码可能存在缺陷,初步猜测由于全局变量引起的,优化了代码。
0.2.2 (2018-08-31)
兼容Redmine 3.4.x、3.3.x。
修复在某些环境下(比如一键安装)的语法问题。
0.2.1 (2018-08-31)
兼容Redmine 3.4.x、3.3.x。
增加PC桌面版钉钉免登功能。
0.2.0 (2018-08-29)
兼容Redmine 3.4.x、3.3.x。
加入钉钉APP内的免登功能,如果从钉钉APP内的消息或者工作台中进入redmine,可以无需输入用户名和密码,凭借钉钉用户授权就可以直接登录。前提是启用扫码登录功能,这个便捷功能才能生效。
0.1.9 (2017-09-22)
兼容Redmine 3.4.x、3.3.x。
加入首次绑定的提示;
同时也支持最新版本。
0.1.8 (2017-09-20)
兼容Redmine 3.3.x。
修复只推送给作者和指派者的缺陷。
0.1.7 (2017-09-20)
兼容Redmine 3.3.x。
由于钉钉对同一用户,相同文本的推送,一天只允许一次,
在跟进信息中加入序列后缀,避免相同信息推送被钉钉屏蔽。
0.1.6 (2017-09-18)
兼容Redmine 3.3.x。
初步加入钉钉审批。
0.1.5 (2017-09-11)
兼容Redmine 3.3.x。
彻底把配置的symbol也改为字符串形式,避免保存之后不显示的问题。
0.1.4 (2017-09-06)
兼容Redmine 3.3.x。
出于安全原因,钉钉员工号只允许管理员维护,不允许普通账户随意维护工号字段,以减少信息推送给非授权人员的隐患;
相关字段更改为工号称呼。
0.1.3 (2017-09-04)
兼容Redmine 3.3.x。
更改symbol为字符串模式,有的ruby版本可能读不出symbol;
设置栏目名称调整;
网页里加入异常处理,防止初始安装插件时报错。
0.1.2 (2017-08-31)
兼容Redmine 3.3.x。
修复固定配置信息的问题。
0.1.1 (2017-08-29)
兼容Redmine 3.3.x。
最新插件已经初步集成了钉钉扫码登录的功能,插件名称也适当调整,该功能需要钉钉后台以开发者登录,创建自助登录应用,记录相应的应用ID、Secret和回调地址,并照着写入到企业微信和钉钉插件的配置界面的钉钉扫码登录的栏目里,回调地址一定要在钉钉里设定为redmine的登录地址,比如http://www.redmineurl.com/login。
当前的机制比较简单,登录时首先看是否在插件配置里设定了钉钉扫码登录信息,如果都配置了,则会在登录界面下方显示钉钉的二维码;
用手机上的钉钉app扫描二维码,并授权登录,此时登录界面会判断是否有用户绑定了该钉钉的ID,如果存在,则自动登录,无需输入用户名和密码,如没有绑定,此时可以输入用户名和密码登录,成功登录后自动绑定。
如果想取消或者更改当前redmine用户的钉钉绑定,可以在我的账户里,把钉钉唯一标识字段置空,即可。
以上的设定细节比较多,需要具备一定的开发基础和钉钉后台的设置经验。另外,初步实现会有很多缺陷和使用上的不完善,以后慢慢优化。
0.1.0 (2017-08-10)
兼容Redmine 3.3.x。
修复了上一版本钉钉推送的url错误;
统一钉钉和企业微信的url构建方式;
在钉钉的信息标题加入项目名称。
0.0.9 (2017-08-02)
兼容Redmine 3.3.x。
修复两个已知的缺陷,issue复制和分配给组。
0.0.8 (2017-08-02)
兼容Redmine 3.3.x。
增加了钉钉的消息推送,理论上,有两个平台的应用,配置正确后,都会进行消息推送,甚至同时推送,但一般来讲,一个企业会选择其中之一作为移动办公之选,不用的平台,管理配置里置空就好。 该插件继续保留企业微信的名称,以后视情况做调整,如果集成了钉钉更多的功能,比如单点登录等,可能会考虑更改插件名称。 由于钉钉功能只是初步加入,可能会有很多缺陷,另外,其安装细节以后有时间补充,与企业微信类同,一般是在钉钉的管理后台创建微应用,记录企业标识、创建企业secret,记录该应用标识,填入到插件配置的钉钉配置里,然后再在用户账户里,填入所对应的钉钉账户标识,就可以实现钉钉信息推送。
0.0.7 (2017-07-31)
兼容Redmine 3.3.x。
重写插件配置界面,更符合redmine机制,同时全部采用locale,不在代码里直接写特定文本。
从0.0.7版本开始,就直接在配置界面维护,不需要新建记录,原来老版本的请注意重新维护一下配置信息,以前的新建记录将不再生效,除非不想升级。
另外,务必保证配置信息的准确无误,错一个符号都可能导致不能正常推送企业微信消息。
0.0.6 (2017-04-21)
兼容Redmine 3.3.x。
去掉多余的gem源,更新说明文档。
经测,也能够支持微信企业号的应用消息推送。
0.0.5 (2017-04-05)
兼容Redmine 3.3.x。
屏蔽插件多余的注册器,否则影响全局搜索。
0.0.4 (2017-03-31)
兼容Redmine 3.3.x。
修复url被写成固定地址的缺陷,改为配置的主机。
更新README,补充对于主机地址的配置要求。
0.0.3 (2017-03-31)
兼容Redmine 3.3.x。
修复依赖于其他插件的缺陷。
0.0.2 (2017-03-28)
兼容Redmine 3.3.x。
0.0.2预期加入日期时间信息(由于企业微信的消息已自带信息,这个看情况再定夺)。
0.0.1 (2017-03-23)
兼容Redmine 3.3.x。
init.