GitHub Actions Deployment Protection Rules Integration

With GitHub introducing the Custom Deployment Protection Rules in addition to the existing pre-defined protection rules, it allows us to have better control over the CI/CD workflows and employ customized conditions in order to deliver higher quality applications to our customers.

With the adoption of CI-CD process, developers can trigger deployments at any given point of time. But as an Administrator, the need to regulate the deployment process by having some pre-defined rules like code coverage or scheduled deployment window is necessary to maintain the availability of the applications.

Overview

Ivanti Neurons for ITSM helps to automate the deployment process through Change Management which allows to keep track of the deployment history, approvals, and rejections for the better Project Management.

Administrators managed the release process through Neurons for ITSM by manually creating a Change Request. But the challenge with this is that it does not guarantee a Change Request is created whenever a deployment request is raised or the Change is approved before the deployment is initiated.

Therefore extending the capabilities of Neurons for ITSM to automate the process is the need of the hour. And this is achieved by leveraging the Custom Deployment Protection rules and ITSM Webhooks.

Introduction to Custom Deployment Protection Rules

Custom deployment protection rules are powered by GitHub Apps that run based on Webhooks and Callbacks. The Custom Apps subscribe to the Deployment Protection Rule Event which is initiated when a Deployment is triggered for a particular environment, based on which they are configured to initiate certain events. These events can be forwarded to a Webhook which can integrate with 3rd party services like Ivanti Neurons for ITSM.

The protection rules run only on environments created within a repository. The events will not be initiated if no environment is configured for a repository.

Once you have created a Custom Deployment Protection Rule and installed it on your repository, the Custom Deployment Protection Rule will automatically be available for all environments in your repository.

For more information on protection rules, see Creating custom deployment protection rules - GitHub Docs.