Targetprocess 作为Agile管理工具非常好使。我们用TP + bearychat来做任务的沟通。 TP目前是不支持comment push到指定的项目,因为其带出的字段中没有相关项目。但是在实际操作中,不同项目中US 和bug一定是对应不同的项目,推送到不同的组的,所以这点非常不方便。
TP的webhook可以参考
https://www.targetprocess.com/guide/integrations/web-hooks/targetprocess-web-hooks-use-case/
考虑到comment的推送非常重要,因此,我只好手动编译个了middle-webhook,先接受来至于TP的webhook,然后,转换并判定其属于指定的项目,如果是,则push到bearychat的自动机器人。
这是JSON template,用在TP端
{
"GeneralID": "{{GeneralID}}",
"EntityType": "{{GeneralType}}",
"EntityUri": "{{EntityUri}}",
"EntityName": "{{GeneralName}}",
"CreateDate": "{{CreateDate}}",
"Modification": "{{Modification}}",
"AuthorName": "{{AuthorName}}",
"Description": "{{Description |ToPlainText}}",
"remoteWebHook": "https://hook.bearychat.com/=你不知道我",
"ExpectedProjectName": "某项目"
}
加粗的是自己加的字段。
这里显示一下推送到bearychat端的JSON格式
{
"text": "[#后台 - 方案管理的数据设计和界面原型设计#](http://yourtp/TargetProcess2/entity/1777) was changed by Rock Jing on 2016/4/13 22:16:07",
"markdown": true,
"attachments": [
{
"title": "Comment was Created",
"text": "这个可以关闭掉了。 ",
"color": "#ffa500"
}
]
}
"text": "[#后台 - 方案管理的数据设计和界面原型设计#](http://yourtp/TargetProcess2/entity/1777) was changed by Rock Jing on 2016/4/13 22:16:07",
"markdown": true,
"attachments": [
{
"title": "Comment was Created",
"text": "这个可以关闭掉了。 ",
"color": "#ffa500"
}
]
}
整体比较简单,由于用mvc5创建的项目,用controller做的,结果,发现一个有意思的情况,mvc先一步拦截json,如果json格式不对,都无法进入到controller,这对调试非常恼火。unit test都过的方法居然无法执行。
最后,发现一个很简单的方式,就是使用在线的json先来验证一下,结果发现了几个不易察觉的小问题。
来张图结束这个话题吧。