UNPKG

@salesforce/plugin-packaging

Version:

SF plugin that support Salesforce Packaging Platform

100 lines 4.83 kB
/* * Copyright 2025, Salesforce, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Flags, orgApiVersionFlagWithDeprecations, SfCommand } from '@salesforce/sf-plugins-core'; import { Messages, Logger } from '@salesforce/core'; import { PackagePushUpgrade } from '@salesforce/packaging'; import { requiredHubFlag } from '../../../utils/hubFlag.js'; Messages.importMessagesDirectoryFromMetaUrl(import.meta.url); const messages = Messages.loadMessages('@salesforce/plugin-packaging', 'package_pushupgrade_list'); export class PackagePushRequestListCommand extends SfCommand { static summary = messages.getMessage('summary'); static description = messages.getMessage('description'); static examples = messages.getMessages('examples'); static aliases = ['force:package:push-upgrade:list']; static flags = { 'target-dev-hub': requiredHubFlag, 'api-version': orgApiVersionFlagWithDeprecations, package: Flags.string({ char: 'p', summary: messages.getMessage('flags.package.summary'), required: true, }), 'scheduled-last-days': Flags.integer({ char: 'l', deprecateAliases: true, aliases: ['scheduledlastdays'], summary: messages.getMessage('flags.scheduled-last-days.summary'), }), status: Flags.custom({ options: ['Created', 'Cancelled', 'Pending', 'In Progress', 'Failed', 'Succeeded'], })({ char: 's', summary: messages.getMessage('flags.status.summary'), }), 'show-push-migrations-only': Flags.boolean({ summary: messages.getMessage('flags.show-push-migrations-only.summary'), }), }; async run() { const { flags } = await this.parse(PackagePushRequestListCommand); const logger = await Logger.child(this.constructor.name); const hubOrg = flags['target-dev-hub']; const connection = hubOrg.getConnection(flags['api-version']); const scheduledLastDays = flags['scheduled-last-days']; if (scheduledLastDays !== undefined) { if (isNaN(scheduledLastDays) || scheduledLastDays <= 0) { throw new Error('Invalid value for --scheduled-last-days. It must be a positive integer.'); } } logger.debug(`Querying PackagePushRequest records from org ${hubOrg.getOrgId()}`); const results = await PackagePushUpgrade.list(connection, { packageId: flags.package, status: flags.status, scheduledLastDays, isMigration: flags['show-push-migrations-only'], }); if (results.length === 0) { this.warn('No results found'); } else { const data = await Promise.all(results.map(async (record) => { const packagePushRequestId = record?.Id; const packagePushRequestOptions = { packagePushRequestId }; const totalNumOrgs = await PackagePushUpgrade.getTotalJobs(connection, packagePushRequestOptions); const numOrgsUpgradedFail = await PackagePushUpgrade.getFailedJobs(connection, packagePushRequestOptions); const numOrgsUpgradedSuccess = await PackagePushUpgrade.getSucceededJobs(connection, packagePushRequestOptions); const pv = record?.PackageVersion; const packageVersionNumber = pv?.MajorVersion != null && pv?.MinorVersion != null ? `${pv.MajorVersion}.${pv.MinorVersion}` : undefined; return { Id: record?.Id, PackageVersionId: record?.PackageVersionId, PackageVersionName: pv?.Name, PackageVersionNumber: packageVersionNumber, Status: record?.Status, ScheduledStartTime: record?.ScheduledStartTime, StartTime: record?.StartTime, EndTime: record?.EndTime, NumOrgsScheduled: totalNumOrgs, NumOrgsUpgradedFail: numOrgsUpgradedFail, NumOrgsUpgradedSuccess: numOrgsUpgradedSuccess, }; })); this.table({ data }); } return results; } } //# sourceMappingURL=list.js.map