Merge branch 'main' of ssh://git.pwc.team:9921/Salesforce/sf-cli-wrapper

This commit is contained in:
reynold
2025-08-28 21:22:59 +08:00
5 changed files with 119 additions and 28 deletions

View File

@@ -42,8 +42,15 @@ param(
[Parameter(ParameterSetName="Code")] [Parameter(ParameterSetName="Code")]
[string]$code, [string]$code,
[Parameter(ParameterSetName="File")]
[Parameter(ParameterSetName="Code")]
[string]$to, [string]$to,
[Parameter(ParameterSetName="File")]
[Parameter(ParameterSetName="Code")]
[switch]$ve, [switch]$ve,
[Parameter(ParameterSetName="Help", Mandatory=$true)]
[switch]$hp [switch]$hp
) )

View File

@@ -32,7 +32,7 @@
.PARAMETER Wait .PARAMETER Wait
Wait time in minutes (default: 10) (alias: -wt) Wait time in minutes (default: 10) (alias: -wt)
.PARAMETER Verbose .PARAMETER VerboseOutput
Enable verbose output (alias: -ve) Enable verbose output (alias: -ve)
.PARAMETER Help .PARAMETER Help
@@ -51,36 +51,64 @@
param( param(
[Parameter(ParameterSetName="Query")] [Parameter(ParameterSetName="Query")]
[Parameter(ParameterSetName="Help")]
[Alias("qy")] [Alias("qy")]
[string]$Query, [string]$Query,
[Parameter(ParameterSetName="File")] [Parameter(ParameterSetName="File")]
[Parameter(ParameterSetName="Help")]
[Alias("fl")] [Alias("fl")]
[string]$File, [string]$File,
[Parameter(ParameterSetName="SObject")] [Parameter(ParameterSetName="SObject")]
[Parameter(ParameterSetName="Help")]
[Alias("so")] [Alias("so")]
[string]$SObject, [string]$SObject,
[Parameter(ParameterSetName="Query")]
[Parameter(ParameterSetName="File")]
[Parameter(ParameterSetName="SObject")]
[Parameter(ParameterSetName="Help")]
[Alias("ot")] [Alias("ot")]
[string]$Output = "export.csv", [string]$Output = "export.csv",
[Parameter(ParameterSetName="Query")]
[Parameter(ParameterSetName="File")]
[Parameter(ParameterSetName="SObject")]
[Parameter(ParameterSetName="Help")]
[Alias("to")] [Alias("to")]
[string]$TargetOrg, [string]$TargetOrg,
[Parameter(ParameterSetName="Query")]
[Parameter(ParameterSetName="File")]
[Parameter(ParameterSetName="SObject")]
[Parameter(ParameterSetName="Help")]
[ValidateSet("csv", "json")] [ValidateSet("csv", "json")]
[Alias("fm")] [Alias("fm")]
[string]$Format = "csv", [string]$Format = "csv",
[Parameter(ParameterSetName="Query")]
[Parameter(ParameterSetName="File")]
[Parameter(ParameterSetName="SObject")]
[Parameter(ParameterSetName="Help")]
[Alias("bk")] [Alias("bk")]
[switch]$Bulk, [switch]$Bulk,
[Parameter(ParameterSetName="Query")]
[Parameter(ParameterSetName="File")]
[Parameter(ParameterSetName="SObject")]
[Parameter(ParameterSetName="Help")]
[Alias("wt")] [Alias("wt")]
[int]$Wait = 10, [int]$Wait = 10,
[Alias("vb")] [Parameter(ParameterSetName="Query")]
[switch]$Verbose, [Parameter(ParameterSetName="File")]
[Parameter(ParameterSetName="SObject")]
[Parameter(ParameterSetName="Help")]
[Alias("ve")]
[switch]$VerboseOutput,
[Parameter(ParameterSetName="Help", Mandatory=$true)]
[Alias("hp")] [Alias("hp")]
[switch]$Help [switch]$Help
) )
@@ -234,10 +262,8 @@ if ($TargetOrg) {
Write-Host "Output format: $Format" -ForegroundColor Cyan Write-Host "Output format: $Format" -ForegroundColor Cyan
Write-Host "Output file: $Output" -ForegroundColor Cyan Write-Host "Output file: $Output" -ForegroundColor Cyan
# Add verbose flag if requested # Note: sf data commands don't support --verbose flag
if ($Verbose) { # VerboseOutput only affects the script's own output (query preview)
$sfArgs += "--verbose"
}
# Display export information # Display export information
Write-Host "" Write-Host ""
@@ -245,7 +271,7 @@ Write-Host "📊 Starting Data Export" -ForegroundColor Blue
Write-Host "=======================" -ForegroundColor Blue Write-Host "=======================" -ForegroundColor Blue
# Show query preview if verbose # Show query preview if verbose
if ($Verbose) { if ($VerboseOutput) {
Write-Host "" Write-Host ""
Write-Host "📝 SOQL Query:" -ForegroundColor Yellow Write-Host "📝 SOQL Query:" -ForegroundColor Yellow
Write-Host "----------------------------------------" -ForegroundColor Gray Write-Host "----------------------------------------" -ForegroundColor Gray
@@ -287,7 +313,7 @@ try {
} }
} }
if ($Verbose) { if ($VerboseOutput) {
Write-Host "💡 Use a spreadsheet application or text editor to view the exported data" -ForegroundColor Yellow Write-Host "💡 Use a spreadsheet application or text editor to view the exported data" -ForegroundColor Yellow
} }
} else { } else {

View File

@@ -35,7 +35,7 @@
.PARAMETER IgnoreErrors .PARAMETER IgnoreErrors
Continue on errors (don't fail entire job) (alias: -ie) Continue on errors (don't fail entire job) (alias: -ie)
.PARAMETER Verbose .PARAMETER VerboseOutput
Enable verbose output (alias: -ve) Enable verbose output (alias: -ve)
.PARAMETER Help .PARAMETER Help
@@ -57,39 +57,48 @@
#> #>
param( param(
[Parameter(Mandatory)] [Parameter(ParameterSetName="Import", Mandatory)]
[Alias("fl")] [Alias("fl")]
[string]$File, [string]$File,
[Parameter(Mandatory)] [Parameter(ParameterSetName="Import", Mandatory)]
[Alias("so")] [Alias("so")]
[string]$SObject, [string]$SObject,
[Parameter(ParameterSetName="Import")]
[ValidateSet("insert", "update", "upsert")] [ValidateSet("insert", "update", "upsert")]
[Alias("op")] [Alias("op")]
[string]$Operation = "insert", [string]$Operation = "insert",
[Parameter(ParameterSetName="Import")]
[Alias("ei")] [Alias("ei")]
[string]$ExternalId, [string]$ExternalId,
[Parameter(ParameterSetName="Import")]
[Alias("to")] [Alias("to")]
[string]$TargetOrg, [string]$TargetOrg,
[Parameter(ParameterSetName="Import")]
[Alias("bk")] [Alias("bk")]
[switch]$Bulk, [switch]$Bulk,
[Parameter(ParameterSetName="Import")]
[Alias("wt")] [Alias("wt")]
[int]$Wait = 10, [int]$Wait = 10,
[Parameter(ParameterSetName="Import")]
[Alias("bs")] [Alias("bs")]
[int]$BatchSize = 10000, [int]$BatchSize = 10000,
[Parameter(ParameterSetName="Import")]
[Alias("ie")] [Alias("ie")]
[switch]$IgnoreErrors, [switch]$IgnoreErrors,
[Alias("vb")] [Parameter(ParameterSetName="Import")]
[switch]$Verbose, [Alias("ve")]
[switch]$VerboseOutput,
[Parameter(ParameterSetName="Help", Mandatory=$true)]
[Alias("hp")] [Alias("hp")]
[switch]$Help [switch]$Help
) )
@@ -270,12 +279,18 @@ switch ($fileFormat) {
} }
# Show file preview if verbose # Show file preview if verbose
if ($Verbose) { if ($VerboseOutput) {
Show-FilePreview $File $fileFormat Show-FilePreview $File $fileFormat
} }
# Build the sf command # Build the sf command based on file format
$sfArgs = @("data", $Operation, "--file", $File, "--sobject", $SObject) if ($fileFormat -eq "csv") {
# Use bulk import for CSV files
$sfArgs = @("data", "import", "bulk", "--file", $File, "--sobject", $SObject)
} else {
# Use tree import for JSON files
$sfArgs = @("data", "import", "tree", "--files", $File)
}
# Add optional parameters # Add optional parameters
if ($TargetOrg) { if ($TargetOrg) {
@@ -311,10 +326,8 @@ if ($IgnoreErrors) {
Write-Host "Ignoring individual record errors" -ForegroundColor Yellow Write-Host "Ignoring individual record errors" -ForegroundColor Yellow
} }
# Add verbose flag if requested # Note: sf data import commands don't support --verbose flag
if ($Verbose) { # VerboseOutput only affects the script's own output (file preview)
$sfArgs += "--verbose"
}
# Display import information # Display import information
Write-Host "" Write-Host ""
@@ -349,7 +362,7 @@ try {
} }
} }
if ($Verbose) { if ($VerboseOutput) {
Write-Host "💡 Check the output above for detailed results and any warnings" -ForegroundColor Yellow Write-Host "💡 Check the output above for detailed results and any warnings" -ForegroundColor Yellow
} }
} else { } else {

View File

@@ -26,7 +26,7 @@
.PARAMETER Wait .PARAMETER Wait
Wait time in minutes for the retrieve operation (default: 10) Wait time in minutes for the retrieve operation (default: 10)
.PARAMETER Verbose .PARAMETER VerboseOutput
Enable verbose output Enable verbose output
.PARAMETER Help .PARAMETER Help
@@ -53,10 +53,28 @@ param(
[Parameter(ParameterSetName="Package")] [Parameter(ParameterSetName="Package")]
[string]$Package, [string]$Package,
[Parameter(ParameterSetName="Types")]
[Parameter(ParameterSetName="Manifest")]
[Parameter(ParameterSetName="Package")]
[string]$OutputDir, [string]$OutputDir,
[Parameter(ParameterSetName="Types")]
[Parameter(ParameterSetName="Manifest")]
[Parameter(ParameterSetName="Package")]
[string]$o, [string]$o,
[Parameter(ParameterSetName="Types")]
[Parameter(ParameterSetName="Manifest")]
[Parameter(ParameterSetName="Package")]
[int]$Wait = 10, [int]$Wait = 10,
[switch]$Verbose,
[Parameter(ParameterSetName="Types")]
[Parameter(ParameterSetName="Manifest")]
[Parameter(ParameterSetName="Package")]
[switch]$VerboseOutput,
[Parameter(ParameterSetName="Help", Mandatory=$true)]
[Alias("hp")]
[switch]$Help [switch]$Help
) )
@@ -166,7 +184,7 @@ if ($Wait -ne 10) {
} }
# Add verbose flag if requested # Add verbose flag if requested
if ($Verbose) { if ($VerboseOutput) {
$sfArgs += "--verbose" $sfArgs += "--verbose"
} }

View File

@@ -32,7 +32,7 @@
.PARAMETER OutputDir .PARAMETER OutputDir
Directory to store test results and reports Directory to store test results and reports
.PARAMETER Verbose .PARAMETER VerboseOutput
Enable verbose test output Enable verbose test output
.PARAMETER Help .PARAMETER Help
@@ -63,11 +63,38 @@ param(
[Parameter(ParameterSetName="Suite")] [Parameter(ParameterSetName="Suite")]
[string]$Suite, [string]$Suite,
[Parameter(ParameterSetName="Classes")]
[Parameter(ParameterSetName="Methods")]
[Parameter(ParameterSetName="Level")]
[Parameter(ParameterSetName="Suite")]
[switch]$Coverage, [switch]$Coverage,
[Parameter(ParameterSetName="Classes")]
[Parameter(ParameterSetName="Methods")]
[Parameter(ParameterSetName="Level")]
[Parameter(ParameterSetName="Suite")]
[int]$Wait = 10, [int]$Wait = 10,
[Parameter(ParameterSetName="Classes")]
[Parameter(ParameterSetName="Methods")]
[Parameter(ParameterSetName="Level")]
[Parameter(ParameterSetName="Suite")]
[string]$o, [string]$o,
[Parameter(ParameterSetName="Classes")]
[Parameter(ParameterSetName="Methods")]
[Parameter(ParameterSetName="Level")]
[Parameter(ParameterSetName="Suite")]
[string]$OutputDir, [string]$OutputDir,
[switch]$Verbose,
[Parameter(ParameterSetName="Classes")]
[Parameter(ParameterSetName="Methods")]
[Parameter(ParameterSetName="Level")]
[Parameter(ParameterSetName="Suite")]
[switch]$VerboseOutput,
[Parameter(ParameterSetName="Help", Mandatory=$true)]
[Alias("hp")]
[switch]$Help [switch]$Help
) )
@@ -181,7 +208,7 @@ $sfArgs += "--result-format"
$sfArgs += "human" $sfArgs += "human"
# Add verbose flag if requested # Add verbose flag if requested
if ($Verbose) { if ($VerboseOutput) {
$sfArgs += "--verbose" $sfArgs += "--verbose"
} }