Introduction to plugin development

A plugin provides an ability to extend CloudBees CD capabilities by providing integrations with CloudBees CD and, where necessary, with third party software products with the goal of addressing use cases ranging from code checkin all the way to the release of an application. Here are some examples:

  • ECSCM-Git performs code checkouts, preflight build, and continuous integration with any Git compliant SCM, for example GitHub, GitLab, and so on.

  • EC-Artifactory publishes and retrieves artifacts fromJFrog Artifactory.

  • EC-Weblogic deploys web applications to the Weblogic application server.

  • EC-EC2 spins compute resources to AWS.

  • EC-Jenkins runs and monitors build jobs on a Jenkins CI server.

  • EC-Jira manages issues in the Atlassian Jira Issue Management System.

  • EC-Admin provides a collection of administrative procedures that helps in managing the server.

Plugin types

There are two types of plugins:

  • CloudBees CD plugins: extend as mentioned above and are installed on the automation platform.

  • Native plugins: Plugins that make features available in other platforms, for example Jenkins, TFS, and so on. These plugins are developed using the specific platform’s native plugin infrastructure and typically use Rest APIs for integrating with. These plugins run natively on a third party platform using its infrastructure.

Document assumptions

  • This guide is meant for developers who want to develop plugins for the CloudBees CD platform, using the newly introduced CloudBees CD plugin development framework (pdk).

  • This guide assumes that the developer is already familiar with CloudBees CD concepts, tools, and APIs as documented in the CloudBees CD documentation.

  • This guide addresses plugins that are installed on the CloudBees CD platform, only, and not native plugins.

Deprecation of ElectricFlow 6.0 Plugin SDK

Beginning with CloudBees CD 9.1, the current document replaces the Plugin developer guide mentioned below and provides the only methodology for creating plugins going forward. Further the SDK and the methodology of developing Plugins as mentioned in the guide (see below) are considered obsolete, not recommended for use and not supported.