# Jenkins Plugin (Alpha) Website: [https://jenkins.io/](https://jenkins.io/) Last master build Folder results Build details ## Setup 1. If you have a standalone app (you didn't clone this repo), then do ```bash yarn add @backstage/plugin-jenkins ``` 2. Add plugin: ```js // packages/app/src/plugins.ts export { plugin as Jenkins } from '@backstage/plugin-jenkins'; ``` 3. Add proxy configuration to `app-config.yaml` ```yaml proxy: '/jenkins/api': target: 'http://localhost:8080' # your Jenkins URL changeOrigin: true headers: Authorization: $env: JENKINS_BASIC_AUTH_HEADER ``` 4. Add an environment variable which contains the Jenkins credentials, (note: use an API token not your password) ```shell HEADER=$(echo -n user:api-token | base64) export JENKINS_BASIC_AUTH_HEADER="Basic $HEADER" ``` 5. Run app with `yarn start` 6. Add the Jenkins folder annotation to your `component-info.yaml`, (note: currently this plugin only supports folders and Git SCM) ```yaml apiVersion: backstage.io/v1alpha1 kind: Component metadata: name: 'your-component' description: 'a description' annotations: jenkins.io/github-folder: 'folder-name/job-name' spec: type: service lifecycle: experimental owner: your-name ``` 7. Register your component 8. Click the component in the catalog you should now see Jenkins builds, and a last build result for your master build. ## Features - View all runs inside a folder - Last build status for specified branch - View summary of a build ## Limitations - Only works with projects that use the Git SCM - It requires jobs to be organised into folders - No pagination support currently - don't run this on a Jenkins with lots of builds