Purpose
This project automates API testing using Postman collections, executed through GitHub Actions CI/CD pipelines with the following capabilities:
2. Technology Stack
Repository link: EG-A-S/EGZP-Automation-Testing: Test repo for EGZP PartnerPortal
Component | Technology |
API Testing Tool | Postman Collections |
Execution Engine | Postman CLI & Newman |
CI/CD Platform | GitHub Actions |
Authentication | Azure AD Client Credentials |
Reporting | Allure Reports |
Environment Config | Postman Environment JSON |
Scripting | Shell scripts (Bash) |

Folder Explanation
Location | Purpose |
.github/workflows/ | CI/CD pipeline definitions |
API-Automation/collections/ | Exported Postman collection JSON files |
API-Automation/environments/ | Environment variable files |
runcollectionID.yml | Execute cloud collection using ID |
runCollectionsFile.yml | Execute local JSON collections with reporting |
Both workflows now include Azure AD Authentication using:
The following secrets must be configured in GitHub Repository:
Secret Name | Purpose |
POSTMAN_API_KEY | Authenticate Postman CLI |
AZURE_TENANT_ID | Azure AD Tenant |
AZURE_CLIENT_ID | Service Principal ID |
AZURE_CLIENT_SECRET | Service Principal Secret |
AZURE_SCOPE | API scope for token |
This token is then used by API requests inside Postman collections.
The project contains two workflows for different execution scenarios.
Name: Run Workorder Collections with ID
Purpose: Runs a Postman collection directly from Postman Cloud using:
Trigger Type
Input Parameters
Parameter | Description |
environment | dev / test / stage |
CollectionID | Postman Cloud Collection ID |
Contactperson | Custom runtime variable |
ContractorID | Custom runtime variable |
Execution Steps
Token Generation Step
The workflow securely calls Azure AD:
curl -X POST https://login.microsoftonline.com/<TENANT>/oauth2/v2.0/token
Key Features
When to Use
Name: Run Workorder Collections with JSON File
Purpose: Executes Postman collections stored in repository and generates:
Trigger
Input Parameters
Parameter | Description |
environment | dev / test / stage |
Collectionfile | Collection JSON file name |
Contactperson | Runtime variable |
ContractorID | Runtime variable |
Execution Flow
Publish to GitHub Pages
Reports are deployed automatically using:
peaceiris/actions-gh-pages@v3
Benefits of this Workflow
Available Environments
Located at: API-Automation/environments/
Supported:
These files contain:
Authentication token is NOT stored here – it is injected dynamically for security.
To onboard a new Postman collection:
No pipeline changes required.
Steps:
- Run Workorder Collections with ID
OR
- Run Workorder Collections with JSON File
Tool Used
What It Provides
9. Hosting
Reports are automatically published to:
https://eg-a-s.github.io/EGZP-Automation-Testing/
10. Security Best Practices