Skip to content

QualysVM 3.0.9 - fix Defender portal CCF data connector page KQL parse error#14475

Open
v-krishnachi wants to merge 1 commit into
Azure:masterfrom
v-krishnachi:v-krishnachi/qualysvm-3.0.9-graphqueries-fix
Open

QualysVM 3.0.9 - fix Defender portal CCF data connector page KQL parse error#14475
v-krishnachi wants to merge 1 commit into
Azure:masterfrom
v-krishnachi:v-krishnachi/qualysvm-3.0.9-graphqueries-fix

Conversation

@v-krishnachi

@v-krishnachi v-krishnachi commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes a client-side KQL parse error (Query could not be parsed at '{' on line [5,18]) shown in the Defender portal (security.microsoft.com) when opening the Qualys Vulnerability Management (via Codeless Connector Framework) data connector page.

Root cause

When a dataConnectorDefinition (kind: Customizable) is created with apiVersion: 2024-01-01-preview or later, the graphQueriesTableName field in connectorUiConfig is dropped during storage by the internal model. The {{graphQueriesTableName}} placeholders inside graphQueries, sampleQueries, and dataTypes are therefore never substituted and reach the portal as literal text — which the KQL engine then fails to parse.

Definitions written before the API change still resolve correctly because they were stored under an older internal model that retained the field. This is a known issue confirmed by the unified connectors team.

Fix proposed by Unified Connectors Team

Removed the graphQueriesTableName property entirely and inlined the literal table name QualysHostDetectionV3_CL everywhere {{graphQueriesTableName}} was used.

Files changed

| Solutions/QualysVM/Data Connectors/QualysVMHostLogs_ccp/QualysVMHostLogs_ConnectorDefinition.json
| Solutions/QualysVM/Package/mainTemplate.json
| Solutions/QualysVM/Package/3.0.9.zip
| Solutions/QualysVM/data/Solution_QualysVM.json
| Solutions/QualysVM/SolutionMetadata.json | Solutions/QualysVM/ReleaseNotes.md`

Local validation

Screenshot 2026-06-12 160033

Customer follow-up steps (already shared with the connectors team)

  1. Reinstall the QualysVM solution from Content Hub once 3.0.9 is published — re-installation rewrites the dataConnectorDefinitions resource so the corrected definition is stored.
  2. If a connector instance was already configured, delete and re-create it so the new definition is used.

@v-krishnachi v-krishnachi requested review from a team as code owners June 13, 2026 00:10
@v-krishnachi v-krishnachi force-pushed the v-krishnachi/qualysvm-3.0.9-graphqueries-fix branch from 82b8ae5 to ba01c94 Compare June 13, 2026 00:47
…ide KQL parse error

Root cause: When a dataConnectorDefinition (kind: Customizable) is created using API version 2024-01-01-preview or later, the graphQueriesTableName field in connectorUiConfig is dropped during storage by the internal model. This causes {{graphQueriesTableName}} to appear as literal text in the portal instead of the resolved table name, resulting in a 'Query could not be parsed' KQL error when the connector page is opened from security.microsoft.com.

Fix (Option A per the unified connectors team): Remove graphQueriesTableName property and inline the literal table name 'QualysHostDetectionV3_CL' directly into baseQuery, sampleQueries[].query, dataTypes[].name, and dataTypes[].lastDataReceivedQuery.

Customers must reinstall the solution from Content Hub for the corrected definition model to be re-applied; existing connector instances should be deleted and recreated.

Validated via .script/local-validation/build-and-validate.ps1: 13/13 applicable validators passed (TS x10, KQL, ARM-TTK 48 tests, Field Types, Classic App Insights, Hyperlink). 5 skipped due to local runtime gaps (.NET 3.1, trufflehog) - will run in CI.
@v-krishnachi v-krishnachi force-pushed the v-krishnachi/qualysvm-3.0.9-graphqueries-fix branch from ba01c94 to 7b1f2a6 Compare June 13, 2026 00:53
@v-maheshbh v-maheshbh added the Solution Solution specialty review needed label Jun 15, 2026
@v-maheshbh v-maheshbh requested a review from Copilot June 15, 2026 04:57

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Fixes a Defender portal client-side KQL parse error on the QualysVM CCF data connector page by removing graphQueriesTableName placeholder substitution and hardcoding the actual table name, with a corresponding solution version bump.

Changes:

  • Inlined QualysHostDetectionV3_CL everywhere {{graphQueriesTableName}} was previously used in the connector UI config.
  • Bumped solution/package versions from 3.0.8 to 3.0.9 and updated publish date metadata.
  • Added a 3.0.9 release notes entry describing the connector definition fix.

Reviewed changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
Solutions/QualysVM/Data Connectors/QualysVMHostLogs_ccp/QualysVMHostLogs_ConnectorDefinition.json Removes graphQueriesTableName and hardcodes QualysHostDetectionV3_CL to avoid unresolved placeholders reaching the portal.
Solutions/QualysVM/Package/mainTemplate.json Updates packaged template content/version and mirrors the connector-definition table name inlining.
Solutions/QualysVM/data/Solution_QualysVM.json Bumps the solution version to 3.0.9.
Solutions/QualysVM/SolutionMetadata.json Updates lastPublishDate to reflect the new release.
Solutions/QualysVM/ReleaseNotes.md Adds a 3.0.9 entry documenting the change.

Comment thread Solutions/QualysVM/SolutionMetadata.json
Comment thread Solutions/QualysVM/ReleaseNotes.md
@v-shukore

Copy link
Copy Markdown
Contributor

Hi @v-krishnachi, please resolve branch conflicts to proceed. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Solution Solution specialty review needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants