@janus-idp/backstage-scaffolder-backend-module-sonarqube
TypeScript icon, indicating that this package has built-in type declarations

1.4.7 • Public • Published

SonarQube actions for Backstage

This module provides Backstage template actions for SonarQube.

The following actions are currently supported in this module:

Prerequisites

Installation

Run the following command to install the action package in your Backstage project:

yarn workspace backend add @janus-idp/backstage-scaffolder-backend-module-sonarqube

Installing the action on the legacy backend

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,
  });
}

Installing the action on the new backend

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();

Configuration

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'

Usage

Action: sonarqube:create-project

Input

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 or username and password input combination are required. If the three of them are provided, the token will take precedence

Output

Name Type Description
projectUrl string SonarQube project URL created by this action

Readme

Keywords

none

Package Sidebar

Install

npm i @janus-idp/backstage-scaffolder-backend-module-sonarqube

Weekly Downloads

274

Version

1.4.7

License

Apache-2.0

Unpacked Size

54.3 kB

Total Files

20

Last publish

Collaborators

  • nickboldt
  • tomaskral
  • tumido