最近在折腾Jira的二次开发说实话,二次开发需要对系统的架构有一定的了解才好下手虽然Jira这个产品很完善,官方有很详细的文档供开发者参考但小弟还是花了不少时間研究,开发了近一个月的时间现在把一些用到的知识和问题整理出来,与大家分享
这次开发主要是做一个中间件,用来连接jira系统和其他系统从而实现系统之间的相互的通信如创建一个问题(Issue),对jira里一些问题(即Issue)信息的修改流程步骤(workflowstep)的改变,添加与更新字段(Field)和自定义字段(customerField)的等等这里用到了jira-rest-java-client包来实现对jira的访问。
部分操作Jira的代码:
就上面这段代码都折腾了我好久特别是jira-rest-java-client的版本问题,最新的版本找不到需偠的函数却在旧的版本(1.1.m02,这个版本很奇葩吧)里有需要的函数该死的官方没有说清楚,害得我一个一个的测试这里想说的是changeIssueStatus这个方法,issue的workflow是不可以随便改变的必须按照流程图的顺序进行改变,其实就是提供一个id值图中红色的区域可查到具体的id值,比如当前issue的状态是open要改变成resolved的状态,就要"5"这个值即
同理,要改变成closed就用"2"这个值
既然是二次开发,系统就少不了前端开发那就要用到javascript了,考虑到Jira系统洎身的复杂和以后版本升级带来的问题所以没有对源码的js进行修改,而是利用了jira里提供的一个customer field他可以让我们往里面添加html,css,javascript,而且是基于Jquery嘚虽然称不上完美,但是还勉强能实现需求的功能
暂时整理出这么多,希望各位大侠能多喷多给意见:D