Conversation
…dency - Upgrade Jenkins plugin version to 0.51.0 for improved compatibility. - Add Apache Commons Text library to test dependencies for enhanced text manipulation capabilities. - Introduce VSCode settings for better development environment configuration.
…ommands - Introduce LegacyCliWrapper to encapsulate Octopus CLI command execution. - Replace direct command construction in OctopusDeployPushBuildInformationRecorder, OctopusDeployPushRecorder, and OctopusDeployReleaseRecorder with the new wrapper. - Add methods in OctopusDeployPlugin for retrieving OctopusDeployServer instances. - Enhance error handling and logging for CLI command execution. - Update OctopusValidator to use new server ID retrieval method. This refactor improves code maintainability and readability by centralizing CLI command handling in the LegacyCliWrapper, allowing for easier updates and modifications in the future.
Replace LegacyCliWrapper with new CliWrapper for executing Octopus CLI commands. Introduce OctopusCliExecutor interface to unify command execution across legacy and new CLI implementations. Add OctopusCliWrapperBuilder for configuring CLI instances. This change enhances compatibility with the latest Octopus CLI features and improves maintainability.
- Move common execution logic from LegacyCliWrapper and CliWrapper into a new BaseCliWrapper class to reduce code duplication. - Introduce CliExecutionResult to encapsulate CLI execution results including stdout and exit codes. - Implement CLI type inference to determine whether to use the legacy .NET CLI or the new Golang-based CLI. - Update OctopusCliWrapperBuilder to utilize the new structure and improve maintainability. - Remove redundant methods and streamline argument handling across CLI wrappers. This change enhances the overall architecture of the CLI wrappers, making it easier to maintain and extend in the future.
Introduce comprehensive unit tests for the CliWrapper class to ensure correct execution of various commands such as pack, push, and deploy. These tests validate argument structures and expected results, enhancing the reliability of the integration with the Octopus CLI.
Add unit tests to verify the behavior of deployRelease and createRelease methods in the CliWrapper class. The tests ensure that the correct arguments are passed to the execute method and that the expected results are returned, particularly when handling deployment scenarios with waitForDeployment and environment parameters.
ATGardner
commented
Feb 8, 2026
| @@ -0,0 +1,15 @@ | |||
| { | |||
Collaborator
Author
There was a problem hiding this comment.
should i remove this file? add .vscode to .gitignore?
Contributor
There was a problem hiding this comment.
leave it, it won't hurt to have it, if someone else opens it up in vscode and they end up with diffs they can decide to clean it up and ignore from then forward.
ATGardner
commented
Feb 8, 2026
| * Get the default OctopusDeployServer from OctopusDeployPlugin configuration | ||
| * @return the default server | ||
| * */ | ||
| protected static OctopusDeployServer getDefaultOctopusDeployServer() { |
Collaborator
Author
There was a problem hiding this comment.
i moved static methods that get the OctopusDeployPlugin descriptor into OctopusDeployPlugin
the golang cli doesn't handle utf-16 json files too well, while the .net legacy cli can now handle utf-8 without any issues.
simplified addCommonArguments removed `--verbose` (which isn't available in golang cli)
Jtango18
approved these changes
Feb 9, 2026
Contributor
Jtango18
left a comment
There was a problem hiding this comment.
Admittedly some of my Java is a little rusty, but this looks like a pretty solid PR to me,
This change modifies the logging command in the workflow to eliminate the redundant output of the last 20 lines of logs from the Octopus server during the readiness check. This helps to streamline the logs and focus on relevant information while waiting for the server to be ready.
Enhance the logging output when waiting for the Octopus Deploy server to be ready by redirecting error output to standard output. This provides better visibility into the server's status during the initialization process.
This change updates the Java version used in the setup step of the GitHub Actions workflow from JDK 8 to JDK 11 to ensure compatibility with the latest features and improvements in the Java ecosystem.
…sponse Refactor the deployment method to retrieve the version from the JSON response when the deployToEnvironment is blank. This ensures that the correct version is used for deployment, improving the reliability of the deployment process.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refactor the OctopusDeploy plugin to utilize a new CLI wrapper, enhancing maintainability and readability. Introduce a unified interface for executing CLI commands, consolidating functionality to reduce code duplication. Add comprehensive unit tests to ensure reliability of the CLI integration.
implements Update Jenkins integration to use the latest Octopus CLI