Atlassian JIRA 插件开发(四) — 新增 webwork actions

在JIRA开发中一定要意识到如下问题:

  • 一切都是插件;
  • 插件的内容就是module堆砌而成;
  • module可以自己定制;

确定了这些事儿,接下来就比较好办了。对于Webwork Actions也是jira Plugin的一个既定module,按照其提供的module内容增加上即可。老六样:module-key、descriptor、Webwork Actions处理class、与处理结果对应的视图VM,
应给是如下的格式:

这里写代码片

这个一个new Webwork Actions就定义好了。下面讲一下其原理:

  1. 一个Webwork Action有一个入口,这个入口就是AAAA!default.jspa,对应在处理class中有一个doDefault()的方法;
  2. 当你在浏览器中输入AAAA!default.jspa时,首先会去atlassian-plugin.xml中查找是否存在AAAA class,然后在此类中查找doDefault方法;
  3. doDefault()中根据返回值,在atlassian-plugin.xml中查找VM,调用对应的VM视图,那么你的交互就在此视图中开始了;
  4. 接下来还有两个方法doValidator()和doExecute()方法,前者是对视图中的字段输入进行校验,后者是真正的执行内容;
  5. 只有通过doValidator()才能执行doExecute(),这样根据doExecute()返回值来调用对应的视图VM,这里的VM也是在atlassian-plugin.xml中查找;

这样一个过程已经很清晰了,入口点、校验、执行等均可以实现了。这里面分析一下class、vm、xml的关系,xml中没有具体的实现内容,定义的是plugin的各module的组成部分间的关系,class提供VM展示的数据,VM将用户的交互内容传给后台的class。

待续。。。

你可能感兴趣的:(Atlassian,JIRA,插件开发,jira,atlassian,windows,webwork,actions)