Uploaded image for project: 'Compass'
  1. Compass
  2. COMPASS-135

Custom Incoming Webhook Feature Cannot Handle JSON Keys with Dots

      Issue Summary

      Additional Context:

      • This issue is specific to the Custom Incoming Webhook beta feature
        SonarQube webhook payload structure can't be modified to remove dots from key names due to platform constraints
      • This limitation likely affects other third-party tools with similar naming conventions when using the Custom Incoming Webhook feature
      • Core webhook functionality works correctly aside from this JSON path parsing issue
        Feature otherwise performs well for deployment event integration

      Steps to Reproduce

      1. Access Compass Custom Incoming Webhook feature
      2. Configure SonarQube as a custom tool to send webhooks to Compass as deployment events
      3. In webhook configuration, attempt to map componentId using dot notation: .properties.sonar.analysis.componentId
      4. Try bracket notation: .properties["sonar.analysis.componentId"]
      5. Attempt other JQ syntax variations for field mapping
      6. Observe configuration rejection in Compass webhook configuration modal
        Sample Webhook Payload
        {
        "properties": {
        "sonar.analysis.detectedscm": "git",
        "sonar.analysis.detectedci": "Github Actions",
        "sonar.analysis.componentId": "ari:cloud:compass:abcd-efghijklmnop:component/abcd-efghijklmnop/abcd-efghijklmnop"
        }
        }
        

        Impact
        Severity: Medium
        Scope: Affects SonarQube integrations and potentially other tools using dotted key names in the Custom Incoming Webhook beta feature
        Workaround: None available - SonarQube only allows custom properties with "sonar.analysis.*" prefix

      Expected Results

      Custom Incoming Webhook configuration should support:
      Escaped dot notation for JSON keys containing periods
      JQ-style bracket notation (e.g., .properties["sonar.analysis.componentId"])
      Standard JSON path expressions for keys with special characters

      Actual Results

      Custom Incoming Webhook configuration modal rejects all syntax variations for JSON keys containing dots
      Modal appears to block special characters entirely in the componentId field mapping
      Cannot extract componentId from SonarQube webhook payload

      Workaround

      None

            [COMPASS-135] Custom Incoming Webhook Feature Cannot Handle JSON Keys with Dots

            I've tried the alternative integrations however they don't meet the requirements of what I'm trying to do:

            It's disappointing this bug won't be prioritized higher as it's arguably a necessity in a feature that aims to add extensibility to the Compass platform.

            Pete Stanley added a comment - I've tried the alternative integrations however they don't meet the requirements of what I'm trying to do: Compass SonarQube App - Doesn't support self-hosted SonarQube installations. SonarQube branded webhook integration doesn't support deployment events - Only limited metric type events. It's disappointing this bug won't be prioritized higher as it's arguably a necessity in a feature that aims to add extensibility to the Compass platform.

            Hi, it looks like our custom webhooks feature doesn't support the full feature set of `jq`. We're currently working on a change to update the text in that modal to reflect what is supported, which is just the basic dot notation.

            I have placed a ticket on our long term backlog to support more flexibility in our Custom Webhooks App.

            As 1acb9a0761cb noted in the community forum thread, in the meantime there are a couple of alternatives for integrating Compass with SonarQube. There's the Compass SonarQube App that SonarQube maintains, and there's also a SonarQube branded webhook integration that uses Compass incoming webhooks.

            Ryan Hornik added a comment - Hi, it looks like our custom webhooks feature doesn't support the full feature set of `jq`. We're currently working on a change to update the text in that modal to reflect what is supported, which is just the basic dot notation. I have placed a ticket on our long term backlog to support more flexibility in our Custom Webhooks App. As 1acb9a0761cb noted in the community forum thread, in the meantime there are a couple of alternatives for integrating Compass with SonarQube. There's the Compass SonarQube App  that SonarQube maintains, and there's also a  SonarQube branded webhook integration  that uses  Compass incoming webhooks .

              Unassigned Unassigned
              941c832d1c72 Alie Sesay
              Affected customers:
              1 This affects my team
              Watchers:
              5 Start watching this issue

                Created:
                Updated: