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.2Entrypoint
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
| Name | Type | Default Value | Description |
|---|---|---|---|
| reportFile | File ! | - | No description provided |
Example
dagger -m github.com/act3-ai/dagger/sonarqube@e47dfb8c66afe9f38a05ca4a59c511b5683fa5eb call \
analyze-sonar-report --report-file file:pathfunc (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 \
bootstrapfunc (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
| Name | Type | Default Value | Description |
|---|---|---|---|
| src | Directory | - | No description provided |
| impactSeverities | String | "MEDIUM,HIGH" | comma separated list of impact severities to use when generating report |
Example
dagger -m github.com/act3-ai/dagger/sonarqube@e47dfb8c66afe9f38a05ca4a59c511b5683fa5eb call \
scanfunc (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 \
servicefunc (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 \
servicefunc (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-tokenfunc (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-tokenfunc (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()
}