https://github.com/hcl-tech-software/devops-deploy-requestapplicationprocess-action
Invoke HCL/IBM DevOps Deploy CLI to request a Application process
https://github.com/hcl-tech-software/devops-deploy-requestapplicationprocess-action
deploymentaction devops-deploy hcl ibm ucd urbancodedeploy
Last synced: 5 months ago
JSON representation
Invoke HCL/IBM DevOps Deploy CLI to request a Application process
- Host: GitHub
- URL: https://github.com/hcl-tech-software/devops-deploy-requestapplicationprocess-action
- Owner: HCL-TECH-SOFTWARE
- License: apache-2.0
- Created: 2024-03-25T13:00:54.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-18T23:12:24.000Z (over 1 year ago)
- Last Synced: 2025-10-02T07:29:48.351Z (10 months ago)
- Topics: deploymentaction, devops-deploy, hcl, ibm, ucd, urbancodedeploy
- Language: JavaScript
- Homepage:
- Size: 1.3 MB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GitHub Action: Request Application process in Devops-Deploy
This GitHub Action automates the process of triggering an Devops-Deploy (formerly UrbanCode Deploy) application process request based on the provided inputs. It streamlines the deployment workflow by integrating Devops-Deploy directly into your GitHub repository.
## Inputs
1. `application` (required): The name of the application in Devops-Deploy.
2. `applicationProcess` (required): The name of the application process in Devops-Deploy.
3. `environment` (required): The name of the target environment in Devops-Deploy.
4. `onlyChanged` (optional): A boolean value indicating if only changed artifacts should be deployed. Default is `false`.
5. `properties` (optional): Properties for the application process as a JSON string. Default is an empty string.
6. `propertiesfile` (optional): description : Properties file path in the local ore remote repository for Application process properties.
7. `snapshot` (optional): Snapshot name/Id. Snapshot is mutually exclusive of versions parameter. Snapshot takes precedence over versions when both have input values
8. `versions` (required): Versions along with components as a JSON string. Each version should have a "component" and "version" key.
9. `hostname` (required): The hostname of the Devops-Deploy instance.
10. `port` (optional): The port number of the Devops-Deploy instance. Default is `8443`.
11. `username` (required): Your Devops-Deploy username.
12. `password` (Either this or authtoken is required): Your Devops-Deploy password. This input is marked as a secret.
13. `authToken`(Either this or password is required): Your Devops-Deploy auth token. This input is marked as a secret. **username** is not needed when authToken is provided, if provided it will be ignored.
14. `disableSSLVerification` (optional): A boolean value indicating whether to skip SSL certificate validation when making HTTPS requests. Default is `false`.
## Usage Examples
### Example:-1 Deploy using versions
```yaml
name: Deploy to Devops-Deploy
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Deploy to Devops-Deploy
uses: HCL-TECH-SOFTWARE/devops-deploy-RequestApplicationProcess-action@v1.33
with:
application: 'MyApp'
applicationProcess: 'DeployProcess'
environment: 'Production'
onlyChanged: true
properties: '{"key1": "value1", "key2": "value2"}'
versions: '[{"component": "Component1", "version": "1.0"}, {"component": "Component2", "version": "2.0"}]'
hostname: ${{ secrets.UCD_HOSTNAME }}
username: ${{ secrets.UCD_USERNAME }}
password: ${{ secrets.UCD_PASSWORD }}
disableSSLVerification: true
```
### Example:-2 Deploy using snapshot
```yaml
name: Deploy to Devops-Deploy
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Deploy to Devops-Deploy
uses: HCL-TECH-SOFTWARE/devops-deploy-RequestApplicationProcess-action@v1.33
with:
application: 'MyApp'
applicationProcess: 'DeployProcess'
environment: 'Production'
onlyChanged: true
properties: '{"key1": "value1", "key2": "value2"}'
snapshot: 'snapshot-1'
hostname: ${{ secrets.UCD_HOSTNAME }}
username: ${{ secrets.UCD_USERNAME }}
password: ${{ secrets.UCD_PASSWORD }}
disableSSLVerification: true
```
### Example:-3 Deploy versions using authToken to authenticate
```yaml
name: Deploy to Devops-deploy
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Deploy to Devops-Deploy
uses: HCL-TECH-SOFTWARE/devops-deploy-RequestApplicationProcess-action@v1.33
with:
application: 'MyApp'
applicationProcess: 'DeployProcess'
environment: 'Production'
onlyChanged: true
properties: '{"key1": "value1", "key2": "value2"}'
versions: '[{"component": "Component1", "version": "1.0"}, {"component": "Component2", "version": "2.0"}]'
hostname: ${{ secrets.UCD_HOSTNAME }}
authToken: ${{ secrets.UCD_AUTHTOKEN }}
disableSSLVerification: true
```
### Example:-4 Deploy with Properties fetched from a file in local repository and using Github secrets
```yaml
on:
workflow_dispatch:
jobs:
hello_world_job:
runs-on: self-hosted
environment: DEV
name: A job to deploy application
steps:
- name: Fetch properties file
id: download_ucd_properties_file
uses: actions/checkout@v4
with:
repository: bharathk-github/Testing
sparse-checkout: |
ucdproperties.prop
sparse-checkout-cone-mode: false
- name: Deploy application
id: Deploy_MYAPP
uses: HCL-TECH-SOFTWARE/devops-deploy-RequestApplicationProcess-action@v1.33
with:
application: 'MYAPP'
applicationProcess: 'DEPLOY-MYAPP'
environment: 'DEV'
propertiesfile: 'ucdproperties.prop'
versions: '[{"version": "BUILD-DEV-JCL", "component": "MYCOMP"}]'
hostname: '${{ secrets.UCD_HOST }}'
port: '8443'
username: '${{ secrets.UCD_USERNAME }}'
password: '${{ secrets.UCD_PASSWORD }}'
authToken: '${{ secrets.UCD_AUTHTOKEN }}'
disableSSLVerification: 'true'
```
### Example-5 Deploy with Properties fetched from Github variables
```yaml
on:
workflow_dispatch:
jobs:
hello_world_job:
runs-on: self-hosted
environment: DEV
name: A job to deploy application
steps:
- name: Deploy application
id: Deploy_MYAPP
uses: HCL-TECH-SOFTWARE/devops-deploy-RequestApplicationProcess-action@v1.33
with:
application: 'MYAPP'
applicationProcess: 'DEPLOY-MYAPP'
environment: 'DEV'
properties: '{"prop1":"${{ vars.PROP1 }}", "prop2":"${{ vars.PROP2 }}"}'
versions: '[{"version": "BUILD-DEV-JCL", "component": "MYCOMP"}]'
hostname: '${{ secrets.UCD_HOST }}'
port: '8443'
username: '${{ secrets.UCD_USERNAME }}'
password: '${{ secrets.UCD_PASSWORD }}'
authToken: '${{ secrets.UCD_AUTHTOKEN }}'
disableSSLVerification: 'true'
```