Dagger
Search

sonarqube

This module will start a sonar server as a service,
run a scan with sonar-scanner CLI with a given source directory,
and return a json report of any issues found.

Installation

dagger install github.com/act3-ai/dagger/sonarqube@v0.0.2

Entrypoint

Return Type
Sonarqube
Example
dagger -m github.com/act3-ai/dagger/sonarqube@e47dfb8c66afe9f38a05ca4a59c511b5683fa5eb call \
func (m *MyModule) Example() *dagger.Sonarqube  {
	return dag.
			Sonarqube()
}
@function
def example() -> dagger.Sonarqube:
	return (
		dag.sonarqube()
	)
@func()
example(): Sonarqube {
	return dag
		.sonarqube()
}

Types

Sonarqube 🔗

analyzeSonarReport() 🔗

Parses sonarqube JSON report into human readable format. Will return an error if issues are found HIGH or above.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
reportFileFile !-No description provided
Example
dagger -m github.com/act3-ai/dagger/sonarqube@e47dfb8c66afe9f38a05ca4a59c511b5683fa5eb call \
 analyze-sonar-report --report-file file:path
func (m *MyModule) Example(ctx context.Context, reportFile *dagger.File) string  {
	return dag.
			Sonarqube().
			Analyzesonarreport(ctx, reportFile)
}
@function
async def example(reportfile: dagger.File) -> str:
	return await (
		dag.sonarqube()
		.analyzesonarreport(reportfile)
	)
@func()
async example(reportFile: File): Promise<string> {
	return dag
		.sonarqube()
		.analyzeSonarReport(reportFile)
}

bootstrap() 🔗

starts sonar as a service and bootstraps it with an admin password, project, and sonar token for scanning

Return Type
SonarServer !
Example
dagger -m github.com/act3-ai/dagger/sonarqube@e47dfb8c66afe9f38a05ca4a59c511b5683fa5eb call \
 bootstrap
func (m *MyModule) Example() *dagger.SonarqubeSonarServer  {
	return dag.
			Sonarqube().
			Bootstrap()
}
@function
def example() -> dagger.SonarqubeSonarServer:
	return (
		dag.sonarqube()
		.bootstrap()
	)
@func()
example(): SonarqubeSonarServer {
	return dag
		.sonarqube()
		.bootstrap()
}

scan() 🔗

scan a source directory with sonar-scanner and get a report from sonar-server

Return Type
String !
Arguments
NameTypeDefault ValueDescription
srcDirectory -No description provided
impactSeveritiesString "MEDIUM,HIGH"

comma separated list of impact severities to use when generating report

Example
dagger -m github.com/act3-ai/dagger/sonarqube@e47dfb8c66afe9f38a05ca4a59c511b5683fa5eb call \
 scan
func (m *MyModule) Example(ctx context.Context) string  {
	return dag.
			Sonarqube().
			Scan(ctx)
}
@function
async def example() -> str:
	return await (
		dag.sonarqube()
		.scan()
	)
@func()
async example(): Promise<string> {
	return dag
		.sonarqube()
		.scan()
}

service() 🔗

start up sonar-server as a service

Return Type
Service !
Example
dagger -m github.com/act3-ai/dagger/sonarqube@e47dfb8c66afe9f38a05ca4a59c511b5683fa5eb call \
 service
func (m *MyModule) Example() *dagger.Service  {
	return dag.
			Sonarqube().
			Service()
}
@function
def example() -> dagger.Service:
	return (
		dag.sonarqube()
		.service()
	)
@func()
example(): Service {
	return dag
		.sonarqube()
		.service()
}

SonarServer 🔗

service() 🔗

The live running service

Return Type
Service !
Example
dagger -m github.com/act3-ai/dagger/sonarqube@e47dfb8c66afe9f38a05ca4a59c511b5683fa5eb call \
 bootstrap \
 service
func (m *MyModule) Example() *dagger.Service  {
	return dag.
			Sonarqube().
			Bootstrap().
			Service()
}
@function
def example() -> dagger.Service:
	return (
		dag.sonarqube()
		.bootstrap()
		.service()
	)
@func()
example(): Service {
	return dag
		.sonarqube()
		.bootstrap()
		.service()
}

sonarToken() 🔗

The generated user token used for running scans

Return Type
Secret !
Example
dagger -m github.com/act3-ai/dagger/sonarqube@e47dfb8c66afe9f38a05ca4a59c511b5683fa5eb call \
 bootstrap \
 sonar-token
func (m *MyModule) Example() *dagger.Secret  {
	return dag.
			Sonarqube().
			Bootstrap().
			Sonartoken()
}
@function
def example() -> dagger.Secret:
	return (
		dag.sonarqube()
		.bootstrap()
		.sonartoken()
	)
@func()
example(): Secret {
	return dag
		.sonarqube()
		.bootstrap()
		.sonarToken()
}

adminToken() 🔗

The plaintext admin password (for logging into the UI)

Return Type
Secret !
Example
dagger -m github.com/act3-ai/dagger/sonarqube@e47dfb8c66afe9f38a05ca4a59c511b5683fa5eb call \
 bootstrap \
 admin-token
func (m *MyModule) Example() *dagger.Secret  {
	return dag.
			Sonarqube().
			Bootstrap().
			Admintoken()
}
@function
def example() -> dagger.Secret:
	return (
		dag.sonarqube()
		.bootstrap()
		.admintoken()
	)
@func()
example(): Secret {
	return dag
		.sonarqube()
		.bootstrap()
		.adminToken()
}