[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