diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b8908b2..d12188bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [4.2.0](https://github.com/OctopusDeploy/deploy-release-action/compare/v4.1.1...v4.2.0) (2026-04-09) + + +### Features + +* add support for deploy_at and deploy_at_expiry inputs ([#296](https://github.com/OctopusDeploy/deploy-release-action/issues/296)) ([fdadc7d](https://github.com/OctopusDeploy/deploy-release-action/commit/fdadc7d668134acbeaa5cc67ac814d42ea3f0dfb)) + ## [4.1.1](https://github.com/OctopusDeploy/deploy-release-action/compare/v4.1.0...v4.1.1) (2026-03-25) diff --git a/dist/index.js b/dist/index.js index 73b7000d..45cdb4f7 100644 --- a/dist/index.js +++ b/dist/index.js @@ -57928,7 +57928,9 @@ function getInputParameters() { releaseNumber: getInput("release_number", { required: true }), environments: getMultilineInput("environments", { required: true }).map((p) => p.trim()), useGuidedFailure: getBooleanInput("use_guided_failure") || void 0, - variables: variablesMap + variables: variablesMap, + runAt: getInput("deploy_at") ? new Date(getInput("deploy_at")) : void 0, + noRunAfter: getInput("deploy_at_expiry") ? new Date(getInput("deploy_at_expiry")) : void 0 }; const errors = []; if (!parameters.server) { @@ -57946,6 +57948,14 @@ function getInputParameters() { "The Octopus space name is required, please specify explicitly through the 'space' input or set the OCTOPUS_SPACE environment variable." ); } + const deployAt = getInput("deploy_at"); + if (deployAt && isNaN(new Date(deployAt).getTime())) { + errors.push(`deploy_at '${deployAt}' is not a valid ISO 8601 date-time string.`); + } + const deployAtExpiry = getInput("deploy_at_expiry"); + if (deployAtExpiry && isNaN(new Date(deployAtExpiry).getTime())) { + errors.push(`deploy_at_expiry '${deployAtExpiry}' is not a valid ISO 8601 date-time string.`); + } if (errors.length > 0) { throw new Error(errors.join("\n")); } @@ -57966,7 +57976,9 @@ async function createDeploymentFromInputs(client, parameters) { ReleaseVersion: parameters.releaseNumber, EnvironmentNames: parameters.environments, UseGuidedFailure: parameters.useGuidedFailure, - Variables: parameters.variables + Variables: parameters.variables, + RunAt: parameters.runAt, + NoRunAfter: parameters.noRunAfter }; const deploymentRepository = new import_api_client.DeploymentRepository(client, parameters.space); const response = await deploymentRepository.create(command); diff --git a/package-lock.json b/package-lock.json index ce42a4bd..6e9b21b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "deploy-release-action", - "version": "4.1.1", + "version": "4.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "deploy-release-action", - "version": "4.1.1", + "version": "4.2.0", "license": "Apache-2.0", "dependencies": { "@actions/core": "3.0.0", diff --git a/package.json b/package.json index 02183a39..6fb5ed65 100644 --- a/package.json +++ b/package.json @@ -101,5 +101,5 @@ "test:unit": "node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --reporters=default --reporters=jest-junit --testPathPattern=__tests__/unit", "test:integration": "node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --reporters=default --reporters=jest-junit --testPathPattern=__tests__/integration" }, - "version": "4.1.1" + "version": "4.2.0" }