All notable changes to the Rundeck Plugin Bootstrap project are documented in this file.
- Examples folder with complete, working examples of all plugin types
- 8 Java plugin examples (Notification, WorkflowStep, WorkflowNodeStep, ResourceModelSource, LogFilter, NodeExecutor, Orchestrator, Option)
- 5 Script plugin examples (NodeExecutor, WorkflowStep, ResourceModelSource, FileCopier, Option)
- 1 UI plugin example
- Regeneration script (
generate-examples.sh) to easily recreate all examples with one command - Examples README documenting the purpose and usage of each example
- GitHub Actions CI/CD workflow replacing Travis CI
- Automated build and test on push/PR
- Gradle wrapper validation
- Artifact uploads for distribution packages
- Better error handling with proper exit codes and optional debug output
- Examples .gitignore to prevent committing build artifacts
- Updated Groovy from 2.5.14 to 3.0.21 (matches current Rundeck)
- Updated Spock from 1.3-groovy-2.5 to 2.3-groovy-3.0
- Updated picocli from 4.0.0-alpha-2 to 4.7.5 (stable release)
- Updated commons-text from 1.4 to 1.11.0
- Updated Gradle wrapper from 7.2 to 7.6.4 (last stable 7.x)
- Updated shadow plugin from 7.1.0 to 7.1.2
- Updated axion-release plugin from 1.13.4 to 1.18.2
- Updated Rundeck version in templates from 5.0.2-20240212 to 5.7.0-20250101
- Updated Groovy version in templates from 3.0.9 to 3.0.21
- Improved input validation to preserve numbers in plugin names (e.g., "MyPlugin123" now stays as "myplugin123" instead of "myplugin")
- Enhanced Generator.groovy to use proper Callable return type for exit codes
- Bumped version from 1.1 to 1.2
- Updated README with GitHub Actions badge and examples documentation
- Duplicate import in notification PluginSpec template (removed duplicate
import spock.lang.Specification) - Error handling that was swallowing stack traces - now prints to stderr with optional debug mode
- Exit codes - now properly returns 0 on success, 1 on failure
- Travis CI configuration (
.travis.yml) - replaced with GitHub Actions
Initial working version with:
- Support for Java, Script, and UI plugins
- Multiple service types for each plugin type
- Template-based generation
- Basic testing
-
Groovy 3.0 Compatibility: Generated plugins now use Groovy 3.0.21. If you have existing plugins generated with older versions, they should continue to work, but you may want to regenerate them to get the latest dependencies.
-
Build System: The project now uses Gradle 7.6.4. If you're building from source, your existing Gradle daemon may need to be stopped:
./gradlew --stop -
CI/CD: If you're maintaining a fork, update your CI to use GitHub Actions instead of Travis CI. The workflow file is at
.github/workflows/build.yml. -
Examples: A new
examples/directory has been added. You can regenerate it anytime with./generate-examples.sh. This is especially useful for documentation purposes.
- Rundeck: Compatible with Rundeck 3.x, 4.x, and 5.x
- Java: Requires Java 11 or later
- Gradle: Uses Gradle 7.6.4 (included via wrapper)
- Groovy: Generated plugins use Groovy 3.0.21
Releases are automated via GitHub Actions. To create a new release:
- Update version in relevant files if needed
- Update CHANGELOG.md with release notes
- Commit changes
- Create and push a version tag:
git tag -a v1.2.0 -m "Release version 1.2.0" git push origin v1.2.0 - GitHub Actions will automatically build and create the release with all distribution packages
The release workflow:
- Builds all distribution formats (tar, zip, deb, rpm)
- Creates a GitHub release
- Attaches distribution files
- Generates release notes from commits