Simple plugin that proxies requests to the Azure DevOps API.
The following sections will help you get the Azure DevOps Backend plugin setup and running.
The Azure DevOps plugin requires the following YAML to be added to your app-config.yaml:
azureDevOps:
host: dev.azure.com
token: ${AZURE_TOKEN}
organization: my-companyConfiguration Details:
hostandtokencan be the same as the ones used for theintegrationsectionAZURE_TOKENenvironment variable must be set to a Personal Access Token with read access to both Code and Buildorganizationis your Azure DevOps Services (cloud) Organization name or for Azure DevOps Server (on-premise) this will be your Collection name
Here's how to get the backend up and running:
-
First we need to add the
@backstage/plugin-azure-devops-backendpackage to your backend:# From your Backstage root directory yarn add --cwd packages/backend @backstage/plugin-azure-devops-backend -
Then we will create a new file named
packages/backend/src/plugins/azure-devops.ts, and add the following to it:import { createRouter } from '@backstage/plugin-azure-devops-backend'; import { Router } from 'express'; import type { PluginEnvironment } from '../types'; export default function createPlugin( env: PluginEnvironment, ): Promise<Router> { return createRouter({ logger: env.logger, config: env.config, reader: env.reader, }); }
-
Next we wire this into the overall backend router, edit
packages/backend/src/index.ts:import azureDevOps from './plugins/azure-devops'; // ... async function main() { // ... // Add this line under the other lines that follow the useHotMemoize pattern const azureDevOpsEnv = useHotMemoize(module, () => createEnv('azure-devops')); // ... // Insert this line under the other lines that add their routers to apiRouter in the same way apiRouter.use('/azure-devops', await azureDevOps(azureDevOpsEnv));
-
Now run
yarn start-backendfrom the repo root -
Finally open
http://localhost:7007/api/azure-devops/healthin a browser and it should return{"status":"ok"}