NAME
RT-Extension-ChangeManagement - Change Management configuration for RT
RT VERSION
Works with RT 5.
INSTALLATION
perl Makefile.PL
make
make install
-
May need root permissions
- Edit your /opt/rt5/etc/RT_SiteConfig.pm
-
Add this line:
Plugin('RT::Extension::ChangeManagement');
make initdb
-
Only run this the first time you install this module. If you run this twice, you may end up with duplicate data in your database.
- Clear your mason cache
-
rm -rf /opt/rt5/var/mason_data/obj
- Restart your webserver
UPGRADING
To upgrade from an earlier version, see the instructions in the UPGRADING document.
DESCRIPTION
This extension provides the configuration to implement a change management process in Request Tracker.
Organizations working to standardize internal processes for ISO or SOC compliance must have a standardized way to deploy and track changes to software, hardware, infrastructure, etc. This extension implements a change management system within RT, providing a framework for handling a variety of change types. It uses all core RT features, so everything can be modified as needed to align with your organization's practices and procedures. As-is, it provides a simple, fully functional implementation of an ITIL-like change management process.
To provide additional validation and required fields for different stages of the process, you can install RT::Extension::MandatoryOnTransition. An example configuration is provided in the sample configuration file in etc/ChangeManagement_Config.pm
.
We've provided a walkthrough video to demonstrate some of the functionality available in the change management extension.
Change Management Queue
After installing, you'll see a new queue called Change Management for tracking all of the incoming change requests. You can change the name to anything you like after installing. In a typical configuration, you will also want to assign an RT email address, like changes@example.com or crb@example.com (Change Review Team) to create tickets in this queue.
Rights
By default, Everyone can see the queue, create tickets, and view tickets. All users can also set custom fields on create, but only then. You can grant more rights if your change requestors need to update custom fields after the ticket is created.
The Change Management group has more rights to work on change tickets including taking ownership and approving or rejecting requests.
Some custom rights are available if you go to Admin > Queues, click on Change Management, then click Group Rights. The "Status changes" tab has specific rights to allow users to "Approve Requests" and "Implement Changes". By default, the Change Reviewer role can "Approve Requests" and the Change Implementor role can "Implement Changes". If this is too restrictive for your workflow, you can grant these to more users, possibly via a group.
Custom Roles
The roles below are allow you to assign different users to parts of the change management process. In addition to clearly identifying who is responsible for parts of the process, these roles can be used to manage rights and notifications like email.
- Change Reviewer
-
Person who reviews incoming change requests, and is responsible for approving or denying a change request.
- Change Implementor
-
Person who is responsible for implementing a change request.
Groups
Groups are included to make it easy to add users quickly and give them sufficient rights to interact with the Change Management queue.
The Change Management group gives a set of rights appropriate for staff who will work with chagne management tickets. It allows them to take tickets, comment, change custom fields, etc. You can refine all of these after you install the extension.
Change Management Lifecycle
The Change Management lifecycle provides a set of common statuses. You can update this as needed to add or remove statuses and transitions.
- Requested
-
Status given to a new change request. Indicates than a change has been requested and is awaiting approval.
- Approved
-
For changes that are approved but not yet implemented.
- In Progress
-
An approved change that is in the process of being deployed.
- Partially Deployed
-
The change has been partially deployed; it is either taking an unusually long time to complete, or part of the deployment succeeded while another part failed. Reasons as to why should be detailed in a comment.
- Deployed
-
The change has been deployed successfully.
- Failed
-
The change failed to deploy. Reasons should be detailed in a comment.
- Cancelled
-
This change was cancelled. Reasoning should be provided in a comment.
- Rejected
-
The change was rejected by the review team. Reasoning should be provided in a comment on the ticket.
Custom Fields
Some common custom fields are provided to track additional information about changes. The provided custom fields can be modified as needed, to add or remove available values in dropdowns, for example.
You can also add more custom fields as needed. A %CustomFieldGroupings
configuration is provided to group custom fields in a Change Management portlet. You can add new custom fields to this configuration to include them in this section.
Change Category
Specifies the kind of change that is to be performed.
Change Type
One of the three types of changes. The initial values are those outlined in ITIL:
- Standard
-
A low risk, pre-authorized change that follows a repeatable process. This is the default for new tickets in the Change Management queue.
- Emergency
-
A change that must be performed ASAP, potentially bypassing approval steps.
- Normal
-
Any change that doesn't fall into the other types.
Rollback Plan
A description of the steps necessary to perform a rollback of the proposed changes in the event that the deployment process is unsuccessful.
Change Started
Date that the change was started. This is not the same as the normal Started date on the ticket. Started is set when the ticket is moved to an open status (such as approved); Change Started is when someone actually started implementing the change.
A scrip is provided to automatically set this when status changes to in progress or partially deployed.
Change Complete
Date that the change was successfully deployed. A scrip is provided to automatically set this when status changes to deployed.
Change Management Dashboard
A Change Management dashboard is installed with two saved searches included, one for upcoming changes and one for recently completed changes. These are useful for tracking change tickets and are also good examples of the types of saved searches and dashboards you can create for different participants in the change process.
CUSTOMIZING AND EXTENDING
Since this extension uses core RT features, it's easy for an RT administrator to customize various parts. Below are some ideas.
Additional Custom Fields
Some ideas of fields that could be added to the change management process might include:
- Change Origin
-
Customer, Vendor, Internal. Dropdown.
- Location
-
Datacenter, customer site, etc. Text.
- Implementation Steps
-
Steps needed to implement proposed change. Text.
- Validation Steps
-
Process for validating a change was deployed successfully. Text.
- Impact Assessment
-
A description of what potential side effects of a proposed change might be, what could happen if the change goes awry, etc. Text.
Making Custom Fields Required
Using RT::Extension::MandatoryOnTransition, any of the above fields can be made required upon a status change. For example, you may wish to make Implementation Steps, Validation Steps, and Impact Assessment required fields before a change request can be approved. See etc/ChangeManagement_Config.pm for a ready-to-use example with the out of the box configuration.
Default Values for Custom Fields
As an RT admin, you can go to Admin > Queues > Change Management, then click on Default Values in the submenu. From that page, you can set or change the default values for assigned custom fields.
AUTHOR
Best Practical Solutions, LLC <modules@bestpractical.com>
All bugs should be reported via email to bug-RT-Extension-ChangeManagement@rt.cpan.org or via the web at rt.cpan.org.
LICENSE AND COPYRIGHT
This software is Copyright (c) 2022 by Best Practical Solutions, LLC.
This is free software, licensed under:
The GNU General Public License, Version 2, June 1991