This module provides Backstage template actions for SonarQube.
The following actions are currently supported in this module:
- Create a SonarQube project
Run the following command to install the action package in your Backstage project:
yarn workspace backend add @janus-idp/backstage-scaffolder-backend-module-sonarqube
Register the SonarQube actions by modifying the packages/backend/src/plugins/scaffolder.ts
file from your project with the following changes:
/* highlight-add-next-line */
import { createSonarQubeProjectAction } from '@janus-idp/backstage-scaffolder-backend-module-sonarqube';
export default async function createPlugin(
env: PluginEnvironment,
): Promise<Router> {
// ...
/* highlight-add-next-line */
const actions = [...builtInActions, createSonarQubeProjectAction()];
return await createRouter({
actions,
logger: env.logger,
config: env.config,
database: env.database,
reader: env.reader,
catalogClient,
identity: env.identity,
});
}
Add the following to your packages/backend/src/index.ts
file:
const backend = createBackend();
// Add the following line
backend.add(
import('@janus-idp/backstage-scaffolder-backend-module-sonarqube/alpha'),
);
backend.start();
Add the SonarQube actions to your templates, see the examples directory of this repository for complete usage examples
action: sonarqube:create-project
id: 'create-sonar-project'
name: 'Create SonarQube Project'
input:
baseUrl: 'https://sonarqube.com'
token: '4518a13e-093f-4b66-afac-46a1aece3149'
name: 'My SonarQube Project'
key: 'my-sonarqube-project'
branch: 'main'
visibility: 'public'
Parameter Name | Type | Required | Description | Example |
---|---|---|---|---|
baseUrl | string | Yes | SonarQube Instance base URL | http://sonar.acme.org |
name | string | Yes | Name of the project to be created in SonarQube | My Project |
key | string | Yes | Key of the project to be created in SonarQube | my-project |
branch | string | No | Key of the main branch of the project. If not provided, the default main branch key will be used. | main |
visibility | string | No | Whether the created project should be visible to everyone, or only specific user/groups. | private or public |
token | string | No | SonarQube authentication token | |
username | string | No | SonarQube username | |
password | string | No | SonarQube password |
Warning
Either the
token
orusername
andpassword
input combination are required. If the three of them are provided, thetoken
will take precedence
Name | Type | Description |
---|---|---|
projectUrl | string | SonarQube project URL created by this action |