Files
backstage/plugins/gocd
Julio Zynger 6fc1d9bbaf Update README and app-config
Signed-off-by: Julio Zynger <julio.zynger@soundcloud.com>
2022-01-03 15:40:54 +01:00
..
2022-01-03 15:40:54 +01:00

GoCD

Welcome to the GoCD plugin!

  • View recent GoCD Builds

Installation

GoCD Plugin exposes an entity tab component named EntityGoCdContent. You can include it in the EntityPage.tsx`:

// At the top imports
import { EntityGoCdContent } from '@backstage/plugin-gocd';

// Farther down at the component declaration
const componentEntityPage = (
  <EntityLayout>
    {/* Place the following section where you want the tab to appear */}
    <EntityLayout.Route path="/go-cd" title="GoCD">
      <EntityGoCdContent />
    </EntityLayout.Route>

Now your plugin should be visible as a tab at the top of the entity pages, specifically for components that are of the type component. However, it warns of a missing gocd.org/pipelines annotation.

Add the annotation to your component catalog-info.yaml. You can refer to multiple GoCD pipelines by defining their names separated by commas, as shown in the highlighted example below:

metadata:
  annotations:
    gocd.org/pipelines: '<NAME OF THE PIPELINE 1>[,<NAME OF PIPELINE 2>]'

The plugin requires to configure a GoCD API proxy with a GOCD_AUTH_TOKEN for authentication in the app-config.yaml:

proxy:
  '/gocd':
    target: '<go cd server host>/go/api'
    allowedMethods: ['GET']
    allowedHeaders: ['Authorization', 'Accept']
    headers:
      Authorization: Basic ${GOCD_AUTH_TOKEN}
      Accept: application/vnd.go.cd+json

You should also include the gocd section to allow for the plugin to redirect back to GoCD pipelines in your deployed instance:

gocd:
  baseUrl: <go cd server host>