# List of Custom Stages

OpsMx developed various custom stages for Spinnaker that can be embedded and used when creating pipelines. These custom stages are packaged with ISD 4.0, hence users don't need to download, install and configure them separately. &#x20;

**Below is the list of the custom stages available in ISD 4.0.**

1. **Stage Type**: **Verification**

   **Short Description**: Performs automated log and metrics analysis for new releases.

   **Description**: *Verification Gate enables customers to release software with lower risk into production. It provides risk assessment and releases verification based on the data from monitoring providers. Monitoring data for new software updates are compared with the baseline to determine if the new software release is comparable to the software already in production. This allows users to determine whether the new software update is ready to be promoted to the production environment. Thresholds can be set in the Gate configuration to promote the software release.*
2. **Stage Type**: **Policy**

   **Short Description**: Evaluates an OPA policy

   **Description**: *A policy defines a set of conditions that need to be checked during a deployment. As an example, a policy could be created to define a blackout window period for production deployments. The Policy stage lets users validate the criteria defined in the policy at runtime during the pipeline execution. This enables users to make decisions at run time without any manual intervention.*&#x20;

   The OpsMx ISD offers policy management functionality to define and save policies in the OPA server. Users can choose a policy to be executed in the stage configuration.
3. **Stage Type**: **Approval**

   **Short Description**: Shows approval data from connectors in ISD and waits for user approval before continuing

   **Description**: *An approver may need to check the data from multiple data sources such as CI Systems, Repositories, SAST/DAST tools, etc., to make an informed decision regarding deployments. The Approval stage fetches relevant information from multiple CI/CD Tools and presents the data in one place to facilitate quick decision-making. This Gate can be inserted as a stage in your CI/CD Pipeline.*
4. **Stage Type**: **Pipeline sync to GitHub-OpsMx**

   **Short Description**: Backup the applications and pipelines from Spinnaker to GitHub\
   **Description**: *Accessing and changing pipelines is a security risk in many customer environments. Moreover, inbound access (from outside to inside PROD) may be unavailable in PROD environments. Pipeline promotion provides a controlled mechanism to update/create applications and pipelines based on pre-prod or staging spinnaker.*
5. **Stage Type**: **Pipeline sync to Spinnaker-OpsMx**

   **Short Description**: Sync applications and pipelines from GitHub to Spinnaker\
   **Description**: *Accessing and changing pipelines is a security risk in many customer environments. Moreover, inbound access (from outside to inside PROD) may be unavailable in PROD environments. Pipeline promotion provides a controlled mechanism to update/create applications and pipelines based on pre-prod or staging spinnaker.*
6. **Stage Type**: [**ServiceNow** ](https://docs.opsmx.com/products/orchestration-module-opsmx-enterprise-for-spinnaker-oes/additional-feature-configuration/list-of-custom-stages/servicenow)\
   **Description**: *ServiceNow's API-driven architecture enables us to perform various actions on ServiceNow using REST APIs. So, using Spinnaker's custom stage, tickets can be validated or updated and proceed with future actions in the pipeline.*\
   **ServiceNow custom stage consists of the following four Stages:**&#x20;
   * [**ServiceNow: Create a change request-OpsMx** ](https://docs.opsmx.com/products/orchestration-module-opsmx-enterprise-for-spinnaker-oes/additional-feature-configuration/list-of-custom-stages/servicenow#servicenow-create-a-change-request-opsmx)
   * [**ServiceNow: Change request status-OpsMx** ](https://docs.opsmx.com/products/orchestration-module-opsmx-enterprise-for-spinnaker-oes/additional-feature-configuration/list-of-custom-stages/servicenow#servicenow-change-request-status-opsmx)
   * [**ServiceNow: Add a work note to the change request-OpsMx** ](https://docs.opsmx.com/products/orchestration-module-opsmx-enterprise-for-spinnaker-oes/additional-feature-configuration/list-of-custom-stages/servicenow#servicenow-add-a-work-note-to-the-change-request-opsmx)
   * [**ServiceNow: Wait for state-OpsMx**](https://docs.opsmx.com/products/orchestration-module-opsmx-enterprise-for-spinnaker-oes/additional-feature-configuration/list-of-custom-stages/servicenow#servicenow-wait-for-state-opsmx)
7. **Stage Type**: [**JIRA** ](https://docs.opsmx.com/products/orchestration-module-opsmx-enterprise-for-spinnaker-oes/additional-feature-configuration/list-of-custom-stages/jira)

   **Description**: *Jira's API-driven architecture enables us to perform various actions on Jira using REST APIs. So, using Spinnaker's custom stage, tickets can be validated or updated and proceed with future actions in the pipeline.*\
   **JIRA custom stage consists of the following five Stages:**&#x20;

   * [**JIRA: Wait for state-OpsMx** ](https://docs.opsmx.com/products/orchestration-module-opsmx-enterprise-for-spinnaker-oes/additional-feature-configuration/list-of-custom-stages/jira#jira-wait-for-state-opsmx)
   * [**JIRA: Create an issue-OpsMx**](https://docs.opsmx.com/products/orchestration-module-opsmx-enterprise-for-spinnaker-oes/additional-feature-configuration/list-of-custom-stages/jira#jira-create-an-issue-opsmx)&#x20;
   * [**JIRA: Comment on issue-OpsMx**](https://docs.opsmx.com/products/orchestration-module-opsmx-enterprise-for-spinnaker-oes/additional-feature-configuration/list-of-custom-stages/jira#jira-comment-on-issue-opsmx)&#x20;
   * [**JIRA: Update issue-OpsMx**](https://docs.opsmx.com/products/orchestration-module-opsmx-enterprise-for-spinnaker-oes/additional-feature-configuration/list-of-custom-stages/jira#jira-update-issue-opsmx)&#x20;
   * [**JIRA: Transition issue-OpsMx**](https://docs.opsmx.com/products/orchestration-module-opsmx-enterprise-for-spinnaker-oes/additional-feature-configuration/list-of-custom-stages/jira#jira-transition-issue-opsmx)
8. **Stage Type**: [**Update PR**](https://docs.opsmx.com/products/orchestration-module-opsmx-enterprise-for-spinnaker-oes/additional-feature-configuration/list-of-custom-stages/update-pr)

   **Short Description**: Update the PR with the comment\
   **Description**: *When PR is raised to a branch with the code changes, build and deploy with the source and notify the user with the comment in the PR informing the SUCCESS or FAILURE deployment with your code changes. So that Admin will validate the code status and then proceed with further merging or modification in GitHub.*
9. **Stage Type**: [**Custom notification-OpsMx**](https://docs.opsmx.com/products/orchestration-module-opsmx-enterprise-for-spinnaker-oes/additional-feature-configuration/list-of-custom-stages/custom-notification)

   **Short Description**: Email notification that supports SPEL expression as mail id\
   **Description**: *Spinnaker doesn't support mail id as a SPEL, using this we can pass SPEL expression for all inputs, for mail address with CC mails.*
10. **Stage Type**: [**ServiceDesk**](https://docs.opsmx.com/products/orchestration-module-opsmx-enterprise-for-spinnaker-oes/additional-feature-configuration/list-of-custom-stages/servicedesk)

    **Description**: *ServiceDesk's API-driven architecture enables us to perform various actions on ServiceDesk using REST APIs. So, using Spinnaker's custom stage, tickets can be validated or updated and proceed with future actions in the pipeline.*

    **ServiceDesk custom stage consists of the following four stages:**&#x20;

    * [**ServiceDesk: Create request-OpsMx** ](https://docs.opsmx.com/products/orchestration-module-opsmx-enterprise-for-spinnaker-oes/additional-feature-configuration/list-of-custom-stages/servicedesk#servicedesk-create-request-opsmx)
    * [**ServiceDesk: Comment on issue-OpsMx**](https://docs.opsmx.com/products/orchestration-module-opsmx-enterprise-for-spinnaker-oes/additional-feature-configuration/list-of-custom-stages/servicedesk#servicedesk-comment-on-issue-opsmx)&#x20;
    * [**ServiceDesk: Wait for state-OpsMx** ](https://docs.opsmx.com/products/orchestration-module-opsmx-enterprise-for-spinnaker-oes/additional-feature-configuration/list-of-custom-stages/servicedesk#servicedesk-wait-for-state-opsmx)
    * [**ServiceDesk: Transition issue-OpsMx**](https://docs.opsmx.com/products/orchestration-module-opsmx-enterprise-for-spinnaker-oes/additional-feature-configuration/list-of-custom-stages/servicedesk#servicedesk-transition-issue-opsmx)
11. **Stage Type**: [**Ansible**](https://docs.opsmx.com/products/orchestration-module-opsmx-enterprise-for-spinnaker-oes/additional-feature-configuration/list-of-custom-stages/ansible)

    **Short Description**: Run playbooks into a single VM node

    **Description**: *Ansible is a simple IT automation platform that makes your applications and systems easier to deploy. These stages can configure the provision of the playbook and the management system via agentless.*
12. **Stage Type**: [**Terraform**](https://docs.opsmx.com/products/orchestration-module-opsmx-enterprise-for-spinnaker-oes/additional-feature-configuration/list-of-custom-stages/terraform)

    **Description**: *Shell-based Terraform stage where it manages infrastructure on multiple cloud platforms. It has stages like Terraform plan, apply and destroy that allow you to automate and manage Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), or even Software-as-a-Service (SaaS) level capabilities and build all these resources across all those providers in parallel.*

    **Terraform custom stage consists of the following four stages:**&#x20;

    * [**Terraform Plan-OpsMx**](https://docs.opsmx.com/products/orchestration-module-opsmx-enterprise-for-spinnaker-oes/additional-feature-configuration/list-of-custom-stages/terraform#terraform-plan-opsmx)&#x20;
    * [**Terraform Apply-OpsMx**](https://docs.opsmx.com/products/orchestration-module-opsmx-enterprise-for-spinnaker-oes/additional-feature-configuration/list-of-custom-stages/terraform#terraform-apply-opsmx)&#x20;
    * [**Terraform Destroy-OpsMx**](https://docs.opsmx.com/products/orchestration-module-opsmx-enterprise-for-spinnaker-oes/additional-feature-configuration/list-of-custom-stages/terraform#terraform-destroy-opsmx)
