Gocd Jsonnet Config Plugin banner
getsentry getsentry

Gocd Jsonnet Config Plugin

Development community

Description

Plugin to declare GoCD pipelines and environments configuration in Jsonnet

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

[![Join the chat at https://gitter.im/gocd/gocd](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/gocd/configrepo-plugins?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

gocd-jsonnet-config-plugin

[GoCD](https://www.gocd.org) plugin to keep **pipelines** and **environments** configuration in source-control in [Jsonnet](https://jsonnet.org/). See [this document](https://docs.gocd.org/current/advanced_usage/pipelines_as_code.html) to find out what are GoCD configuration repositories.

This is the third GoCD configuration plugin, which builds off of the [YAML configuration plugin](https://github.com/tomzo/gocd-yaml-config-plugin)

  • Format is extensible - you can use libraries and functions to build your configuration
  • Format is concise - you can use variables, functions, and imports to keep your configuration DRY
  • Format is powerful - you can use conditionals, comprehensions, and other language features to build your configuration

Table of contents

  1. Setup
  2. File pattern
  3. Overview
  4. Development

Setup

**Step 1**: You need to install the plugin in the GoCD server. Download it from [the releases page](https://github.com/getsentry/gocd-jsonnet-config-plugin/releases) and place it on the GoCD server in `plugins/external` [directory](https://docs.gocd.org/current/extension_points/plugin_user_guide.html).

**Step 2**: Follow [the GoCD documentation](https://docs.gocd.org/current/advanced_usage/pipelines_as_code.html#storing-pipeline-configuration-in-json) to add a new configuration repository.

You can use the example repository at: `https://github.com/getsentry/gocd-jsonnet-config-example.git`.

File pattern

The default pattern is `**/*.jsonnet,**/jsonnetfile.json`, which will recursively search the entire repository for all files ending with `.jsonnet` and files named `jsonnetfile.json`. While `jsonnetfile.json` is not a valid jsonnet file, it