Confluence REST API更新问题:名为sync rev的属性不是字符串

Confluence REST API更新问题:名为sync rev的属性不是字符串,rest,confluence,confluence-rest-api,Rest,Confluence,Confluence Rest Api,我正在编写一个脚本,通过REST API更新汇流页面,使用: curl -u user:password -X PUT -H 'Content-Type: application/json' -d'{"id":173390846,"type":"page","title":"test4","body":{"storage":{"value":"hello world","representation":"storage"}},"version":{"number":10}}' http://co

我正在编写一个脚本,通过REST API更新汇流页面,使用:

curl -u user:password -X PUT -H 'Content-Type: application/json' -d'{"id":173390846,"type":"page","title":"test4","body":{"storage":{"value":"hello world","representation":"storage"}},"version":{"number":10}}' http://confluence.private.com/rest/api/content/173390846
但有时我会出现以下错误

{"statusCode":500,"message":"java.lang.IllegalArgumentException: Property with name sync-rev is not a String"}
如果我手动编辑并保存了页面,则可能会发生这种情况,或者在没有手动编辑页面的情况下也可能发生这种情况。
有时,如果我再次运行更新,它会工作,有时它会持续出现,并给出相同的错误

im编写的脚本比hello world示例更大,但是如果我创建了一个新的空白页面,通过REST API更新它,手动编辑它,然后尝试再次更新它(版本增加),我会遇到上述错误

除此之外,我没有发现任何关于财产的提及,但它并没有帮助我解决我的问题

我们的汇流版本是5.9.6


为什么我会遇到这个错误,我可以做些什么/改变以使它消失?

我也遇到了同样的问题,并向阿特拉斯社区寻求帮助。你可以随时听我的问题

此外,我还联系了支持人员,因为在我看来,这个问题是一个错误。我将向您提供最新的支持回复

编辑:这是Atlassian的建议:

  • 备份数据库,因为这需要手动删除数据库
  • 运行以下SQL查询:
    //确定需要删除多少条目
    从propertyname='sync-rev'中的CONTENTPROPERTIES中选择count(distinct propertyid)

    //删除所有条目 从propertyname='sync-rev'所在的CONTENTPROPERTIES中删除
  • 重新启动汇流实例
  • 验证问题是否仍然存在

  • 请注意,我还没有验证他们的解决方案。

    因为这些属性往往是在新页面上创建的,所以我假设在您完成清理后会重新创建它们。因此,我不认为这是一个解决方案。听起来更像是一种解决办法。有关修复的任何消息?该问题似乎已通过版本5.9.14得到解决: