1. Supported Environment and System Requirements
Operating System Compatibility
This document and pipeline script are designed for:- Linux-based Jenkins agents (Recommended)
- Ubuntu 24.04
- CentOS 7+
- Shell:
bash curlcommand must be installed
⚠️ If Jenkins runs on Windows agents, theshsteps must be replaced withbatand curl must be available in PATH.
Jenkins Version
Tested with:- Jenkins
jenkins/jenkins:2.541.1
Required Jenkins Plugins and Versions
The following plugins must be installed:- Pipeline (608.v67378e9d3db_1)
- Pipeline Utility Steps (2.20.0)
- Credentials Binding Plugin (717.v951d49b_5f3a_a_)
Required External Tools
curl7.68+- Java 11 (recommended for Jenkins runtime)
2. Credential Configuration
API Tokens must be defined in Jenkins as Secret Text credentials. To create credentials: Manage Jenkins → Credentials → (Global) → Add CredentialsKind: Secret Text Create:
APINIZER_TEST_TOKEN→ Source environment tokenAPINIZER_PROD_TOKEN→ Target environment token
3. Where to Write This Script?
This script must be added inside a Jenkins Pipeline Job. There are two possible methods:Option A — Pipeline Script (Classic UI)
- New Item
- Select Pipeline
- Scroll to Pipeline section
- Choose Pipeline script
- Paste the Groovy script
4. Pipeline Step Explanation
The pipeline contains one main stage:Sync TEST → PROD
A. Authentication
withCredentials securely loads tokens into environment variables:
$TEST_TOKEN$PROD_TOKEN
B. Retrieve Proxy List (TEST)
Proxy list is retrieved from TEST project (test-cid) as JSON.
API Reference:Export documentation:
https://docs.apinizer.com/api-reference/api-proxies/crud/export-api-proxy
C. Export Process
Each proxy is exported as a.zip file from TEST.
API Documentation:https://docs.apinizer.com/api-reference/api-proxies/crud/export-api-proxy
D. Import Process (PROD)
The exported.zip file and metadata.json are sent using HTTP PUT method.
API Documentation:https://docs.apinizer.com/api-reference/api-proxies/crud/import-api-proxy
5. Pipeline Script (Groovy)
6. Error Handling and Notification
Pipeline Failure Behavior
set -eensures the pipeline stops immediately if:- Export fails
- Import fails
- curl returns non-zero exit code
Who Is Notified?
By default, Jenkins only marks the build as failed. To notify responsible teams, one of the following should be configured:- Email Notification Plugin
- Slack Notification Plugin
- Microsoft Teams Webhook
- Jira integration
7. Important Notes
- Metadata file currently uses
{}(default settings) - Custom environment-based configuration differences should be handled via metadata
- Ensure project IDs (
test-cid,prod-cid) are correct - Always test in non-production before enabling PROD sync
Document Version: 1.1
Prepared For: CI/CD Automation
Scope: TEST → PROD Proxy Synchronization

