Approvals
This page explains how to customize the Approvals job in your ShamanOps Workflow.
Remember that you can set a specific email domain to be used in this step. Check how in the Configuration Set section
- GitHub Actions
- GitLab CI
- Azure DevOps
- Bitbucket Pipelines
1. In the main branch you will edit the YAML file named .github/workflows/github-ci.yaml
2. In the github-ci.yaml file search for the Features section, you will find it like this:
## Features -------------------------------------------------------------------------------------#
3. Bellow the section title, add the following configuration and change the values as you need:
# Approvals
# Timeout of Approvals Job
approvals_timeout: '30'
# Business and Technical approvers
shamanopsBusinessApprovers: 'business-user-1@customer.com, business-user-2@customer.com'
shamanopsTechnicalApprovers: 'technical-user-1@customer.com, technical-user-2@customer.com'
# Enable Approvals Job for DEV environment
shamanopsApprovalsDev: 'true'
shamanopsBusinessApproversMinimalDev: '1'
shamanopsTechnicalApproversMinimalDev: '1'
# Enable Approvals Job for STG environment
shamanopsApprovalsStg: 'true'
shamanopsBusinessApproversMinimalStg: '1'
shamanopsTechnicalApproversMinimalStg: '1'
# Enable Approvals Job for PROD environment
shamanopsApprovalsProd: 'true'
shamanopsBusinessApproversMinimalProd: '1'
shamanopsTechnicalApproversMinimalProd: '1'
If you use Cloud runners in GitHub you should know that while approvals are pending, the pipelines will remain active and generate expenses.
In order to reduce billing, we provide the possibility to run approval jobs in your own Kubernetes-based infraestructure using Actions Runner Controller (ARC) that scale self-hosted runners for GitHub Actions.
This can be set by installing the ARC adding the following feature flag to the above YAML
# Self hosted runner for approvals
approvals_runner: 'arc_shamanops'
4. Commit and enjoy! ✨
1. In the main branch you will edit the YAML file named .gitlab-ci.yml
2. In the .gitlab-ci.yml file search for the Features section, you will find it like this:
## Features -------------------------------------------------------------------------------------#
3. Bellow the section title, add the following configuration and change the values as you need:
# Approvals
# Timeout of Approvals Job
approvals_timeout: '30'
# Business and Technical approvers
shamanopsBusinessApprovers: 'business-user-1@customer.com, business-user-2@customer.com'
shamanopsTechnicalApprovers: 'technical-user-1@customer.com, technical-user-2@customer.com'
# Enable Approvals Job for DEV environment
shamanopsApprovalsDev: 'true'
shamanopsBusinessApproversMinimalDev: '1'
shamanopsTechnicalApproversMinimalDev: '1'
# Enable Approvals Job for STG environment
shamanopsApprovalsStg: 'true'
shamanopsBusinessApproversMinimalStg: '1'
shamanopsTechnicalApproversMinimalStg: '1'
# Enable Approvals Job for PROD environment
shamanopsApprovalsProd: 'true'
shamanopsBusinessApproversMinimalProd: '1'
shamanopsTechnicalApproversMinimalProd: '1'
If you use Cloud runners in GitHub you should know that while approvals are pending, the pipelines will remain active and generate expenses.
In order to reduce billing, we provide the possibility to run approval jobs in your own Kubernetes-based infraestructure using Actions Runner Controller (ARC) that scale self-hosted runners for GitHub Actions.
This can be set by adding the approvals_runner: 'arc_shamanops' variable to the above YAML.
4. Commit and enjoy! ✨
1. In your Azure Repo's main branch you will edit the YAML file named azdevops-ci.yml
2. In the azdevops-ci.yml file search for the Features section, you will find it like this:
## Features -------------------------------------------------------------------------------------#
3. Bellow the section title, add the following configuration and change the values as you need:
# Approvals
# Timeout of Approvals Job
- name: approvals_timeout
value: '30'
# Business and Technical approvers
- name: shamanopsBusinessApprovers
value: 'business-user-1@customer.com, business-user-2@customer.com'
- name: shamanopsTechnicalApprovers
value: 'technical-user-1@customer.com, technical-user-2@customer.com'
# Enable Approvals Job for DEV environment
- name: shamanopsApprovalsDev
value: 'true'
- name: shamanopsBusinessApproversMinimalDev
value: '1'
- name: shamanopsTechnicalApproversMinimalDev
value: '1'
# Enable Approvals Job for STG environment
- name: shamanopsApprovalsStg
value: 'true'
- name: shamanopsBusinessApproversMinimalStg
value: '1'
- name: shamanopsTechnicalApproversMinimalStg
value: '1'
# Enable Approvals Job for PROD environment
- name: shamanopsApprovalsProd
value: 'true'
- name: shamanopsBusinessApproversMinimalProd
value: '1'
- name: shamanopsTechnicalApproversMinimalProd
value: '1'
If you use Cloud runners in GitHub you should know that while approvals are pending, the pipelines will remain active and generate expenses.
In order to reduce billing, we provide the possibility to run approval jobs in your own Kubernetes-based infraestructure using Actions Runner Controller (ARC) that scale self-hosted runners for GitHub Actions.
This can be set by adding the approvals_runner: 'arc_shamanops' variable to the above YAML.
4. Commit and enjoy! ✨
1. In the main branch you will edit the YAML file named .bitbucket/envs.yaml
2. In the .bitbucket/envs.yaml file search for the Features section, you will find it like this:
## Features -------------------------------------------------------------------------------------#
3. Bellow the section title, add the following configuration and change the values as you need:
# Approvals
# Timeout of Approvals Job
approvals_timeout='30'
# Business and Technical approvers
shamanopsBusinessApprovers='business-user-1@customer.com, business-user-2@customer.com'
shamanopsTechnicalApprovers='technical-user-1@customer.com, technical-user-2@customer.com'
# Enable Approvals Job for DEV environment
shamanopsApprovalsDev='true'
shamanopsBusinessApproversMinimalDev='1'
shamanopsTechnicalApproversMinimalDev='1'
# Enable Approvals Job for STG environment
shamanopsApprovalsStg='true'
shamanopsBusinessApproversMinimalStg='1'
shamanopsTechnicalApproversMinimalStg='1'
# Enable Approvals Job for PROD environment
shamanopsApprovalsProd='true'
shamanopsBusinessApproversMinimalProd='1'
shamanopsTechnicalApproversMinimalProd='1'
If you use Cloud runners in GitHub you should know that while approvals are pending, the pipelines will remain active and generate expenses.
In order to reduce billing, we provide the possibility to run approval jobs in your own Kubernetes-based infraestructure using Actions Runner Controller (ARC) that scale self-hosted runners for GitHub Actions.
This can be set by adding the approvals_runner: 'arc_shamanops' variable to the above YAML.
4. Commit and enjoy! ✨