The CERT® JIRA Automated Task Creator (ATC) can create any number of new JIRA issues based on a trigger. The trigger can either be the creation of a new issue or a workflow transition. The newly created issue's data is completely configurable, except for the project.
ATC was coded and tested using JIRA version 4.4.5.
Copy all of the JARs from this distribution's lib to directory to JIRA's lib directory (usually /opt/tomcat/webapps/jira/WEB-INF/lib)
Stored in /etc/certops-jira/atc/
For all boolean properties, if the key is missing the value will default to false. The Default column below will list the behavior when a key is missing.
Key | Required | Allowed Values | Default | Comments |
---|---|---|---|---|
use.workflow | Yes | false,true | Issues will not be created due to a workflow transition. | Boolean value. If true, the creation of issues will be triggered by a workflow transition |
use.listener | Yes | false,true | Boolean value. If true, the creation of issues will be triggered by a workflow transition | Boolean value. If true, the creation of issues will be triggered by the creation of a new issue |
duplicate.fields.check | No | summary, type, description, priority, Custom Field Name | No duplicate checking will be done. All issues will always be created | If specified ATC will use this field to check for duplicate linked issues before creating them. Each field specified (comma separated) is checked on the existing linked issue and the new possible linked issue. For example: type,InternalTracking#,cert.creator,summary |
cert.creator.customField.name | Yes | Custom Field Name | None. Required Field | Name of the custom field defined above |
default.issue.type | Yes | Issue Type name (or internal JIRA number) | None. Required field. | Defines the newly created issue type if one cannot be determined from the configuration |
regex.matchFail.use.configurationValue | No | false,true | If the regex fails to match, the source field value will be used to populate the new issue | Controls the value for the summary (or description) when the regex fails to match the input. If true, the template value (from the configuration file) is used. If false, the corresponding source field value is used. |
creating.user | No | JIRA Username (or email address) | If the source issue's reporter is not specified, an error will occur. | Fallback for the creating user. Be default, ATC uses the source issue's reporter. If there isn't a source reporter, this property is used as a fallback. If both are missing an error is reported and the new issue is not created. |
Stored in /etc/certops-jira/atc/
<?xml version="1.0" ?> <atc-configuration> <project name="Project1"> <type name="Submission1" trigger="listener"> <issue> <type link="Internal-Analysis">Analysis and Production</type> <fields> <field name="reporter" source="assignee"> <template>INHERIT</template> </field> <field name="assignee"> <template>user1</template> </field> <field name="priority"> <template>INHERIT</template> </field> <field name="InternalTracking#"> <template>INHERIT</template> </field> <field name="summary"> <pattern><![CDATA[([0-9]{5}-[0-9]{3})]]></pattern> <template><![CDATA[Analysis for {0}]]></template> </field> <field name="description"> <template><![CDATA[Listener]]></template> </field> </fields> </issue> </type> <type name="Submission2" trigger="workflow"> <issue> <type link="Sub-task">Sub-task</type> <fields> <field name="reporter" source="assignee"> <template>INHERIT</template> </field> <field name="assignee"> <template>user2</template> </field> <field name="priority"> <template>INHERIT</template> </field> <field name="InternalTracking#"> <template>INHERIT</template> </field> <field name="summary"> <pattern><![CDATA[([0-9]{5}-[0-9]{3})]]></pattern> <template><![CDATA[Please Review {0}]]></template> </field> <field name="description"> <template><![CDATA[Review created.]]></template> </field> </fields> </issue> </type> </project> </atc-configuration>