Releases: ryanbas21/ping-cli
Release list
p1-cli@0.4.0
Minor Changes
-
#31
8b873d6Thanks @ryanbas21! - Add dotenv support and make environment-id optional across all commands- Add dotenv package to automatically load .env files on startup
- Make --environment-id optional for all commands (falls back to PINGONE_ENV_ID env var or stored credentials)
- Fix ConfigHelper to use idiomatic Option handling
- Fix updatePingOneUser to use PATCH instead of PUT
- Fix setPingOneUserPassword Content-Type header handling
p1-cli@0.3.2
Patch Changes
-
#29
e92817cThanks @ryanbas21! - Automatic API endpoint detection from stored credentials regionThe CLI now automatically determines the correct API URL based on the region specified during
auth login, eliminating the need to manually setPINGONE_API_URLfor non-default regions.Changes:
getApiBaseUrl()now uses 3-tier priority:PINGONE_API_URLenv var > stored credentials region > default- Automatically extracts region from stored credentials'
tokenEndpoint - Supports all regions: North America (com), Europe (eu), Asia Pacific (asia), Canada (ca)
- Fixes 401 errors when using Canada, Europe, or Asia Pacific regions without explicit configuration
What this means for users:
- Just run
p1-cli auth login --region="ca"and the CLI automatically useshttps://api.pingone.ca/v1 - No need to manually set
PINGONE_API_URLenvironment variable anymore - Seamless multi-region support out of the box
p1-cli@0.3.1
Patch Changes
-
#23
70f612eThanks @ryanbas21! - Fix auth login command to support multiple input methods with proper precedence:- CLI flags (highest priority)
- Environment variables (PINGONE_CLIENT_ID, PINGONE_CLIENT_SECRET, PINGONE_ENV_ID, PINGONE_AUTH_REGION)
- Interactive prompts (lowest priority)
All authentication options are now optional, allowing flexible authentication workflows for different use cases (CI/CD, development, interactive).
p1-cli@0.2.0
What's Changed
- fix: enable automatic git tagging and docs deployment by @ryanbas21 in #9
- feat: add OAuth 2.0 client credentials authentication by @ryanbas21 in #10
- chore: release package by @github-actions[bot] in #11
Full Changelog: https://github.com/ryanbas21/ping-cli/compare/p1-cli@0.1.0...p1-cli@0.2.0
p1-cli@0.1.0
What's Changed
- refactor: consolidate HTTP request patterns with reusable helpers by @ryanbas21 in #2
- Add claude GitHub actions 1762748723239 by @ryanbas21 in #4
- feat: add environment management commands by @ryanbas21 in #5
- chore: release package by @github-actions[bot] in #3
- feat: add environment management commands by @ryanbas21 in #6
- fix: build before running tests in publish workflow by @ryanbas21 in #8
New Contributors
- @ryanbas21 made their first contribution in #2
Full Changelog: https://github.com/ryanbas21/ping-cli/compare/p1-cli@0.0.1...p1-cli@0.1.0
p1-cli@0.0.1
Patch Changes
44d5d43 Thanks @ryanbas21! - Initial npm release of PingOne CLI - a comprehensive command-line tool for managing PingOne resources via the PingOne Management API.
Features
User Management: Full CRUD operations for PingOne users with verification support
Bulk Operations: Import, export, and delete users in bulk with CSV/JSON support and parallel processing
Groups Management: Create, read, update, delete groups with member management
Populations Management: Complete CRUD operations for managing user populations
Applications Management: Create and manage OAuth/OIDC applications with full lifecycle support
Automatic Retry Logic: Transient error handling with exponential backoff
Response Caching: Configurable caching for read operations to reduce API calls
Type-Safe: Built with Effect library for robust error handling and type safety
Schema Validation: Request/response validation using Effect Schema
Multi-Region Support: Configurable API base URL for different PingOne regions
Bulk Operations
New bulk operations feature for efficient management of large user datasets:
Bulk Import: Import users from CSV or JSON files with parallel processing
Bulk Export: Export users to CSV or JSON format with filtering support
Bulk Delete: Delete multiple users from a file with safety confirmation
Parallel Processing: Configurable concurrency (default: 5 parallel operations)
Progress Tracking: Real-time progress updates every 10 operations
Dry-Run Mode: Preview operations without making changes
Error Collection: Automatic collection and reporting of failures
Flexible Formats: Support for both CSV and JSON file formats
Available Commands
Total of 26+ commands organized by resource type:
User Operations (5 commands): create_user, read_user, update_user, delete_user, verify_user
Bulk Operations (3 commands): bulk_import_users, bulk_export_users, bulk_delete_users
Groups (8 commands): create_group, read_group, list_groups, update_group, delete_group, add_member, remove_member, list_members
Populations (5 commands): create_population, read_population, list_populations, update_population, delete_population
Applications (5 commands): create_application, read_application, list_applications, update_application, delete_application
All commands support:
Environment variable configuration via .env file
CLI flags and options
Comprehensive error handling with structured error types
Pagination and filtering on list operations
Package Quality
166 comprehensive tests with full coverage
TypeScript strict mode enabled
Clean package output - no test files or development artifacts
MIT License for open source usage
Proper npm metadata - repository, bugs, homepage links
Latest Effect dependencies (v3.19.3)
Automated executable permissions for CLI binary
Configuration template included (.env.example)
Installation
Install globally
npm install -g p1-cli
Or use with npx
npx p1-cli --help
Documentation
The package includes:
Comprehensive README with usage examples
Bulk operations documentation with CSV/JSON format examples
Configuration guide with multi-region support
API endpoint documentation
Error handling patterns
IMPORTANT DISCLAIMER: This is completely unsupported and is NOT an official release of a Ping product. This tool is provided as-is for development and testing purposes only. Use at your own risk.