Introduction
Welcome to the GoCD Plugin API! You can use this API to implement GoCD plugins for:
- Analytics
- Artifacts
- Authorization
- Config repositories
- Elastic agents
- Notifications
- Package Repositories
- SCMs
- Tasks
- Secrets
Plugins, as the name implies, help in extending the functionality of GoCD. GoCD publishes a list of extension points for which plugins can be provided. An extension point published by the GoCD - defines the interface and the lifecycle that governs the respective plugin. At present only Java based extension points and plugins are supported by GoCD, but the interface is simple enough for anyone to build plugins in other languages using a simple HTTP bridge.
Plugin packaging structure
Plugins can be packaged as standalone jar or a combination of multiple plugins in a jar know as plugin bundle. To know more about the packaging jar is explained in the following sections:
API Changelog
The changelog is maintained starting from version 19.2.0 of GoCD. For changes from previous versions, see the release notes at https://gocd.org/releases.
Changes in GoCD 24.4.0
No changes or deprecations.
Changes in GoCD 24.3.0
No changes or deprecations.
Changes in GoCD 24.2.0
No changes or deprecations.
Changes in GoCD 24.1.0
No changes or deprecations.
Changes in GoCD 23.5.0
No changes or deprecations.
Changes in GoCD 23.4.0
No changes or deprecations.
Changes in GoCD 23.3.0
No changes or deprecations.
Changes in GoCD 23.2.0
Authorization (Changes)
- Plugins that support web based authentication capabilities can now optionally store temporary
state against the login session during retrieval of the authorization server redirect URL by returning
an optional
auth_session
object/dictionary, which will be supplied back to the plugin during Fetch Access Token for further verification.
Changes in GoCD 23.1.0
No changes or deprecations.
Changes in GoCD 22.3.0
No changes or deprecations.
Changes in GoCD 22.2.0
No changes or deprecations.
Changes in GoCD 22.1.0
No changes or deprecations.
Changes in GoCD 21.4.0
No changes or deprecations.
Changes in GoCD 21.3.0
No changes or deprecations.
Changes in GoCD 21.2.0
Deprecations (across extensions)
- Version 1 of “Log Message to Job Console” has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of “Log Message to Job Console”.
- The notification plugin extension version 3 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 4 of the notification plugin api.
- The analytics plugin extension version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the analytics plugin api.
- The elastic agent plugin extension version 4 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 5 of the elastic agent plugin api to allow adding support for multi cluster. The docker, docker swarm, kubernetes and ecs plugins have been migrated to the new versions, and users should upgrade their plugins to the latest version to see these new features.
- The Get Server Info processor version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the Get Server Info processor.
- The Config Repo Extension version 2 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 3 of the Config Repo Extension.
Changes in GoCD 21.1.0
Deprecations (across extensions)
- Version 1 of “Log Message to Job Console” has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of “Log Message to Job Console”.
- The notification plugin extension version 3 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 4 of the notification plugin api.
- The analytics plugin extension version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the analytics plugin api.
- The elastic agent plugin extension version 4 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 5 of the elastic agent plugin api to allow adding support for multi cluster. The docker, docker swarm, kubernetes and ecs plugins have been migrated to the new versions, and users should upgrade their plugins to the latest version to see these new features.
- The Get Server Info processor version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the Get Server Info processor.
- The Config Repo Extension version 2 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 3 of the Config Repo Extension.
Changes in GoCD 20.10.0
Deprecations (across extensions)
- Version 1 of “Log Message to Job Console” has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of “Log Message to Job Console”.
- The notification plugin extension version 3 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 4 of the notification plugin api.
- The analytics plugin extension version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the analytics plugin api.
- The elastic agent plugin extension version 4 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 5 of the elastic agent plugin api to allow adding support for multi cluster. The docker, docker swarm, kubernetes and ecs plugins have been migrated to the new versions, and users should upgrade their plugins to the latest version to see these new features.
- The Get Server Info processor version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the Get Server Info processor.
- The Config Repo Extension version 2 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 3 of the Config Repo Extension.
Changes in GoCD 20.9.0
Deprecations (across extensions)
- Version 1 of “Log Message to Job Console” has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of “Log Message to Job Console”.
- The notification plugin extension version 3 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 4 of the notification plugin api.
- The analytics plugin extension version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the analytics plugin api.
- The elastic agent plugin extension version 4 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 5 of the elastic agent plugin api to allow adding support for multi cluster. The docker, docker swarm, kubernetes and ecs plugins have been migrated to the new versions, and users should upgrade their plugins to the latest version to see these new features.
- The Get Server Info processor version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the Get Server Info processor.
- The Config Repo Extension version 2 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 3 of the Config Repo Extension.
Changes in GoCD 20.8.0
Config Repo (Changes)
- A new version 3 of the Config Repo extension is available. This version introduces the following,
- A new message endpoint Get config files
- Support for additional Plugin Capablities
supports_list_config_files
andsupports_user_defined_properties
Deprecations (across extensions)
- Version 1 of “Log Message to Job Console” has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of “Log Message to Job Console”.
- The notification plugin extension version 3 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 4 of the notification plugin api.
- The analytics plugin extension version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the analytics plugin api.
- The elastic agent plugin extension version 4 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 5 of the elastic agent plugin api to allow adding support for multi cluster. The docker, docker swarm, kubernetes and ecs plugins have been migrated to the new versions, and users should upgrade their plugins to the latest version to see these new features.
- The Get Server Info processor version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the Get Server Info processor.
- The Config Repo Extension version 2 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 3 of the Config Repo Extension.
Changes in GoCD 20.7.0
Deprecations (across extensions)
- Version 1 of “Log Message to Job Console” has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of “Log Message to Job Console”.
- The notification plugin extension version 3 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 4 of the notification plugin api.
- The analytics plugin extension version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the analytics plugin api.
- The elastic agent plugin extension version 4 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 5 of the elastic agent plugin api to allow adding support for multi cluster. The docker, docker swarm, kubernetes and ecs plugins have been migrated to the new versions, and users should upgrade their plugins to the latest version to see these new features.
- The Get Server Info processor version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the Get Server Info processor.
Changes in GoCD 20.6.0
Deprecations (across extensions)
- Version 1 of “Log Message to Job Console” has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of “Log Message to Job Console”.
- The notification plugin extension version 3 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 4 of the notification plugin api.
- The analytics plugin extension version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the analytics plugin api.
- The elastic agent plugin extension version 4 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 5 of the elastic agent plugin api to allow adding support for multi cluster. The docker, docker swarm, kubernetes and ecs plugins have been migrated to the new versions, and users should upgrade their plugins to the latest version to see these new features.
- The Get Server Info processor version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the Get Server Info processor.
Changes in GoCD 20.5.0
Deprecations (across extensions)
- Version 1 of “Log Message to Job Console” has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of “Log Message to Job Console”.
- The notification plugin extension version 3 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 4 of the notification plugin api.
- The analytics plugin extension version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the analytics plugin api.
- The elastic agent plugin extension version 4 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 5 of the elastic agent plugin api to allow adding support for multi cluster. The docker, docker swarm, kubernetes and ecs plugins have been migrated to the new versions, and users should upgrade their plugins to the latest version to see these new features.
- The Get Server Info processor version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the Get Server Info processor.
Changes in GoCD 20.4.0
Deprecations (across extensions)
- Version 1 of “Log Message to Job Console” has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of “Log Message to Job Console”.
- The notification plugin extension version 3 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 4 of the notification plugin api.
- The analytics plugin extension version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the analytics plugin api.
- The elastic agent plugin extension version 4 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 5 of the elastic agent plugin api to allow adding support for multi cluster. The docker, docker swarm, kubernetes and ecs plugins have been migrated to the new versions, and users should upgrade their plugins to the latest version to see these new features.
- The Get Server Info processor version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the Get Server Info processor.
Changes in GoCD 20.3.0
Deprecations (across extensions)
- Version 1 of “Log Message to Job Console” has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of “Log Message to Job Console”.
- The notification plugin extension version 3 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 4 of the notification plugin api.
- The analytics plugin extension version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the analytics plugin api.
- The elastic agent plugin extension version 4 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 5 of the elastic agent plugin api to allow adding support for multi cluster. The docker, docker swarm, kubernetes and ecs plugins have been migrated to the new versions, and users should upgrade their plugins to the latest version to see these new features.
- The Get Server Info processor version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the Get Server Info processor.
Changes in GoCD 20.02.0
Deprecations (across extensions)
- Version 1 of “Log Message to Job Console” has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of “Log Message to Job Console”.
- The notification plugin extension version 3 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 4 of the notification plugin api.
- The analytics plugin extension version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the analytics plugin api.
- The elastic agent plugin extension version 4 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 5 of the elastic agent plugin api to allow adding support for multi cluster. The docker, docker swarm, kubernetes and ecs plugins have been migrated to the new versions, and users should upgrade their plugins to the latest version to see these new features.
- The Get Server Info processor version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the Get Server Info processor.
Changes in GoCD 20.01.0
Deprecations (across extensions)
- Version 1 of “Log Message to Job Console” has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of “Log Message to Job Console”.
- The notification plugin extension version 3 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 4 of the notification plugin api.
- The analytics plugin extension version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the analytics plugin api.
- The elastic agent plugin extension version 4 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 5 of the elastic agent plugin api to allow adding support for multi cluster. The docker, docker swarm, kubernetes and ecs plugins have been migrated to the new versions, and users should upgrade their plugins to the latest version to see these new features.
- The Get Server Info processor version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the Get Server Info processor.
Changes in GoCD 19.12.0
Deprecations (across extensions)
- Version 1 of “Log Message to Job Console” has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of “Log Message to Job Console”.
- The notification plugin extension version 3 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 4 of the notification plugin api.
- The analytics plugin extension version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the analytics plugin api.
- The elastic agent plugin extension version 4 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 5 of the elastic agent plugin api to allow adding support for multi cluster. The docker, docker swarm, kubernetes and ecs plugins have been migrated to the new versions, and users should upgrade their plugins to the latest version to see these new features.
- The Get Server Info processor version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the Get Server Info processor.
Changes in GoCD 19.11.0
Deprecations (across extensions)
- Version 1 of “Log Message to Job Console” has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of “Log Message to Job Console”.
- The notification plugin extension version 3 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 4 of the notification plugin api.
- The analytics plugin extension version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the analytics plugin api.
- The elastic agent plugin extension version 4 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 5 of the elastic agent plugin api to allow adding support for multi cluster. The docker, docker swarm, kubernetes and ecs plugins have been migrated to the new versions, and users should upgrade their plugins to the latest version to see these new features.
- The Get Server Info processor version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the Get Server Info processor.
Changes in GoCD 19.10.0
Deprecations (across extensions)
- Version 1 of “Log Message to Job Console” has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of “Log Message to Job Console”.
- The notification plugin extension version 3 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 4 of the notification plugin api.
- The analytics plugin extension version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the analytics plugin api.
- The elastic agent plugin extension version 4 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 5 of the elastic agent plugin api to allow adding support for multi cluster. The docker, docker swarm, kubernetes and ecs plugins have been migrated to the new versions, and users should upgrade their plugins to the latest version to see these new features.
- The Get Server Info processor version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the Get Server Info processor.
Changes in GoCD 19.9.0
Elastic Agents (Changes)
- A new version, version 2, of Log Message to Job Console is available. The difference from the earlier version, version 1, available till GoCD 19.8.0 is that the format of the message has been changed to remove the use of camel-case.
Deprecations (across extensions)
- Version 1 of “Log Message to Job Console” has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of “Log Message to Job Console”.
- The notification plugin extension version 3 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 4 of the notification plugin api.
- The analytics plugin extension version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the analytics plugin api.
- The elastic agent plugin extension version 4 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 5 of the elastic agent plugin api to allow adding support for multi cluster. The docker, docker swarm, kubernetes and ecs plugins have been migrated to the new versions, and users should upgrade their plugins to the latest version to see these new features.
- The Get Server Info processor version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the Get Server Info processor.
Changes in GoCD 19.8.0
Deprecations (across extensions)
- The notification plugin extension version 3 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 4 of the notification plugin api.
- The analytics plugin extension version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the analytics plugin api.
- The elastic agent plugin extension version 4 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 5 of the elastic agent plugin api to allow adding support for multi cluster. The docker, docker swarm, kubernetes and ecs plugins have been migrated to the new versions, and users should upgrade their plugins to the latest version to see these new features.
- The Get Server Info processor version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the Get Server Info processor.
Changes in GoCD 19.7.0
Deprecations (across extensions)
- The notification plugin extension version 3 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 4 of the notification plugin api.
- The analytics plugin extension version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the analytics plugin api.
- The elastic agent plugin extension version 4 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 5 of the elastic agent plugin api to allow adding support for multi cluster. The docker, docker swarm, kubernetes and ecs plugins have been migrated to the new versions, and users should upgrade their plugins to the latest version to see these new features.
- The Get Server Info processor version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the Get Server Info processor.
Changes in GoCD 19.6.0
Secrets (New)
We have introduced v1 of the Secrets extension endpoint to look up for secrets defined outside of GoCD.
Deprecations (across extensions)
No deprecations in this release.
Changes in GoCD 19.5.0
Elastic Agents (Additions)
A new message which can be sent from the plugin to the GoCD server has been added:
- Log Message to Job Console: This allows an elastic agent plugin to log messages to the current job’s console.
Deprecations (across extensions)
No deprecations in this release.
Changes in GoCD 19.4.0
No additions and removals in this release.
Deprecations (across extensions)
- The notification plugin extension version 3 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 4 of the notification plugin api.
- The analytics plugin extension version 1 has been deprecated. This version will be removed in an upcoming release. Plugin developers should use version 2 of the analytics plugin api.
Changes in GoCD 19.3.0
Elastic Agents (Additions)
We have released a new version v5 of the Elastic Agents extension. It introduces a new feature of multi cluster support.
The new messages added are:
- Get Cluster Status Report
- Get Cluster Profile View
- Get Cluster Profile Metadata
- Validate Cluster Profile
- Migrate Config
Elastic Agents (Changes)
Endpoints defined in previous versions of this API have been enhanced, in the new version:
- Create Agent
- Should Assign Work
- Server Ping
- Capabilities
- Job Completion
- Agent Status Report
- Get Cluster Status Report
- Plugin Status Report
Deprecations (across extensions)
- The elastic agent plugin extension version 4 has been deprecated. This version will be removed in a release scheduled for Aug 2019. Plugin developers should use version 5 of the elastic agent plugin api to allow adding support for multi cluster. The docker, docker swarm, kubernetes and ecs plugins have been migrated to the new versions, and users should upgrade their plugins to the latest version to see these new features.
- The notification plugin extension version 3 has been deprecated. This version will be removed in a release scheduled for Mar 2019. Plugin developers should use version 4 of the notification plugin api.
- The analytics plugin extension version 1 has been deprecated. This version will be removed in a release scheduled for Mar 2019. Plugin developers should use version 2 of the analytics plugin api.
- The Get Server Info processor version 1 has been deprecated. This version will be removed in a release scheduled for April 2019. Plugin developers should use version 2 of the Get Server Info processor.
- The authorization extension v1 has been deprecated. This version will be removed in a release scheduled for September 2019. Plugin developers should upgrade their plugins to the latest version.
- The config repositories extension v1 has been deprecated. This version will be removed in a release scheduled for September 2019. Plugin developers should upgrade their plugins to the latest version.
Changes in GoCD 19.2.0
Config repositories (Additions)
- Supports version 2 of Config repositories extension API. Version 2 adds the following new messages:
Authorization (Additions)
- Supports version 2 of Authorization extension API. Version 2 adds the following new messages:
Authorization (Changes)
- Plugins Capabilities message is enhanced to add a new capability
can_get_user_roles
.
Deprecations (across extensions)
- The elastic agent plugin extension version 3 has been deprecated. This version will be removed in a release scheduled for Mar 2019. Plugin developers should use version 4 of the elastic agent plugin api to allow adding support for job completion request. The docker, docker swarm, kubernetes and ecs plugins have been migrated to the new versions, and users should upgrade their plugins to the latest version to see these new features.
- The notification plugin extension version 3 has been deprecated. This version will be removed in a release scheduled for Mar 2019. Plugin developers should use version 4 of the notification plugin api.
- The analytics plugin extension version 1 has been deprecated. This version will be removed in a release scheduled for Mar 2019. Plugin developers should use version 2 of the analytics plugin api.
- The Get Server Info processor version 1 has been deprecated. This version will be removed in a release scheduled for April 2019. Plugin developers should use version 2 of the Get Server Info processor.
- The authorization extension v1 has been deprecated. This version will be removed in a release scheduled for September 2019. Plugin developers should upgrade their plugins to the latest version.
- The config repositories extension v1 has been deprecated. This version will be removed in a release scheduled for September 2019. Plugin developers should upgrade their plugins to the latest version.