Upcoming changes to modernize search REST APIs

I have done a but more research this morning and found that the primary difference I can identify is that the value of results[].content.title have changed on the EAP release to include the @@@(end)?hl@@@ values when they do not in production.

Looking at the Confluence Server REST API docs I see that there is an excerpt query param that accepts a value of none but defaults to a value of highlight. This query param is not documented in the Confluence Cloud REST API docs. Adding excerpt=none to the search query URL in Cloud does seem to revert the API to its current production behavior of not including these highlight annotations in the search result content titles.

In production, the excerpt=none flag also works to suppress the annotations in results[].title field, and the default appears to be excerpt=highlight. So the behavioral change that appears to be happening now in the new search API in the EAP is that the results[].content.title now respond to excerpt=* values, when previously they did not.

While easy to work around now that I reverse engineered the secret sauce, this looks to me like a backward-incompatible behavioral change on the EAP, and should be reverted before shipping to avoid breaking unsuspecting apps and API consumers.

Please Atlassian, respond before the July 24th rollout date so we can properly set our expectations as to whether or not you plan to fix this. In any case, please document the existence, effect and behavior of the secret excerpt query param in the search API docs.

I’m not exactly sure why the AtlassianLabs Tree Search app is broken with the EAP search API, but am not going to dig into that any further myself.

10 Likes