fork(2) download
  1. def xml = """<workflow>
  2. <meta name="jira.description"></meta>
  3. <meta name="jira.update.author.key">admin</meta>
  4. <meta name="jira.updated.date">1503954892468</meta>
  5. <initial-actions>
  6. <action id="1" name="Create">
  7. <meta name="jira.i18n.submit">common.forms.create</meta>
  8. <meta name="jira.i18n.title">common.forms.create</meta>
  9. <validators>
  10. <validator name="" type="class">
  11. <arg name="permission">Create Issue</arg>
  12. <arg name="class.name">com.atlassian.jira.workflow.validator.PermissionValidator</arg>
  13. </validator>
  14. </validators>
  15. <results>
  16. <unconditional-result old-status="null" status="open" step="1">
  17. <post-functions>
  18. <function type="class">
  19. <arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueCreateFunction</arg>
  20. </function>
  21. <function type="class">
  22. <arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
  23. </function>
  24. <function type="class">
  25. <arg name="eventTypeId">1</arg>
  26. <arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
  27. </function>
  28. </post-functions>
  29. </unconditional-result>
  30. </results>
  31. </action>
  32. </initial-actions>
  33. <steps>
  34. <step id="1" name="To Do">
  35. <meta name="jira.status.id">10000</meta>
  36. <actions>
  37. <action id="11" name="Start Progress">
  38. <meta name="jira.i18n.submit">startprogress.title</meta>
  39. <meta name="jira.description"></meta>
  40. <meta name="jira.i18n.title">startprogress.title</meta>
  41. <results>
  42. <unconditional-result old-status="Not Done" status="Done" step="2">
  43. <post-functions>
  44. <function type="class">
  45. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowupdateissuestatus-function</arg>
  46. <arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
  47. </function>
  48. <function type="class">
  49. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowassigntocurrentuser-function</arg>
  50. <arg name="class.name">com.atlassian.jira.workflow.function.issue.AssignToCurrentUserFunction</arg>
  51. </function>
  52. <function type="class">
  53. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowcreatecomment-function</arg>
  54. <arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
  55. </function>
  56. <function type="class">
  57. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowgeneratechangehistory-function</arg>
  58. <arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
  59. </function>
  60. <function type="class">
  61. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowreindexissue-function</arg>
  62. <arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
  63. </function>
  64. <function type="class">
  65. <arg name="eventTypeId">13</arg>
  66. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowfireevent-function</arg>
  67. <arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
  68. </function>
  69. </post-functions>
  70. </unconditional-result>
  71. </results>
  72. </action>
  73. <action id="21" name="Done">
  74. <meta name="jira.i18n.submit">jira.issuetracking.simple.workflow.action.done.name</meta>
  75. <meta name="jira.description"></meta>
  76. <meta name="jira.i18n.title">jira.issuetracking.simple.workflow.action.done.name</meta>
  77. <restrict-to>
  78. <conditions>
  79. <condition type="class">
  80. <arg name="permission">RESOLVE_ISSUES</arg>
  81. <arg name="class.name">com.atlassian.jira.workflow.condition.PermissionCondition</arg>
  82. </condition>
  83. </conditions>
  84. </restrict-to>
  85. <results>
  86. <unconditional-result old-status="Not Done" status="Done" step="3">
  87. <post-functions>
  88. <function type="class">
  89. <arg name="field.name">resolution</arg>
  90. <arg name="field.value">10000</arg>
  91. <arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueFieldFunction</arg>
  92. </function>
  93. <function type="class">
  94. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowupdateissuestatus-function</arg>
  95. <arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
  96. </function>
  97. <function type="class">
  98. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowcreatecomment-function</arg>
  99. <arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
  100. </function>
  101. <function type="class">
  102. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowgeneratechangehistory-function</arg>
  103. <arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
  104. </function>
  105. <function type="class">
  106. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowreindexissue-function</arg>
  107. <arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
  108. </function>
  109. <function type="class">
  110. <arg name="eventTypeId">13</arg>
  111. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowfireevent-function</arg>
  112. <arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
  113. </function>
  114. </post-functions>
  115. </unconditional-result>
  116. </results>
  117. </action>
  118. </actions>
  119. </step>
  120. <step id="2" name="In Progress">
  121. <meta name="jira.status.id">3</meta>
  122. <actions>
  123. <action id="31" name="Stop Progress">
  124. <meta name="jira.i18n.submit">stopprogress.title</meta>
  125. <meta name="jira.description"></meta>
  126. <meta name="jira.i18n.title">stopprogress.title</meta>
  127. <results>
  128. <unconditional-result old-status="Not Done" status="Done" step="1">
  129. <post-functions>
  130. <function type="class">
  131. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowupdateissuestatus-function</arg>
  132. <arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
  133. </function>
  134. <function type="class">
  135. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowcreatecomment-function</arg>
  136. <arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
  137. </function>
  138. <function type="class">
  139. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowgeneratechangehistory-function</arg>
  140. <arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
  141. </function>
  142. <function type="class">
  143. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowreindexissue-function</arg>
  144. <arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
  145. </function>
  146. <function type="class">
  147. <arg name="eventTypeId">13</arg>
  148. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowfireevent-function</arg>
  149. <arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
  150. </function>
  151. </post-functions>
  152. </unconditional-result>
  153. </results>
  154. </action>
  155. <action id="41" name="Done">
  156. <meta name="jira.i18n.submit">jira.issuetracking.simple.workflow.action.done.name</meta>
  157. <meta name="jira.description"></meta>
  158. <meta name="jira.i18n.title">jira.issuetracking.simple.workflow.action.done.name</meta>
  159. <restrict-to>
  160. <conditions>
  161. <condition type="class">
  162. <arg name="permission">RESOLVE_ISSUES</arg>
  163. <arg name="class.name">com.atlassian.jira.workflow.condition.PermissionCondition</arg>
  164. </condition>
  165. </conditions>
  166. </restrict-to>
  167. <results>
  168. <unconditional-result old-status="Not Done" status="Done" step="3">
  169. <post-functions>
  170. <function type="class">
  171. <arg name="field.name">resolution</arg>
  172. <arg name="field.value">10000</arg>
  173. <arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueFieldFunction</arg>
  174. </function>
  175. <function type="class">
  176. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowupdateissuestatus-function</arg>
  177. <arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
  178. </function>
  179. <function type="class">
  180. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowcreatecomment-function</arg>
  181. <arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
  182. </function>
  183. <function type="class">
  184. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowgeneratechangehistory-function</arg>
  185. <arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
  186. </function>
  187. <function type="class">
  188. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowreindexissue-function</arg>
  189. <arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
  190. </function>
  191. <function type="class">
  192. <arg name="eventTypeId">13</arg>
  193. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowfireevent-function</arg>
  194. <arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
  195. </function>
  196. </post-functions>
  197. </unconditional-result>
  198. </results>
  199. </action>
  200. </actions>
  201. </step>
  202. <step id="3" name="Done">
  203. <meta name="jira.status.id">10001</meta>
  204. <actions>
  205. <action id="51" name="Reopen">
  206. <meta name="jira.i18n.submit">jira.issuetracking.simple.workflow.action.reopen.name</meta>
  207. <meta name="jira.description"></meta>
  208. <meta name="jira.i18n.title">jira.issuetracking.simple.workflow.action.reopen.name</meta>
  209. <restrict-to>
  210. <conditions>
  211. <condition type="class">
  212. <arg name="permission">RESOLVE_ISSUES</arg>
  213. <arg name="class.name">com.atlassian.jira.workflow.condition.PermissionCondition</arg>
  214. </condition>
  215. </conditions>
  216. </restrict-to>
  217. <results>
  218. <unconditional-result old-status="Not Done" status="Done" step="1">
  219. <post-functions>
  220. <function type="class">
  221. <arg name="field.name">resolution</arg>
  222. <arg name="field.value"></arg>
  223. <arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueFieldFunction</arg>
  224. </function>
  225. <function type="class">
  226. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowupdateissuestatus-function</arg>
  227. <arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
  228. </function>
  229. <function type="class">
  230. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowcreatecomment-function</arg>
  231. <arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
  232. </function>
  233. <function type="class">
  234. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowgeneratechangehistory-function</arg>
  235. <arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
  236. </function>
  237. <function type="class">
  238. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowreindexissue-function</arg>
  239. <arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
  240. </function>
  241. <function type="class">
  242. <arg name="eventTypeId">13</arg>
  243. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowfireevent-function</arg>
  244. <arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
  245. </function>
  246. </post-functions>
  247. </unconditional-result>
  248. </results>
  249. </action>
  250. <action id="61" name="Reopen and start progress">
  251. <meta name="jira.i18n.submit">jira.issuetracking.simple.workflow.action.reopenandstartprogress.name</meta>
  252. <meta name="jira.description"></meta>
  253. <meta name="jira.i18n.title">jira.issuetracking.simple.workflow.action.reopenandstartprogress.name</meta>
  254. <results>
  255. <unconditional-result old-status="Not Done" status="Done" step="2">
  256. <post-functions>
  257. <function type="class">
  258. <arg name="field.name">resolution</arg>
  259. <arg name="field.value"></arg>
  260. <arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueFieldFunction</arg>
  261. </function>
  262. <function type="class">
  263. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowupdateissuestatus-function</arg>
  264. <arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
  265. </function>
  266. <function type="class">
  267. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowassigntocurrentuser-function</arg>
  268. <arg name="class.name">com.atlassian.jira.workflow.function.issue.AssignToCurrentUserFunction</arg>
  269. </function>
  270. <function type="class">
  271. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowcreatecomment-function</arg>
  272. <arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
  273. </function>
  274. <function type="class">
  275. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowgeneratechangehistory-function</arg>
  276. <arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
  277. </function>
  278. <function type="class">
  279. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowreindexissue-function</arg>
  280. <arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
  281. </function>
  282. <function type="class">
  283. <arg name="eventTypeId">13</arg>
  284. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowfireevent-function</arg>
  285. <arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
  286. </function>
  287. </post-functions>
  288. </unconditional-result>
  289. </results>
  290. </action>
  291. </actions>
  292. </step>
  293. </steps>
  294. </workflow>"""
  295. def metas = new XmlSlurper().parseText(xml).'**'.findAll {it.name() == 'meta'}
  296. def metaAttributeMap = metas.collectEntries{ [(it.@name):it.text()]}
  297. metaAttributeMap.each {k,v -> println "$k : $v"}
Success #stdin #stdout 1.27s 4456448KB
stdin
Standard input is empty
stdout
jira.description : 
jira.update.author.key : admin
jira.updated.date : 1503954892468
jira.i18n.submit : common.forms.create
jira.i18n.title : common.forms.create
jira.status.id : 10000
jira.i18n.submit : startprogress.title
jira.description : 
jira.i18n.title : startprogress.title
jira.i18n.submit : jira.issuetracking.simple.workflow.action.done.name
jira.description : 
jira.i18n.title : jira.issuetracking.simple.workflow.action.done.name
jira.status.id : 3
jira.i18n.submit : stopprogress.title
jira.description : 
jira.i18n.title : stopprogress.title
jira.i18n.submit : jira.issuetracking.simple.workflow.action.done.name
jira.description : 
jira.i18n.title : jira.issuetracking.simple.workflow.action.done.name
jira.status.id : 10001
jira.i18n.submit : jira.issuetracking.simple.workflow.action.reopen.name
jira.description : 
jira.i18n.title : jira.issuetracking.simple.workflow.action.reopen.name
jira.i18n.submit : jira.issuetracking.simple.workflow.action.reopenandstartprogress.name
jira.description : 
jira.i18n.title : jira.issuetracking.simple.workflow.action.reopenandstartprogress.name