Table of Contents |
---|
...
Install plugin Trouble ticket system
To install the plugin copy the jar file to the WEB-INF/lib directory inside your JIRA web application.
The plugin has been tested and confirmed to work for JIRA versions 23.12.x and 23.13.x
To use dynamic picker fields (LINK) you need to create text files on the server that contain field values on separate rows for each separate field you want use. The files need to have read and write provileges for the user JIRA is running as. If you want to use something other than flat files for the data source for the dynamic picker fields you need to code your own class implementing the DynamicPickerService interface and configure the service to use the class in the atlassian-plugin.xml.
Create screens
TTS needs these different screens:
...
Administration -> Screens
Create issue types
For TTS we commonly need at least two issue types: "Scheduled" and "Unscheduled". Create these two issue types and Issue type scheme "TTS" to hold them
Administration -> Issue types
Create workflow
Create new status Opening
We'll need this status for the first workflow step so that we can create issue quickly and assign an ID without having to fill all the information.
Administration -> Statuses
Create workflow TTS
TTS workflow steps and transitions:
...
Administration -> Workflows
Set workflow transition screens
- TTS Screen - Resolve: Resolve ticket, Update ticket (resolved -> resolved)
- TTS Screen - Close: Close ticket, Update ticket (closed -> closed)
- TTS Screen: other transitions
Configure other screens
Most of the screens are set in workflow. However, we need to set screens for actions not handled in workflow.
...
Administration -> Sreen schemes
Create custom fields
TTS uses several custom fields. They use JIRA default field types (text field, checkboxes) or special TTS field types.
...
When creating the custom fields you can add them all to screens with TTS prefix. We can order the fields later and remove those that are not valid for all of the screens.
Fields using default types
These fields could be created and placed on screens without TTS plugin installed. However, their values can be used in some of the validators and post functions of the TTS plugin.
Field name | Type | Info | Configuration (if needed) |
---|---|---|---|
Administrative issue | Multi Checkboxes | Used in filters to show administrators the issues that need their attention |
|
Alarm info | Free Text Field (unlimited text) |
|
|
Customer info | URL Field |
|
|
Escalation time | Date Time |
|
|
Estimated outage (minutes) | Number Field |
|
|
External reference | Text Field (< 255 characters) |
|
|
Final ticket report | Free Text Field (unlimited text) |
|
|
Impact | Free Text Field (unlimited text) |
|
|
Maintenance window ends | Date Time |
| Only for issue type Scheduled |
Maintenance window starts | Date Time |
| Only for issue type Scheduled |
Next action due date | Date Picker |
|
|
Problem end | Date Time |
| Only for issue type Unscheduled |
Problem end (calculated) | Date Time | Compares to outages and resets if needed |
|
Problem start | Date Time |
| Only for issue type Unscheduled |
Problem start (calculated) | Date Time | Compares to outages and resets if needed |
|
Scope description | Text Field (< 255 characters) |
|
|
Service info (SLA) | Free Text Field (unlimited text) |
|
|
Service verification | Free Text Field (unlimited text) | How to verify that service is ok |
|
Supplier info | Free Text Field (unlimited text) |
|
|
TTS special types
These fields have special capabilities and they come with TTS plugin(s).
Field name | Type | Info | Configuration (if needed) |
---|---|---|---|
Affected organisation | Dynamic Value Picker |
| This field needs a data source it can read / write. Values can then be picked from the list and new values can be added. Configuration: name of the file eq. /opt/tts/file1.list |
Connection | Dynamic Value Picker |
| See above: Affected organisations |
Equipment | Dynamic Value Picker |
| See above: Affected organisations |
Escalated to | Dynamic Value Picker |
| See above: Affected organisations |
Fixer | Dynamic Value Picker |
| See above: Affected organisations |
Notify management | Notify Management | Displays text field if checked |
|
Outages | Multiple Outage | See documentation: xxx |
|
Internal update | History Text | See documentation: xxx |
|
Scope | Scope Selection | Displays text field if value "Other" is chosen |
|
Total outage | Total Outage | Calculated total value from outages |
|
Update | History Text | As in "Internal update" |
|
Functional fields (not manually editable)
Some of the fields are used to hide other fields or to align them horizontally. This way we can keep JIRA edits in minimum and distribute TTS as a plugin.
Field name | Type | Info | Configuration (if needed) |
---|---|---|---|
HF group 1 | Horizontal Fields | This field is invisible. It is used to align other fields horizontally. | Configuration: |
HF group n | Horizontal Fields | Use as many as you need for your layout (5 in example) |
|
HIDE 1 | Field Hider | This field is invisible. It is used to hide other fields. |
|
HIDE n | Field Hider | Use as many as you need for your layout (1 in example) |
|
Related tickets | Related Issues | See documentation: xxx |
|
Create Issue type screen scheme
With issue type screen scheme we connect screens to issues. TTS basic setup doesn't need different screen for each issue type, but option is available.
...
Position | Name |
---|---|
1 | Related tickets |
Order horizontally
To put some of the fields on the same row, you first need to find out the field id of each field. You can do that on page Administration - Custom fields by selecting Configure and picking the id from the url. Then edit the options of the ordering field (eg. HF 1):
The Horizontal Fields custom field options take two parameters source and target. The source parameter accepts a comma separated list of html element ids. We have used the elements with the id %fieldId%FieldArea (for example customfield_10000FieldArea or assigneeFieldArea). The target parameter accepts a single html element id.
Hide fields
In Edit mode (normally every transition screen is thought of being in the Edit mode) TTS should hide some of the fields and in View mode its should hide other fields. The Field Hider custom field options take two parameters view and edit. Both of the parameters accept a comma separated list of html elemement ids same as the source parameter of the Horizontal Fields custom field options.
Screen differences
- TTS Screen - Opening: only fields Summary, Issue type
- TTS Screen - Resolve: as in TTS Screen + Customer info (on tab Customer), Fixer, Service info (SLA) (on tab Supplier), Supplier info (on tab Supplier)
- TTS Screen - Close: as in Resolve + Final ticket report
Complete screen
As shown in transition Resolve
Validators
Validators are connected to workflow transitions.
...
Administration - Workflows
All transitions
Required Fields Validator
...
Select the corresponding fields for Problem Start/End, Maintenance Window Start/End and Outages. Select if it's required that outage end or problem end is input.
Post fuctions
All transitions
Autofill problem start and end
...
Select the fields that correspond to the Outages field and the Total outage field.
Transitions Open ticket and Update Ticket (from Open to Open)
Auto-populate Next Action Due Date
Select the issue type for which you want to populate Next action due date from maintence window start if left empty. Then select the fields which correspond to the next action due date and maintenance window start.
Build the project
To use TTS in a project, you have to set TTS version for:
- Issue type scheme
- Issue type screen scheme
- Workflow scheme
- Permission scheme (recommended)
- Notification scheme (optional)
Permissions
Permission management of a TTS project is basically same than in any other JIRA project. Only thing you absolutely should do is disabling Edit permission. TTS workflow has a transition "Update ticket" we use for that. Using workflow transition enables post functions and more flexible event handling.
Review and test
Create test issues of both types using all alternative workflow paths.
External visualization
Easy setup to handle external listings uses these components:
...