From a1b370db595e127fe1a2fd37074d515613b07c1e Mon Sep 17 00:00:00 2001 From: Jason Ouellet Date: Tue, 9 Dec 2025 21:36:15 +0000 Subject: [PATCH 1/4] doc: add plugin doc Signed-off-by: Jason Ouellet --- .../scaffolder-backend-module-azure/README.md | 133 +++++++++++++++++- 1 file changed, 131 insertions(+), 2 deletions(-) diff --git a/plugins/scaffolder-backend-module-azure/README.md b/plugins/scaffolder-backend-module-azure/README.md index 505ef36db1..5d919bf379 100644 --- a/plugins/scaffolder-backend-module-azure/README.md +++ b/plugins/scaffolder-backend-module-azure/README.md @@ -1,5 +1,134 @@ # @backstage/plugin-scaffolder-backend-module-azure -The azure module for [@backstage/plugin-scaffolder-backend](https://www.npmjs.com/package/@backstage/plugin-scaffolder-backend). +The Azure DevOps module for [@backstage/plugin-scaffolder-backend](https://www.npmjs.com/package/@backstage/plugin-scaffolder-backend). + +This module provides scaffolder actions for Azure DevOps integration. + +## Installation + +```bash +# From your Backstage root directory +yarn --cwd packages/backend add @backstage/plugin-scaffolder-backend-module-azure +``` + +Then add it to your backend: + +```ts title="packages/backend/src/index.ts" +import { createBackend } from '@backstage/backend-defaults'; + +const backend = createBackend(); + +// ... other plugins + +backend.add(import('@backstage/plugin-scaffolder-backend')); +backend.add(import('@backstage/plugin-scaffolder-backend-module-azure')); + +backend.start(); +``` + +## Actions + +### `publish:azure` + +Initializes a git repository with the content in the workspace and publishes it to Azure DevOps. + +#### Input Parameters + +| Parameter | Type | Required | Description | +| ------------------ | --------- | -------- | ---------------------------------------------------------------------------------------------------------------- | +| `repoUrl` | `string` | Yes | Repository URL in the format: `dev.azure.com?organization=&project=&repo=` | +| `description` | `string` | No | Repository description | +| `defaultBranch` | `string` | No | Default branch for the repository. Default: `master` | +| `sourcePath` | `string` | No | Path within the workspace to use as repository root. If omitted, the entire workspace will be published | +| `token` | `string` | No | Personal Access Token for Azure DevOps authentication | +| `gitCommitMessage` | `string` | No | Initial commit message. Default: `initial commit` | +| `gitAuthorName` | `string` | No | Author name for the commit. Default: `Scaffolder` | +| `gitAuthorEmail` | `string` | No | Author email for the commit | +| `signCommit` | `boolean` | No | Sign the commit with the configured PGP private key | + +#### Output Parameters + +| Parameter | Type | Description | +| ----------------- | -------- | ---------------------------------------- | +| `remoteUrl` | `string` | URL to the repository | +| `repoContentsUrl` | `string` | URL to the root of the repository (web) | +| `repositoryId` | `string` | ID of the created repository | +| `commitHash` | `string` | Git commit hash of the initial commit | + +#### Examples + +**Basic usage:** + +```yaml +steps: + - id: publish + action: publish:azure + name: Publish to Azure DevOps + input: + repoUrl: 'dev.azure.com?organization=myorg&project=myproject&repo=myrepo' +``` + +**With custom branch and commit message:** + +```yaml +steps: + - id: publish + action: publish:azure + name: Publish to Azure DevOps + input: + repoUrl: 'dev.azure.com?organization=myorg&project=myproject&repo=myrepo' + defaultBranch: main + gitCommitMessage: 'Initial project setup' +``` + +**With author information:** + +```yaml +steps: + - id: publish + action: publish:azure + name: Publish to Azure DevOps + input: + repoUrl: 'dev.azure.com?organization=myorg&project=myproject&repo=myrepo' + gitAuthorName: 'John Doe' + gitAuthorEmail: 'john.doe@example.com' +``` + +**Using a specific source path:** + +```yaml +steps: + - id: publish + action: publish:azure + name: Publish to Azure DevOps + input: + repoUrl: 'dev.azure.com?organization=myorg&project=myproject&repo=myrepo' + sourcePath: 'packages/my-app' +``` + +**With authentication token:** + +```yaml +steps: + - id: publish + action: publish:azure + name: Publish to Azure DevOps + input: + repoUrl: 'dev.azure.com?organization=myorg&project=myproject&repo=myrepo' + token: ${{ secrets.AZURE_TOKEN }} +``` + +## Configuration + +To use this module, you need to configure Azure DevOps integration in your `app-config.yaml`: + +```yaml +integrations: + azure: + - host: dev.azure.com + credentials: + - personalAccessToken: ${AZURE_TOKEN} +``` + +For more information on Azure DevOps integration, see the [Azure DevOps integration documentation](https://backstage.io/docs/integrations/azure/locations). -_This plugin was created through the Backstage CLI_ From 88abcc6af6a21ea5757ffa8ce3c5e6c601274c8a Mon Sep 17 00:00:00 2001 From: Jason Ouellet Date: Wed, 7 Jan 2026 14:26:06 +0000 Subject: [PATCH 2/4] add: changeset Signed-off-by: GitHub --- .changeset/update-azure-scaffolder-docs.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/update-azure-scaffolder-docs.md diff --git a/.changeset/update-azure-scaffolder-docs.md b/.changeset/update-azure-scaffolder-docs.md new file mode 100644 index 0000000000..1dedda3611 --- /dev/null +++ b/.changeset/update-azure-scaffolder-docs.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-backend-module-azure': patch +--- + +Improve Azure scaffolder backend module README with clearer setup and usage guidance. From c4a3feedf554148d7b7cad40e89a090c12a481f6 Mon Sep 17 00:00:00 2001 From: Jason Ouellet Date: Wed, 7 Jan 2026 14:41:36 +0000 Subject: [PATCH 3/4] doc: prettier Signed-off-by: Jason Ouellet --- .../scaffolder-backend-module-azure/README.md | 35 +++++++++---------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/plugins/scaffolder-backend-module-azure/README.md b/plugins/scaffolder-backend-module-azure/README.md index 5d919bf379..dcfb1d63ab 100644 --- a/plugins/scaffolder-backend-module-azure/README.md +++ b/plugins/scaffolder-backend-module-azure/README.md @@ -34,26 +34,26 @@ Initializes a git repository with the content in the workspace and publishes it #### Input Parameters -| Parameter | Type | Required | Description | -| ------------------ | --------- | -------- | ---------------------------------------------------------------------------------------------------------------- | -| `repoUrl` | `string` | Yes | Repository URL in the format: `dev.azure.com?organization=&project=&repo=` | -| `description` | `string` | No | Repository description | -| `defaultBranch` | `string` | No | Default branch for the repository. Default: `master` | -| `sourcePath` | `string` | No | Path within the workspace to use as repository root. If omitted, the entire workspace will be published | -| `token` | `string` | No | Personal Access Token for Azure DevOps authentication | -| `gitCommitMessage` | `string` | No | Initial commit message. Default: `initial commit` | -| `gitAuthorName` | `string` | No | Author name for the commit. Default: `Scaffolder` | -| `gitAuthorEmail` | `string` | No | Author email for the commit | -| `signCommit` | `boolean` | No | Sign the commit with the configured PGP private key | +| Parameter | Type | Required | Description | +| ------------------ | --------- | -------- | ------------------------------------------------------------------------------------------------------- | +| `repoUrl` | `string` | Yes | Repository URL in the format: `dev.azure.com?organization=&project=&repo=` | +| `description` | `string` | No | Repository description | +| `defaultBranch` | `string` | No | Default branch for the repository. Default: `master` | +| `sourcePath` | `string` | No | Path within the workspace to use as repository root. If omitted, the entire workspace will be published | +| `token` | `string` | No | Personal Access Token for Azure DevOps authentication | +| `gitCommitMessage` | `string` | No | Initial commit message. Default: `initial commit` | +| `gitAuthorName` | `string` | No | Author name for the commit. Default: `Scaffolder` | +| `gitAuthorEmail` | `string` | No | Author email for the commit | +| `signCommit` | `boolean` | No | Sign the commit with the configured PGP private key | #### Output Parameters -| Parameter | Type | Description | -| ----------------- | -------- | ---------------------------------------- | -| `remoteUrl` | `string` | URL to the repository | -| `repoContentsUrl` | `string` | URL to the root of the repository (web) | -| `repositoryId` | `string` | ID of the created repository | -| `commitHash` | `string` | Git commit hash of the initial commit | +| Parameter | Type | Description | +| ----------------- | -------- | --------------------------------------- | +| `remoteUrl` | `string` | URL to the repository | +| `repoContentsUrl` | `string` | URL to the root of the repository (web) | +| `repositoryId` | `string` | ID of the created repository | +| `commitHash` | `string` | Git commit hash of the initial commit | #### Examples @@ -131,4 +131,3 @@ integrations: ``` For more information on Azure DevOps integration, see the [Azure DevOps integration documentation](https://backstage.io/docs/integrations/azure/locations). - From ee4308082c54848163db7d859445e138ed08cf24 Mon Sep 17 00:00:00 2001 From: Vincenzo Scamporlino Date: Thu, 15 Jan 2026 21:41:00 +0100 Subject: [PATCH 4/4] Update .changeset/update-azure-scaffolder-docs.md Signed-off-by: Vincenzo Scamporlino --- .changeset/update-azure-scaffolder-docs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/update-azure-scaffolder-docs.md b/.changeset/update-azure-scaffolder-docs.md index 1dedda3611..d3c81f35b3 100644 --- a/.changeset/update-azure-scaffolder-docs.md +++ b/.changeset/update-azure-scaffolder-docs.md @@ -2,4 +2,4 @@ '@backstage/plugin-scaffolder-backend-module-azure': patch --- -Improve Azure scaffolder backend module README with clearer setup and usage guidance. +Improved README with clearer setup and usage guidance.