This repository serves as a comprehensive knowledge base for developing Rundeck plugins. It includes a variety of example plugins, each demonstrating best practices and adhering to the latest Plugin Development Guidelines.
These examples are designed to help you understand, edit, and build plugins for testing purposes.
The repository contains the following example plugins:
- Example Step Plugins: Demonstrates step plugins written in Groovy, including workflow and node step plugins.
- Example Notification Plugins: Includes examples for sending notifications, such as email and shell script-based notifications.
- Example Log Plugins: Provides examples for custom log handling.
- Example Step Plugins: Demonstrates step plugins written in Java, including node step and remote script node step plugins.
- Example Notification Plugin: An example notification plugin written in Java.
- Example Audit Plugin: Captures auditing events from the Rundeck application.
- Example Execution Lifecycle Plugin: Demonstrates execution lifecycle hooks for Rundeck jobs.
- Example Storage Plugins: Examples for custom storage backends.
- Example Script Node Step Plugin: A script-based node step plugin.
- Example Script Remote Node Step Plugin: A script-based remote node step plugin.
- JSON Plugin: Provides JSON format support for resource definitions, including a parser and generator.
Each plugin includes build instructions in its respective README.md. Most plugins use Gradle or Maven for building. For example:
./gradlew buildThe resulting .jar or .zip file can be found in the build/libs directory.
To install a plugin:
- Copy the built plugin file (e.g., .jar or .zip) to the $RDECK_BASE/libext directory of your Rundeck server.
- Alternatively, upload the plugin via the Rundeck GUI under Plugins > Upload Plugin.
Refer to the individual plugin README.md files for usage instructions and configuration details.
Repository Type: Configuration-only documentation repository
Security Posture: Low risk - contains only example code and documentation
Runtime Dependencies: None
This repository satisfies organizational security scanning requirements through minimal compliance files (package.json, .snyk, SECURITY.md) while accurately representing its nature as a documentation and examples repository. The repository contains no production runtime dependencies or executable Node.js code.
- Snyk Scanning: Configured for compliance with organizational security policies
- Expected Results: Root repository will pass; example projects will show vulnerabilities and build failures
- Security Posture: Acceptable for documentation repository - see SECURITY.md for detailed justification
- Build Issues: Example projects have intentional build failures due to outdated Gradle versions (educational examples)
- Vulnerability Status: Known vulnerabilities in example dependencies are documented and acceptable for non-production educational code
- Compliance Status: ✅ Repository meets security requirements as configuration-only documentation repository
We welcome contributions to improve these examples or add new ones. Please follow these steps:
- Fork the repository.
- Create a feature branch.
- Submit a pull request with a detailed description of your changes.
Historically, example plugin code was located in the examples folder of the Rundeck project. This repository aims to modernize and align those examples with the latest guidelines. Check back regularly for updates.
This repository is licensed under the Apache License 2.0.