[Bps-public-commit] rt-extension-changemanagement branch devel updated. ff0b34ab84f15d77056f4c66659023d346dd43d8
BPS Git Server
git at git.bestpractical.com
Wed Jan 26 16:14:29 UTC 2022
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "rt-extension-changemanagement".
The branch, devel has been updated
via ff0b34ab84f15d77056f4c66659023d346dd43d8 (commit)
via 2e7ce29bcb0c66e3682dabf7912372ef3bbd2fab (commit)
via 86eecea78e0ee53d088a668018c6cdb187620522 (commit)
via fdac5b00e678e3fafa8e76eac3fc9d7c6c3dd136 (commit)
via 6c6ffb74d1aff2902d0f330163ddf671f5b291b6 (commit)
from 4205e38597c2fd63011683a0615e75be73060bc6 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit ff0b34ab84f15d77056f4c66659023d346dd43d8
Author: Jason Crome <jcrome at bestpractical.com>
Date: Tue Jan 25 11:35:55 2022 -0500
Lowercase change management statuses
This brings the plugin more in line with RT conventions. I originally
modeled these after a private plugin for another customer which
capitalized these.
diff --git a/etc/Lifecycle_config.pm b/etc/Lifecycle_config.pm
index dc86ba7..a8205b4 100644
--- a/etc/Lifecycle_config.pm
+++ b/etc/Lifecycle_config.pm
@@ -1,54 +1,57 @@
Set(%Lifecycles,
'Change Management' => {
- initial => [ qw( Requested ) ], # loc_qw
- active => [ 'Approved', 'In Progress', 'Partially Deployed' ], # loc_qw
- inactive => [ qw( Deployed Failed Cancelled Rejected deleted ) ], # loc_qw
+ initial => [ qw( requested ) ], # loc_qw
+ active => [ 'approved', 'in progress', 'partially deployed' ], # loc_qw
+ inactive => [ qw( deployed failed cancelled rejected deleted ) ], # loc_qw
defaults => {
- on_create => 'Requested',
- approved => 'Approved',
- denied => 'Rejected',
+ on_create => 'requested',
+ approved => 'approved',
+ denied => 'rejected',
},
transitions => {
+ # TODO: ease these, handle more with actions.
# The following transition is required for ticket creation
- '' => [ qw( Requested ) ],
- Requested => [ qw( Approved Cancelled Rejected deleted ) ],
- Approved => [ 'In Progress', qw( Cancelled Rejected deleted ) ],
- 'In Progress' => [ 'Partially Deployed', qw( Deployed Failed Cancelled deleted ) ],
- 'Partially Deployed' => [ qw( Deployed Failed Cancelled deleted ) ],
- Deployed => [ 'In Progress', 'Partially Deployed', qw( Failed Cancelled deleted ) ],
- Failed => [ qw( Cancelled deleted ) ],
- Cancelled => [ qw( Requested Approved ) ],
- Rejected => [ qw( Requested Approved ) ],
+ '' => [ qw( requested ) ],
+ requested => [ qw( approved cancelled rejected deleted ) ],
+ approved => [ 'in progress', qw( cancelled rejected deleted ) ],
+ 'in progress' => [ 'partially deployed', qw( deployed failed cancelled deleted ) ],
+ 'partially deployed' => [ qw( deployed failed cancelled deleted ) ],
+ deployed => [ 'in progress', 'partially deployed', qw( failed cancelled deleted ) ],
+ failed => [ qw( cancelled deleted ) ],
+ cancelled => [ qw( requested approved ) ],
+ rejected => [ qw( requested approved ) ],
},
rights => {
- 'Requested -> *' => 'Change Reviewer',
+ 'requested -> *' => 'Change Reviewer',
},
actions => [
- '* -> Requested' => {
+ #'* -> Requested' => {
+ #label => 'Submit For Approval',
+ #},
+ 'requested -> approved' => {
label => 'Submit For Approval',
},
]
},
__maps__ => {
'default -> Change Management' => {
- 'new' => 'Requested',
- 'resolved' => 'Deployed',
- 'open' => 'In Progress',
- 'rejected' => 'Rejected',
- 'stalled' => 'Partially Deployed', # TODO: ???
+ 'new' => 'requested',
+ 'resolved' => 'deployed',
+ 'open' => 'in progress',
+ 'rejected' => 'rejected',
+ 'stalled' => 'partially deployed', # TODO: ???
'deleted' => 'deleted',
},
'Change Management -> default' => {
- 'Requested' => 'new',
- 'Deployed' => 'resolved',
- 'Rejected' => 'rejected',
+ 'requested' => 'new',
+ 'deployed' => 'resolved',
+ 'rejected' => 'rejected',
'deleted' => 'deleted',
- 'In Progress' => 'open',
- 'Approved' => 'open',
- # TODO: Not sure what to do with these
- 'Partially Deployed' => 'stalled',
- 'Failed' => 'resolved',
- 'Cancelled' => 'resolved',
+ 'in progress' => 'open',
+ 'approved' => 'open',
+ 'partially deployed' => 'open',
+ 'failed' => 'resolved',
+ 'cancelled' => 'resolved',
},
}
);
commit 2e7ce29bcb0c66e3682dabf7912372ef3bbd2fab
Author: Jason Crome <jcrome at bestpractical.com>
Date: Tue Jan 25 11:34:53 2022 -0500
Rename Change Review Board to Change Review Team
diff --git a/etc/initialdata b/etc/initialdata
index b6669fc..fdef6a0 100644
--- a/etc/initialdata
+++ b/etc/initialdata
@@ -69,7 +69,7 @@ our @CustomFields = (
our @Groups = (
{
- Name => 'Change Review Board',
+ Name => 'Change Review Team',
Description => 'People responsible for approving change requests',
},
);
commit 86eecea78e0ee53d088a668018c6cdb187620522
Author: Jason Crome <jcrome at bestpractical.com>
Date: Tue Jan 25 11:33:35 2022 -0500
Added more documentation
diff --git a/lib/RT/Extension/ChangeManagement.pm b/lib/RT/Extension/ChangeManagement.pm
index e7d961e..525795e 100644
--- a/lib/RT/Extension/ChangeManagement.pm
+++ b/lib/RT/Extension/ChangeManagement.pm
@@ -32,7 +32,7 @@ Add this line:
=item Clear your mason cache
- rm -rf /opt/rt4/var/mason_data/obj
+ rm -rf /opt/rt5/var/mason_data/obj
=item Restart your webserver
@@ -45,7 +45,8 @@ SOC compliance must have a standardized process by which to handle changes to
software, hardware, infrastructure, etc. This extension implements a minimal
change management system within RT. It provides a framework for handling a
variety of change types, and leaves a lot of room for growth and flexibility
-with regards to your organization's practices and procedures.
+with regards to your organization's practices and procedures. Out of the box,
+it resembles a scaled down version of an ITIL-like change management process.
When combined with L<RT::Extension::MandatoryOnTransition>, this extension
can transform into a fully-featured change management system.
@@ -55,7 +56,7 @@ can transform into a fully-featured change management system.
After installing, you'll see a new queue called L<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 at example.com or crb at example.com (Change Review Board)
+email address, like changes at example.com or crb at example.com (Change Review Team)
to create tickets in this queue.
=head2 Custom Roles
@@ -78,8 +79,33 @@ awaiting approval.
Tickets with a status of Requested can be moved to Approved if the change has been
accepted by the change review team.
+=item * In Progress
+
+An approved change that is in the process of being deployed.
+
+=item * 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.
+
=item * Deployed
+The change has been deployed successfully.
+
+=item * Failed
+
+The change failed to deploy. Reasons should be detailed in a comment.
+
+=item * Cancelled
+
+This change was cancelled. Reasoning should be provided in a comment.
+
+=item * Rejected
+
+The change was rejected by the review team. Reasoning should be provided in a
+comment on the ticket.
+
=back
=head2 Change Management Lifecycle
@@ -90,6 +116,24 @@ accepted by the change review team.
=head3 Change Type
+One of the three types of change types outlined in ITIL:
+
+=over 4
+
+=item * Standard
+
+A low risk, pre-authorized change that follows a repeatable process.
+
+=item * Emergency
+
+A change that must be performed ASAP, potentially bypassing approval steps.
+
+=item * Normal
+
+Any change that doesn't fall into the other types.
+
+=back
+
=head3 Deployed Date
=head3 Rollback Plan
commit fdac5b00e678e3fafa8e76eac3fc9d7c6c3dd136
Author: Jason Crome <jcrome at bestpractical.com>
Date: Tue Jan 25 11:31:32 2022 -0500
Organize change management fields on ticket
By providing a grouping for these on the ticket display, the change
management process can be kept separate from other custom fields on a
ticket.
diff --git a/etc/ChangeManagement_Config.pm b/etc/ChangeManagement_Config.pm
index 2ede16f..06bfe15 100644
--- a/etc/ChangeManagement_Config.pm
+++ b/etc/ChangeManagement_Config.pm
@@ -1,5 +1,10 @@
Set(%CustomFieldGroupings,
'RT::Ticket' => [
'Dates' => ['Deployed Date'],
+ 'Change Management' => [
+ 'Change Category',
+ 'Change Type',
+ 'Rollback Plan',
+ ],
],
);
commit 6c6ffb74d1aff2902d0f330163ddf671f5b291b6
Author: Jason Crome <jcrome at bestpractical.com>
Date: Fri Jan 21 13:33:03 2022 -0500
Move deployed date to Dates box in ticket summary
diff --git a/etc/ChangeManagement_Config.pm b/etc/ChangeManagement_Config.pm
new file mode 100644
index 0000000..2ede16f
--- /dev/null
+++ b/etc/ChangeManagement_Config.pm
@@ -0,0 +1,5 @@
+Set(%CustomFieldGroupings,
+ 'RT::Ticket' => [
+ 'Dates' => ['Deployed Date'],
+ ],
+);
-----------------------------------------------------------------------
Summary of changes:
etc/ChangeManagement_Config.pm | 10 ++++++
etc/Lifecycle_config.pm | 65 +++++++++++++++++++-----------------
etc/initialdata | 2 +-
lib/RT/Extension/ChangeManagement.pm | 50 +++++++++++++++++++++++++--
4 files changed, 92 insertions(+), 35 deletions(-)
create mode 100644 etc/ChangeManagement_Config.pm
hooks/post-receive
--
rt-extension-changemanagement
More information about the Bps-public-commit
mailing list