Confluence Cloud "content/entity property" conditions not working with WebPanels

I can’t get any content/entity property condition working with WebPanels. Is there anything special which needs to be considered ?

For example:

"conditions": [
  {
    "condition": "entity_property_exists",
    "params": {
      "entity": "content",
      "propertyKey": "config"
    }
  }
]

I think you need to provide more information. Can you please show:

  • The full WebPanel atlassian connect descriptor JSON (not just the condition).
  • What happens when you run a GET on the ‘config’ content property that you have created on a page where it exists.

Cheers.

1 Like

The weird thing is, that I can use the same condition in contentByLineItems or webItems without any problems.

Here’s the full WebPanel description:

    "webPanels": [
      {
        "url": "/special",
        "location": "atl.general",
        "layout": {
          "width": "10",
          "height": "10"
        },
        "name": {
          "value": "Something very special"
        },
        "key": "very-special-panel",
        "conditions": [
          {
            "condition": "entity_property_exists",
            "params": {
              "entity": "content",
              "propertyKey": "config"
            }
          }
        ]
      }
    ],

I’ve also tried using content_property conditions (for example contains, equal_to), but while they also work on everything else, they don’t seem to work in combination with the WebPanel.

The GET also get the full content of the content property, it really just seems to be very specific to WebPanels.

Is there any progress on this issue?

I suspect that the problem here is that the web panel attached to the atl.general location does not think that it is attached to any piece of content. Therefore the condition is being ignored.

Unfortunately, this is probably expected behaviour as a content condition cannot fire if there is no content for it to match against.

What is this Web Panel supposed to accomplish? Maybe there is another way that we get the functionality that you want by doing something slightly different.