--- title: database add-diagnostic intro: '[Experimental] Add a piece of diagnostic information to a database.' versions: fpt: '*' ghae: '*' ghec: '*' ghes: '*' topics: - Advanced Security - Code scanning - CodeQL type: reference product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli redirect_from: - /code-security/codeql-cli/manual/database-add-diagnostic --- {% data reusables.codeql-cli.man-pages-version-note %} ## Synopsis ```shell copy codeql database add-diagnostic --source-id= --source-name= ... -- ``` ## Description \[Experimental] Add a piece of diagnostic information to a database. Available since `v2.12.6`. ## Primary options #### `` \[Mandatory] Path to the CodeQL database to bundle. #### `--markdown-message=` Message for the diagnostic, in GitHub-flavored Markdown format. #### `--plaintext-message=` Message for the diagnostic, in plain text. This option should only be used when populating a Markdown message with --markdown-message is not practical. #### `--severity=` Severity of the diagnostic. Can be "error", "warning", or "note". #### `--help-link=` Help links relevant to the diagnostic. #### `--attributes-json=` Structured metadata relevant to the diagnostic. ### Options that indicate where the diagnostic message can be displayed #### `--ready-for-status-page` Indicate that the diagnostic is suitable for display on the status page. #### `--ready-for-cli-summary-table` Indicate that the diagnostic is suitable for display in the diagnostics summary table printed by commands like `database analyze`. ### Options describing the source of the diagnostic #### `--source-id=` \[Mandatory] An identifier for the source of this diagnostic. #### `--source-name=` \[Mandatory] A human-readable description of the source of this diagnostic. #### `--extractor-name=` The name of the CodeQL extractor, if this diagnostic was produced by a CodeQL extractor. ### Options describing the diagnostic's location #### `--file-path=` The path of the file to which the diagnostic applies, relative to the source root. #### `--start-line=` The 1-based line number (inclusive) where the diagnostic's location starts. #### `--start-column=` The 1-based column number (inclusive) where the diagnostic's location starts. #### `--end-line=` The 1-based line number (inclusive) where the diagnostic's location ends. #### `--end-column=` The 1-based column number (inclusive) where the diagnostic's location ends. ### Common options #### `-h, --help` Show this help text. #### `-J=` \[Advanced] Give option to the JVM running the command. (Beware that options containing spaces will not be handled correctly.) #### `-v, --verbose` Incrementally increase the number of progress messages printed. #### `-q, --quiet` Incrementally decrease the number of progress messages printed. #### `--verbosity=` \[Advanced] Explicitly set the verbosity level to one of errors, warnings, progress, progress+, progress++, progress+++. Overrides `-v` and `-q`. #### `--logdir=` \[Advanced] Write detailed logs to one or more files in the given directory, with generated names that include timestamps and the name of the running subcommand. (To write a log file with a name you have full control over, instead give `--log-to-stderr` and redirect stderr as desired.)