文章分类

TortoiseSVN集成禅道插件发布

2016-10-24 13:12:00    王怡栋    6105    原创

大家好,TortoiseSVN可以和禅道集成了。在TortoiseSVN中提交代码就可以自动更新关联禅道的任务和Bug。

感谢网友张彪的开发。https://zb.oschina.net/developer/583244

一、下载地址

1、源代码:https://github.com/easysoft/zentaoextension/tree/master/client/tortoise

2、安装包:http://dl.cnezsoft.com/zentao/tortoise/TurtleZenTao-20161026.rar

注:8.3以前版本,提交代码的日志不能记录。因为还没有记录的API。可以到https://github.com/easysoft/zentaopms/blob/master/module/svn/control.php,将最新control.php文件替换到本地。

二、安装及使用

1、安装

下载安装包并且解压到不含中文路径的目录中,双击TurtleZenTao.exe。

2、配置

1) 打开tortoiseSVN的配置页面。


2) 找到配置页面中的 Hook Scripts -> Issue Tracker Integration,点击添加

3) 如图填写内容并保存。

3、使用

1) 如果安装成功并且配置正确,在提交页面会有 “从禅道中选择” 按钮

2) 点击该按钮进入选择禅道页面,如果第一次使用,首先需要添加禅道关联。

3) 在站点编辑页面,按照提示填写正确的禅道网址及用户名和密码。点击添加,即可关联禅道。

4) 在网址管理页面中,双击需要关联提交的禅道,如果站点配置正确。就可以获取该站点指派者自己的任务和Bug。

5) 勾选该次提交所涉及的任务或Bug。点击 确定 按钮。

注:勾选任务的时候需要填写工时信息。

6) 会根据勾选内容自动升级提交日志

7) 最后点击提交。插件后自动调用禅道API,修改Bug或任务数据,添加禅道日志。


评论列表
mas   2017/10/25 14:10
您好,该插件在使用中,选择任务时,如果勾选了完成,禅道中并不会直接完成相应任务,仍然需要到禅道中手动点击完成吗?
石洋洋   2017/10/25 16:10
加一下本网页最上方的QQ,他会邀请加入禅道官方QQ群,在群里提问一下这个问题 找洋洋 获取文件。
陈女士   2017/05/17 15:05
这个插件好像只能在日志里写入已消耗的工时,不能更新任务进度?
石洋洋   2017/05/18 10:05
进度= 消耗/(消耗+剩余) 是根据工时信息计算出来的。
清♬风   2017/04/18 16:04
如上配置了,安装了也提示安装成功,但是svn提交界面没有"从禅道选择"。。
清♬风   2017/04/18 17:04
我知道了,eclipse里的svn插件没效果,有效果的是小乌龟。。。,那么问题来了eclipse插件什么时候可以做掉?如果能搞掉,那就太爽啦。
石洋洋   2017/04/18 17:04
重新操作一遍试试。
╰ˋ岁月的沙漏.-、   2017/04/07 11:04
有可能把各个文件解压到桌面造成的。现在好了。
只是有个问题,状态是改成已解决了,但指派人还是我,应该指派给Bug创建者吧?
石洋洋   2017/04/07 12:04
应该是指派给创建人的,这个插件的实现是众包实现的,目前我们没有修改能力,相关代码是开源的,贵公司有修改代码的能力的话可以先自己修改一下。
╰ˋ岁月的沙漏.-、   2017/04/07 11:04
win10 报错:failed to start the issue tracker com provider “TurtleZenTaoLib”
石洋洋   2017/04/07 12:04
这个插件的实现是众包实现的,目前我们没有修改能力,相关代码是开源的,贵公司有修改代码的能力的话可以先自己修改一下。
klgd   2016/12/26 17:12
有个小问题:
提交svn关联bug,选择已解决,禅道上也会修改为已解决,没问题
但是一般开发解决bug后,这个bug会指派测试或者是这个bug的创建者,禅道上的“解决”操作页面也是有默认的指派对象的
而这个插件没有这样指派,我不得不再手动指派一次
不知道这个问题可以处理吗?
石洋洋   2016/12/26 17:12
谢谢反馈,我们看看能不能处理一下,目前bug解决默认是指派给创建人确认的,这个集成插件上暂时不能设置指派人。
石洋洋   2016/12/26 17:12
这个插件的代码是开源的,贵公司也可以自己修改一下。
  2016/11/15 08:11
svn Commit之后发送邮件给任务创建者,邮件内容不对,发送的邮件内容如下:
{"status":"success","data":"{\"title\":\"\",\"task\":{\"id\":\"178\",\"project\":\"8\",\"module\":\"0\",\"story\":\"0\",\"storyVersion\":\"1\",\"fromBug\":\"0\",\"name\":\"\\u4f73\\u4f73\\u51cf\\u80a5\\u8be6\\u60c5\\u9875\\u589e\\u52a0\\u8bc4\\u8bba\\u548c\\u70b9\\u8d5e\",\"type\":\"devel\",\"pri\":\"0\",\"estimate\":\"0\",\"consumed\":\"30\",\"left\":\"0\",\"deadline\":\"2016-11-15\",\"status\":\"done\",\"color\":\"\",\"mailto\":\"\",\"desc\":\"\",\"openedBy\":\"liufangliang\",\"openedDate\":\"2016-11-11 16:04:18\",\"assignedTo\":\"liufangliang\",\"assignedDate\":\"2016-11-14 14:23:33\",\"estStarted\":\"2016-11-11\",\"realStarted\":\"2016-11-11\",\"finishedBy\":\"wangguibin\",\"finishedDate\":\"2016-11-14 14:23:33\",\"canceledBy\":\"\",\"canceledDate\":\"\",\"closedBy\":\"\",\"closedDate\":\"\",\"closedReason\":\"\",\"lastEditedBy\":\"wangguibin\",\"lastEditedDate\":\"2016-11-14 14:23:33\",\"deleted\":\"0\",\"storyID\":null,\"storyTitle\":null,\"latestStoryVersion\":null,\"storyStatus\":null,\"assignedToRealName\":\"\\u5218\\u65b9\\u4eae\",\"files\":[],\"needConfirm\":false},\"project\":{\"id\":\"8\",\"isCat\":\"0\",\"catID\":\"0\",\"type\":\"sprint\",\"parent\":\"0\",\"name\":\"\\u4f73\\u4f73\\u51cf\\u80a5\\u667a\\u80fd\\u63a8\\u9001\\u529f\\u80fd\",\"code\":\"\\u667a\\u80fd\\u63a8\\u9001\",\"begin\":\"2016-11-11\",\"end\":\"2016-11-16\",\"days\":\"4\",\"status\":\"wait\",\"statge\":\"1\",\"pri\":\"1\",\"desc\":\"\\u4f73\\u4f73\\u51cf\\u80a5\\u624b\\u673a\\u7248\\u9996\\u9875\\u6539\\u9020\\u667a\\u80fd\\u63a8\\u9001\\u529f\\u80fd\\uff0c\\u6839\\u636e\\u8be6\\u60c5\\u9875\\u5185\\u5bb9\\u7684\\u6807\\u7b7e\\u83b7\\u53d6\\u6570\\u636e\\u5e93\\u76f8\\u5173\\u7684\\u6570\\u636e\\u3002\\u589e\\u52a0\\u6807\\u7b7e\\u8868\\uff0c\\u5b9e\\u73b0\\u901a\\u8fc7\\u6807\\u7b7e\\u8868\\u641c\\u7d22\\u63d0\\u9ad8\\u641c\\u7d22\\u6027\\u80fd\\u3002\",\"openedBy\":\"\",\"o penedDate\":\"0\",\"openedVersion\":\"8.2.4\",\"closedBy\":\"\",\"closedDate\":\"0\",\"canceledBy\":\"\",\"canceledDate\":\"0\",\"PO\":\"\",\"PM\":\"\",\"QD\":\"\",\"RD\":\"\",\"team\":\"\\u6280\\u672f\\u90e8\",\"acl\":\"open\",\"whitelist\":\"\",\"order\":\"40\",\"deleted\":\"0\",\"totalHours\":\"420.0\",\"totalEstimate\":0,\"totalConsumed\":48,\"totalLeft\":4},\"members\":{\"\":\"\",\"admin\":\"A:admin\",\"caixilan\":\"C:\\u8521\\u559c\\u5170\",\"chenwei\":\"C:\\u9648\\u4f1f\",\"gaoyijie\":\"G:\\u9ad8\\u4e49\\u6770\",\"huangzedong\":\"H:\\u9ec4\\u6cfd\\u4e1c\",\"hushanshan\":\"H:\\u80e1\\u73ca\\u73ca\",\"liufangliang\":\"L:\\u5218\\u65b9\\u4eae\",\"liuyang\":\"L:\\u5218\\u6d0b\",\"liuyinghua\":\"L:\\u5218\\u82f1\\u82b1\",\"wangguibin\":\"W:\\u738b\\u8d35\\u5bbe\",\"wangxueyu\":\"W:\\u738b\\u5b66\\u7389\",\"wangzhiqiang\":\"W:\\u738b\\u5fd7\\u5f3a\",\"yujie\":\"Y:\\u90c1\\u6770\",\"yuxiaofeng\":\"Y:\\u4e8e\\u6653\\u5cf0\",\"zhaojing\":\"Z:\\u8d75\\u9759\"},\"actions\":{\"1438\":{\" id\":\"1438\",\"objectType\":\"task\",\"objectID\":\"178\",\"product\":\",4,\",\"project\":\"8\",\"actor\":\"liufangliang\",\"action\":\"opened\",\"date\":\"2016-11-11 16:04:18\",\"comment\":\"\",\"extra\":\"\",\"read\":\"1\",\"history\":[]},\"1439\":{\"id\":\"1439\",\"objectType\":\"task\",\"objectID\":\"178\",\"product\":\",4,\",\"project\":\"8\",\"actor\":\"liufangliang\",\"action\":\"started\",\"date\":\"2016-11-11 16:04:41\",\"comment\":\"\",\"extra\":\"\",\"read\":\"1\",\"history\":[{\"id\":\"1334\",\"action\":\"1439\",\"field\":\"realStarted\",\"old\":\"0000-00-00\",\"new\":\"2016-11-11\",\"diff\":\"\"},{\"id\":\"1335\",\"action\":\"1439\",\"field\":\"consumed\",\"old\":\"0\",\"new\":\"30\",\"diff\":\"\"},{\"id\":\"1336\",\"action\":\"1439\",\"field\":\"left\",\"old\":\"0\",\"new\":\"10\",\"diff\":\"\"},{\"id\":\"1337\",\"action\":\"1439\",\"field\":\"assignedTo\",\"old\":\"wangguibin\",\"new\":\"liufangliang\",\"diff\":\"\"},{\"id\":\"1338\",\"action\":\"1439\",\"field\":\"status\",\"old\":\"wait\",\"new\":\"doing\",\"diff\":\"\"}]},\"1442\":{\"id\":\"1442\",\"objectType\":\"task\",\"objectID\":\"178\",\"product\":\",4,\",\"project\":\"8\",\"actor\":\"liufangliang\",\"action\":\"assigned\",\"date\":\"2016-11-11 16:05:46\",\"comment\":\"\",\"extra\":\"wangguibin\",\"read\":\"1\",\"history\":[{\"id\":\"1348\",\"action\":\"1442\",\"field\":\"assignedTo\",\"old\":\"liufangliang\",\"new\":\"wangguibin\",\"diff\":\"\"}]},\"1487\":{\"id\":\"1487\",\"objectType\":\"task\",\"objectID\":\"178\",\"product\":\",4,\",\"project\":\"8\",\"actor\":\"liuyang\",\"action\":\"finished\",\"date\":\"2016-11-11 17:13:23\",\"comment\":\"\",\"extra\":\"\",\"read\":\"1\",\"history\":[{\"id\":\"1355\",\"action\":\"1487\",\"field\":\"assignedTo\",\"old\":\"wangguibin\",\"new\":\"liufangliang\",\"diff\":\"\"},{\"id\":\"1356\",\"action\":\"1487\",\"field\":\"finishedDate\",\"old\":\"\",\"new\":\"2016-11-11 17:13:23\",\"diff\":\"\"},{\"id\":\"1357\",\"action\":\"1487\",\"field\":\"left\",\"old\":\"10\",\"new\":\"0\",\"diff\":\"\"},{\"id\":\"1358\",\"action\":\"1487\",\"field\":\"status\",\"old\":\"doing\",\"new\":\"done\",\"diff\":\"\"},{\"id\":\"1359\",\"action\":\"1487\",\"field\":\"finishedBy\",\"old\":\"\",\"new\":\"liuyang\",\"diff\":\"\"}]},\"1499\":{\"id\":\"1499\",\"objectType\":\"task\",\"objectID\":\"178\",\"product\":\",4,\",\"project\":\"8\",\"actor\":\"wangguibin\",\"action\":\"assigned\",\"date\":\"2016-11-12 09:00:24\",\"comment\":\"\",\"extra\":\"wangguibin\",\"read\":\"1\",\"history\":[{\"id\":\"1374\",\"action\":\"1499\",\"field\":\"assignedTo\",\"old\":\"liufangliang\",\"new\":\"wangguibin\",\"diff\":\"\"}]},\"1500\":{\"id\":\"1500\",\"objectType\":\"task\",\"objectID\":\"178\",\"product\":\",4,\",\"project\":\"8\",\"actor\":\"wangguibin\",\"action\":\"assigned\",\"date\":\"2016-11-12 09:01:09\",\"comment\":\"\",\"extra\":\"wangguibin\",\"read\":\"1\",\"history\":[{\"id\":\"1375\",\"action\":\"1500\",\"field\":\"left\",\"old\":\"0\",\"new\":\"8\",\"diff\":\"\"}]},\"1504\":{\"id\":\"1504\",\"objectType\":\"task\",\"objectID\":\"178\",\"product\":\",4,\",\"project\":\"8\",\"actor\":\"wangguibin\",\"action\":\"edited\",\"date\":\"2016-11-12 09:02:58\",\"comment\":\"\",\"extra\":\"\",\"read\":\"1\",\"history\":[{\"id\":\"1378\",\"action\":\"1504\",\"field\":\"status\",\"old\":\"done\",\"new\":\"doing\",\"diff\":\"\"},{\"id\":\"1379\",\"action\":\"1504\",\"field\":\"finishedBy\",\"old\":\"liuyang\",\"new\":\"\",\"diff\":\"\"},{\"id\":\"1380\",\"action\":\"1504\",\"field\":\"finishedDate\",\"old\":\"2016-11-11 17:13:23\",\"new\":\"\",\"diff\":\"\"}]},\"1507\":{\"id\":\"1507\",\"objectType\":\"task\",\"objectID\":\"178\",\"product\":\",4,\",\"project\":\"8\",\"actor\":\"wangguibin\",\"action\":\"finished\",\"date\":\"2016-11-12 09:05:14\",\"comment\":\"\",\"extra\":\"\",\"read\":\"1\",\"history\":[{\"id\":\"1387\",\"action\":\"1507\",\"field\":\"assignedTo\",\"old\":\"wangguibin\",\"new\":\"liufangliang\",\"diff\":\"\"},{\"id\":\"1388\",\"action\":\"1507\",\"field\":\"finishedDate\",\"old\":\"\",\"new\":\"2016-11-12 09:05:14\",\"diff\":\"\"},{\"id\":\"1389\",\"action\":\"1507\",\"field\":\"left\",\"old\":\"8\",\"new\":\"0\",\"diff\":\"\"},{\"id\":\"1390\",\"action\":\"1507\",\"field\":\"status\",\"old\":\"doing\",\"new\":\"done\",\"diff\":\"\"},{\"id\":\"1391\",\"action\":\"1507\",\"field\":\"finishedBy\",\"old\":\"\",\"new\":\"wangguibin\",\"diff\":\"\"}]},\"1509\":{\"id\":\"1509\",\"objectType\":\"task\",\"objectID\":\"178\",\"product\":\",4,\",\"project\":\"8\",\"actor\":\"wangguibin\",\"action\":\"edited\",\"date\":\"2016-11-12 09:06:45\",\"comment\":\"\",\"extra\":\"\",\"read\":\"1\",\"history\":[{\"id\":\"1395\",\"action\":\"1509\",\"field\":\"status\",\"old\":\"done\",\"new\":\"wait\",\"diff\":\"\"},{\"id\":\"1396\",\"action\":\"1509\",\"field\":\"finishedBy\",\"old\":\"wangguibin\",\"new\":\"\",\"diff\":\"\"},{\"id\":\"1397\",\"action\":\"1509\",\"field\":\"finishedDate\",\"old\":\"2016-11-12 09:05:14\",\"new\":\"\",\"diff\":\"\"}]},\"1510\":{\"id\":\"1510\",\"objectType\":\"task\",\"objectID\":\"178\",\"product\":\",4,\",\"project\":\"8\",\"actor\":\"wangguibin\",\"action\":\"started\",\"date\":\"2016-11-12 09:08:29\",\"comment\":\"\",\"extra\":\"\",\"read\":\"1\",\"history\":[{\"id\":\"1398\",\"action\":\"1510\",\"field\":\"left\",\"old\":\"0\",\"new\":\"30\",\"diff\":\"\"},{\"id\":\"1399\",\"action\":\"1510\",\"field\":\"assignedTo\",\"old\":\"liufangliang\",\"new\":\"wangguibin\",\"diff\":\"\"},{\"id\":\"1400\",\"action\":\"1510\",\"field\":\"status\",\"old\":\"wait\",\"new\":\"doing\",\"diff\":\"\"}]},\"1636\":{\"id\":\"1636\",\"objectType\":\"task\",\"objectID\":\"178\",\"product\":\"0\",\"project\":\"8\",\"actor\":\"wangguibin\",\"action\":\"svncommited\",\"date\":\"2016-11-14 11:30:40\",\"comment\":\"Task#178 \\u4f73\\u4f73\\u51cf\\u80a5\\u8be6\\u60c5\\u9875\\u589e\\u52a0\\u8bc4\\u8bba\\u548c\\u70b9\\u8d5e, cost:30 left:5\",\"extra\":\"1144\",\"read\":\"1\",\"history\":[{\"id\":\"1516\",\"action\":\"1636\",\"field\":\"subversion\",\"old\":\"\",\"new\":\"\",\"diff\":\"\\\/tst.txt view<\\\/a>\"}]},\"1638\":{\"id\":\"1638\",\"objectType\":\"task\",\"objectID\":\"178\",\"product\":\",4,\",\"project\":\"8\",\"actor\":\"wangguibin\",\"action\":\"finished\",\"date\":\"2016-11-14 11:31:15\",\"comment\":\"\",\"extra\":\"\",\"read\":\"1\",\"history\":[{\"id\":\"1517\",\"action\":\"1638\",\"field\":\"assignedTo\",\"old\":\"wangguibin\",\"new\":\"liufangliang\",\"diff\":\"\"},{\"id\":\"1518\",\"action\":\"1638\",\"field\":\"finishedDate\",\"old\":\"\",\"new\":\"2016-11-14 11:31:15\",\"diff\":\"\"},{\"id\":\"1519\",\"action\":\"1638\",\"field\":\"left\",\"old\":\"30\",\"new\":\"0\",\"diff\":\"\"},{\"id\":\"1520\",\"action\":\"1638\",\"field\":\"status\",\"old\":\"doing\",\"new\":\"done\",\"diff\":\"\"},{\"id\":\"1521\",\"action\":\"1638\",\"field\":\"finishedBy\",\"old\":\"\",\"new\":\"wangguibin\",\"diff\":\"\"}]},\"1639\":{\"id\":\"1639\",\"objectType\":\"task\",\"objectID\":\"178\",\"product\":\"0\",\"project\":\"8\",\"actor\":\"wangguibin\",\"action\":\"svncommited\",\"date\":\"2016-11-14 11:31:16\",\"comment\":\"Finish Task#178 \\u4f73\\u4f73\\u51cf\\u80a5\\u8be6\\u60c5\\u9875\\u589e\\u52a0\\u8bc4\\u8bba\\u548c\\u70b9\\u8d5e, cost:30 left:0\",\"extra\":\"1145\",\"read\":\"1\",\"history\":[{\"id\":\"1522\",\"action\":\"1639\",\"field\":\"subversion\",\"old\":\"\",\"new\":\"\",\"diff\":\"\\\/tst.txt view<\\\/a>\"}]},\"1640\":{\"id\":\"1640\",\"objectType\":\"task\",\"objectID\":\"178\",\"product\":\",4,\",\"project\":\"8\",\"actor\":\"wangguibin\",\"action\":\"activated\",\"date\":\"2016-11-14 11:32:28\",\"comment\":\"\",\"extra\":\"\",\"read\":\"1\",\"history\":[{\"id\":\"1523\",\"action\":\"1640\",\"field\":\"assignedTo\",\"old\":\"liufangliang\",\"new\":\"wangguibin\",\"diff\":\"\"},{\"id\":\"1524\",\"action\":\"1640\",\"field\":\"left\",\"old\":\"0\",\"new\":\"30\",\"diff\":\"\"},{\"id\":\"1525\",\"action\":\"1640\",\"field\":\"uid\",\"old\":\"\",\"new\":\"Infinity\",\"diff\":\"\"},{\"id\":\"1526\",\"action\":\"1640\",\"field\":\"status\",\"old\":\"done\",\"new\":\"doing\",\"diff\":\"\"},{\"id\":\"1527\",\"action\":\"1640\",\"field\":\"finishedBy\",\"old\":\"wangguibin\",\"new\":\"\",\"diff\":\"\"},{\"id\":\"1528\",\"action\":\"1640\",\"field\":\"finishedDate\",\"old\":\"2016-11-14 11:31:15\",\"new\":\"0000-00-00\",\"diff\":\"\"},{\"id\":\"1529\",\"action\":\"1640\",\"field\":\"canceledDate\",\"old\":\"\",\"new\":\"0000-00-00\",\"diff\":\"\"},{\"id\":\"1530\",\"action\":\"1640\",\"field\":\"closedDate\",\"old\":\"\",\"new\":\"0000-00-00\",\"diff\":\"\"}]},\"1642\":{\"id\":\"1642\",\"objectType\":\"task\",\"objectID\":\"178\",\"product\":\",4,\",\"project\":\"8\",\"actor\":\"wangguibin\",\"action\":\"finished\",\"date\":\"2016-11-14 11:33:19\",\"comment\":\"\",\"extra\":\"\",\"read\":\"1\",\"history\":[{\"id\":\"1531\",\"action\":\"1642\",\"field\":\"assignedTo\",\"old\":\"wangguibin\",\"new\":\"liufangliang\",\"diff\":\"\"},{\"id\":\"1532\",\"action\":\"1642\",\"field\":\"finishedDate\",\"old\":\"\",\"new\":\"2016-11-14 11:33:19\",\"diff\":\"\"},{\"id\":\"1533\",\"action\":\"1642\",\"field\":\"left\",\"old\":\"30\",\"new\":\"0\",\"diff\":\"\"},{\"id\":\"1534\",\"action\":\"1642\",\"field\":\"status\",\"old\":\"doing\",\"new\":\"done\",\"diff\":\"\"},{\"id\":\"1535\",\"action\":\"1642\",\"field\":\"finishedBy\",\"old\":\"\",\"new\":\"wangguibin\",\"diff\":\"\"}]},\"1643\":{\"id\":\"1643\",\"objectType\":\"task\",\"objectID\":\"178\",\"product\":\"0\",\"project\":\"8\",\"actor\":\"wangguibin\",\"action\":\"svncommited\",\"date\":\"2016-11-14 11:33:20\",\"comment\":\"Finish Task#178 \\u4f73\\u4f73\\u51cf\\u80a5\\u8be6\\u60c5\\u9875\\u589e\\u52a0\\u8bc4\\u8bba\\u548c\\u70b9\\u8d5e, cost:30 left:0\\r\\n\\u5b8c\\u6210\\u4e86\",\"extra\":\"1146\",\"read\":\"1\",\"history\":[{\"id\":\"1536\",\"action\":\"1643\",\"field\":\"subversion\",\"old\":\"\",\"new\":\"\",\"diff\":\"\\\/tst.txt view<\\\/a>\"}]},\"1646\":{\"id\":\"1646\",\"objectType\":\"task\",\"objectID\":\"178\",\"product\":\",4,\",\"project\":\"8\",\"actor\":\"wangguibin\",\"action\":\"activated\",\"date\":\"2016-11-14 11:34:38\",\"comment\":\"\",\"extra\":\"\",\"read\":\"1\",\"history\":[{\"id\":\"1537\",\"action\":\"1646\",\"field\":\"assignedTo\",\"old\":\"liufangliang\",\"new\":\"wangguibin\",\"diff\":\"\"},{\"id\":\"1538\",\"action\":\"1646\",\"field\":\"left\",\"old\":\"0\",\"new\":\"30\",\"diff\":\"\"},{\"id\":\"1539\",\"action\":\"1646\",\"field\":\"uid\",\"old\":\"\",\"new\":\"582930c9ee4d2\",\"diff\":\"\"},{\"id\":\"1540\",\"action\":\"1646\",\"field\":\"status\",\"old\":\"done\",\"new\":\"doing\",\"diff\":\"\"},{\"id\":\"1541\",\"action\":\"1646\",\"field\":\"finishedBy\",\"old\":\"wangguibin\",\"new\":\"\",\"diff\":\"\"},{\"id\":\"1542\",\"action\":\"1646\",\"field\":\"finishedDate\",\"old\":\"2016-11-14 11:33:19\",\"new\":\"0000-00-00\",\"diff\":\"\"},{\"id\":\"1543\",\"action\":\"1646\",\"field\":\"canceledDate\",\"old\":\"\",\"new\":\"0000-00-00\",\"diff\":\"\"},{\"id\":\"1544\",\"action\":\"1646\",\"field\":\"closedDate\",\"old\":\"\",\"new\":\"0000-00-00\",\"diff\":\"\"}]},\"1648\":{\"id\":\"1648\",\"objectType\":\"task\",\"objectID\":\"178\",\"product\":\",4,\",\"project\":\"8\",\"actor\":\"wangguibin\",\"action\":\"finished\",\"date\":\"2016-11-14 11:35:17\",\"comment\":\"\",\"extra\":\"\",\"read\":\"1\",\"history\":[{\"id\":\"1545\",\"action\":\"1648\",\"field\":\"assignedTo\",\"old\":\"wangguibin\",\"new\":\"liufangliang\",\"diff\":\"\"},{\"id\":\"1546\",\"action\":\"1648\",\"field\":\"finishedDate\",\"old\":\"\",\"new\":\"2016-11-14 11:35:17\",\"diff\":\"\"},{\"id\":\"1547\",\"action\":\"1648\",\"field\":\"left\",\"old\":\"30\",\"new\":\"0\",\"diff\":\"\"},{\"id\":\"1548\",\"action\":\"1648\",\"field\":\"status\",\"old\":\"doing\",\"new\":\"done\",\"diff\":\"\"},{\"id\":\"1549\",\"action\":\"1648\",\"field\":\"finishedBy\",\"old\":\"\",\"new\":\"wangguibin\",\"diff\":\"\"}]},\"1649\":{\"id\":\"1649\",\"objectType\":\"task\",\"objectID\":\"178\",\"product\":\"0\",\"project\":\"8\",\"actor\":\"wangguibin\",\"action\":\"svncommited\",\"date\":\"2016-11-14 11:35:18\",\"comment\":\"Finish Task#178 \\u4f73\\u4f73\\u51cf\\u80a5\\u8be6\\u60c5\\u9875\\u589e\\u52a0\\u8bc4\\u8bba\\u548c\\u70b9\\u8d5e, cost:30 left:0\",\"extra\":\"1147\",\"read\":\"1\",\"history\":[{\"id\":\"1550\",\"action\":\"1649\",\"field\":\"subversion\",\"old\":\"\",\"new\":\"\",\"diff\":\"\\\/tst.txt view<\\\/a>\"}]},\"1650\":{\"id\":\"1650\",\"objectType\":\"task\",\"objectID\":\"178\",\"product\":\",4,\",\"project\":\"8\",\"actor\":\"wangguibin\",\"action\":\"activated\",\"date\":\"2016-11-14 11:36:54\",\"comment\":\"\",\"extra\":\"\",\"read\":\"1\",\"history\":[{\"id\":\"1551\",\"action\":\"1650\",\"field\":\"assignedTo\",\"old\":\"liufangliang\",\"new\":\"wangguibin\",\"diff\":\"\"},{\"id\":\"1552\",\"action\":\"1650\",\"field\":\"left\",\"old\":\"0\",\"new\":\"30\",\"diff\":\"\"},{\"id\":\"1553\",\"action\":\"1650\",\"field\":\"uid\",\"old\":\"\",\"new\":\"582931506f794\",\"diff\":\"\"},{\"id\":\"1554\",\"action\":\"1650\",\"field\":\"status\",\"old\":\"done\",\"new\":\"doing\",\"diff\":\"\"},{\"id\":\"1555\",\"action\":\"1650\",\"field\":\"finishedBy\",\"old\":\"wangguibin\",\"new\":\"\",\"diff\":\"\"},{\"id\":\"1556\",\"action\":\"1650\",\"field\":\"finishedDate\",\"old\":\"2016-11-14 11:35:17\",\"new\":\"0000-00-00\",\"diff\":\"\"},{\"id\":\"1557\",\"action\":\"1650\",\"field\":\"canceledDate\",\"old\":\"\",\"new\":\"0000-00-00\",\"diff\":\"\"},{\"id\":\"1558\",\"action\":\"1650\",\"field\":\"closedDate\",\"old\":\"\",\"new\":\"0000-00-00\",\"diff\":\"\"}]},\"1651\":{\"id\":\"1651\",\"objectType\":\"task\",\"objectID\":\"178\",\"product\":\",4,\",\"project\":\"8\",\"actor\":\"wangguibin\",\"action\":\"finished\",\"date\":\"2016-11-14 11:37:15\",\"comment\":\"\",\"extra\":\"\",\"read\":\"0\",\"history\":[{\"id\":\"1559\",\"action\":\"1651\",\"field\":\"assignedTo\",\"old\":\"wangguibin\",\"new\":\"liufangliang\",\"diff\":\"\"},{\"id\":\"1560\",\"action\":\"1651\",\"field\":\"finishedDate\",\"old\":\"\",\"new\":\"2016-11-14 11:37:15\",\"diff\":\"\"},{\"id\":\"1561\",\"action\":\"1651\",\"field\":\"uid\",\"old\":\"\",\"new\":\"582931686947a\",\"diff\":\"\"},{\"id\":\"1562\",\"action\":\"1651\",\"field\":\"left\",\"old\":\"30\",\"new\":\"0\",\"diff\":\"\"},{\"id\":\"1563\",\"action\":\"1651\",\"field\":\"status\",\"old\":\"doing\",\"new\":\"done\",\"diff\":\"\"},{\"id\":\"1564\",\"action\":\"1651\",\"field\":\"finishedBy\",\"old\":\"\",\"new\":\"wangguibin\",\"diff\":\"\"}]},\"1654\":{\"id\":\"1654\",\"objectType\":\"task\",\"objectID\":\"178\",\"product\":\",4,\",\"project\":\"8\",\"actor\":\"admin\",\"action\":\"activated\",\"date\":\"2016-11-14 14:16:51\",\"comment\":\"\",\"extra\":\"\",\"read\":\"0\",\"history\":[{\"id\":\"1565\",\"action\":\"1654\",\"field\":\"assignedTo\",\"old\":\"liufangliang\",\"new\":\"wangguibin\",\"diff\":\"\"},{\"id\":\"1566\",\"action\":\"1654\",\"field\":\"left\",\"old\":\"0\",\"new\":\"4\",\"diff\":\"\"},{\"id\":\"1567\",\"action\":\"1654\",\"field\":\"uid\",\"old\":\"\",\"new\":\"582956cee1609\",\"diff\":\"\"},{\"id\":\"1568\",\"action\":\"1654\",\"field\":\"status\",\"old\":\"done\",\"new\":\"doing\",\"diff\":\"\"},{\"id\":\"1569\",\"action\":\"1654\",\"field\":\"finishedBy\",\"old\":\"wangguibin\",\"new\":\"\",\"diff\":\"\"},{\"id\":\"1570\",\"action\":\"1654\",\"field\":\"finishedDate\",\"old\":\"2016-11-14 11:37:15\",\"new\":\"0000-00-00\",\"diff\":\"\"},{\"id\":\"1571\",\"action\":\"1654\",\"field\":\"canceledDate\",\"old\":\"\",\"new\":\"0000-00-00\",\"diff\":\"\"},{\"id\":\"1572\",\"action\":\"1654\",\"field\":\"closedDate\",\"old\":\"\",\"new\":\"0000-00-00\",\"diff\":\"\"}]}},\"action\":{\"id\":\"1657\",\"objectType\":\"task\",\"objectID\":\"178\",\"product\":\",4,\",\"project\":\"8\",\"actor\":\"wangguibin\",\"action\":\"finished\",\"date\":\"2016-11-14 14:23:33\",\"comment\":\"\",\"extra\":\"\",\"read\":\"0\",\"history\":[{\"id\":\"1573\",\"action\":\"1657\",\"field\":\"assignedTo\",\"old\":\"wangguibin\",\"new\":\"liufangliang\",\"diff\":\"\"},{\"id\":\"1574\",\"action\":\"1657\",\"field\":\"finishedDate\",\"old\":\"\",\"new\":\"2016-11-14 14:23:33\",\"diff\":\"\"},{\"id\":\"1575\",\"action\":\"1657\",\"field\":\"left\",\"old\":\"4\",\"new\":\"0\",\"diff\":\"\"},{\"id\":\"1576\",\"action\":\"1657\",\"field\":\"status\",\"old\":\"doing\",\"new\":\"done\",\"diff\":\"\"},{\"id\":\"1577\",\"action\":\"1657\",\"field\":\"finishedBy\",\"old\":\"\",\"new\":\"wangguibin\",\"diff\":\"\"}]},\"users\":{\"\":\"\",\"admin\":\"admin\",\"caixilan\":\"\\u8521\\u559c\\u5170\",\"ceshi\":\"ceshi\",\"chenwei\":\"\\u9648\\u4f1f\",\"gaoyijie\":\"\\u9ad8\\u4e49\\u6770\",\"huangzedong\":\"\\u9ec4\\u6cfd\\u4e1c\",\"hushanshan\":\"\\u80e1\\u73ca\\u73ca\",\"liufangliang\":\"\\u5218\\u65b9\\u4eae\",\"liuyang\":\"\\u5218\\u6d0b\",\"liuyinghua\":\"\\u5218\\u82f1\\u82b1\",\"maguanqun\":\"\\u9a6c\\u51a0\\u7fa4\",\"wangguibin\":\"\\u738b\\u8d35\\u5bbe\",\"wangxueyu\":\"\\u738b\\u5b66\\u7389\",\"wangzhiqiang\":\"\\u738b\\u5fd7\\u5f3a\",\"yujie\":\"\\u90c1\\u6770\",\"yuxiaofeng\":\"\\u4e8e\\u6653\\u5cf0\",\"zhangtingting\":\"zhangtingting\",\"zhaojing\ ":\"\\u8d75\\u9759\",\"closed\":\"Closed\"},\"pager\":null}","md5":"a72f6e7180ff302b78d914d2f0018d6b"}
石洋洋   2016/11/15 09:11
这个问题已经记录,谢谢反馈。
王彬   2016/11/14 11:11
svn任务更新之后发送邮件通知任务发布者是乱的json格式
石洋洋   2016/11/14 14:11
里面的内容是什么?能发出来看一下吗?
victor   2016/10/25 15:10
网址中如果包含端口号会报错

有关调用实时(JIT)调试而不是此对话框的详细信息,
请参见此消息的结尾。

************** 异常文本 **************
Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: <. Path '', line 0, position 0.
在 Newtonsoft.Json.JsonTextReader.ParseValue()
在 Newtonsoft.Json.JsonTextReader.Read()
在 Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ReadForType(JsonReader reader, JsonContract contract, Boolean hasConverter)
在 Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
在 Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
在 Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
在 Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
在 TurtleZenTaoLib.ZenTaoManage.getRequestType(String url)
在 TurtleZenTaoLib.ZenTaoManage.login(String url, String username, String password)
在 TurtleZenTaoLib.Plugin.enterIssueForm(String url, String user, String password)
在 System.Windows.Forms.Control.OnDoubleClick(EventArgs e)
在 System.Windows.Forms.ListView.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** 已加载的程序集 **************
mscorlib
程序集版本:4.0.0.0
Win32 版本:4.6.1586.0 built by: NETFXREL2
基本代码:file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
TurtleZenTaoLib
程序集版本:1.0.0.0
Win32 版本:1.0.0.0
基本代码:file:///F:/release/TurtleZenTaoLib.dll
----------------------------------------
System.Windows.Forms
程序集版本:4.0.0.0
Win32 版本:4.6.1586.0 built by: NETFXREL2
基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
程序集版本:4.0.0.0
Win32 版本:4.6.1586.0 built by: NETFXREL2
基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
程序集版本:4.0.0.0
Win32 版本:4.6.1586.0 built by: NETFXREL2
基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
程序集版本:4.0.0.0
Win32 版本:4.6.1586.0 built by: NETFXREL2
基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
程序集版本:4.0.0.0
Win32 版本:4.6.1586.0 built by: NETFXREL2
基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
程序集版本:4.0.0.0
Win32 版本:4.6.1586.0 built by: NETFXREL2
基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
mscorlib.resources
程序集版本:4.0.0.0
Win32 版本:4.6.1586.0 built by: NETFXREL2
基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
Newtonsoft.Json
程序集版本:4.5.0.0
Win32 版本:4.5.11.15520
基本代码:file:///F:/release/Newtonsoft.Json.DLL
----------------------------------------
System.ComponentModel.DataAnnotations
程序集版本:4.0.0.0
Win32 版本:4.6.1586.0
基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.ComponentModel.DataAnnotations/v4.0_4.0.0.0__31bf3856ad364e35/System.ComponentModel.DataAnnotations.dll
----------------------------------------
System.Runtime.Serialization
程序集版本:4.0.0.0
Win32 版本:4.6.1586.0 built by: NETFXREL2
基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Serialization/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll
----------------------------------------
System.Xml.Linq
程序集版本:4.0.0.0
Win32 版本:4.6.1586.0 built by: NETFXREL2
基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml.Linq/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll
----------------------------------------
System.Data
程序集版本:4.0.0.0
Win32 版本:4.6.1586.0 built by: NETFXREL2
基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Windows.Forms.resources
程序集版本:4.0.0.0
Win32 版本:4.6.1586.0 built by: NETFXREL2
基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
System.resources
程序集版本:4.0.0.0
Win32 版本:4.6.1586.0 built by: NETFXREL2
基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/System.resources.dll
----------------------------------------

************** JIT 调试 **************
要启用实时(JIT)调试,
该应用程序或计算机的 .config 文件(machine.config)的 system.windows.forms 节中必须设置
jitDebugging 值。
编译应用程序时还必须启用
调试。

例如:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

启用 JIT 调试后,任何未经处理的异常
都将被发送到在此计算机上注册的 JIT 调试器,
而不是由此对话框处理。


石洋洋   2016/10/25 16:10
谢谢反馈。


发表评论
  评论通过审核后显示。
浙ICP备12017616号
蝉知1.6