使用Confluence REST API创建一个排序的表

问题描述 投票:0回答:1

我可以使用现有的API在Confluence中创建简单的表。它很棒。这可能要求很多,但它没有做的一件事就是通过wysiwyg编辑器在Confluence中创建的表格。

例如,我从手工制作的Confluence文档中复制表格的HTML,然后使用它们的api创建一个新文档。我把这个HTML粘贴到文档中:

myHtml = '<div class="table-wrap"><table class="confluenceTable tablesorter tablesorter-default stickyTableHeaders" style="padding: 0px;"><thead class="tableFloatingHeaderOriginal"><tr class="tablesorter-headerRow"><th class="confluenceTh sortableHeader tablesorter-headerAsc" data-column="0" tabindex="0" unselectable="on"><div class="tablesorter-header-inner">testcol</div></th><th class="confluenceTh sortableHeader" data-column="1" tabindex="0" unselectable="on"><div class="tablesorter-header-inner">&nbsp;</div></th><th class="confluenceTh sortableHeader" data-column="2" tabindex="0" unselectable="on"><div class="tablesorter-header-inner">&nbsp;</div></th></tr></thead><thead class="tableFloatingHeader" style="display: none;"><tr class="tablesorter-headerRow"><th class="confluenceTh sortableHeader" data-column="0" tabindex="0" unselectable="on"><div class="tablesorter-header-inner">testcol</div></th><th class="confluenceTh sortableHeader" data-column="1" tabindex="0" unselectable="on"><div class="tablesorter-header-inner">&nbsp;</div></th><th class="confluenceTh sortableHeader" data-column="2" tabindex="0" unselectable="on"><div class="tablesorter-header-inner">&nbsp;</div></th></tr></thead><tbody><tr><td class="confluenceTd">q</td><td class="confluenceTd">&nbsp;</td><td class="confluenceTd">&nbsp;</td></tr><tr><td class="confluenceTd">r</td><td class="confluenceTd">&nbsp;</td><td class="confluenceTd">&nbsp;</td></tr></tbody></table></div>'

curl -u username:password -X POST -H 'Content-Type: application/json' -d'{"type":"page","ancestors":[{"type":"page","id":6358857}],"title":"new page 4","space":{"key":"~theuser"},"body":{"storage":{"value":myHtml,"representation":"storage"}}}' https://confluence.macsales.com/rest/api/content/ | python -mjson.tool

一切看起来都很棒,除了桌子不会排序。我注意到从HTML中删除了一些像'data-column =“2”'这样的标签。有没有办法不剥离这些标签?

我看到另一篇文章建议使用Confluence CLI,但这种技术到目前为止工作得很好。能够排序真是太好了。

confluence confluence-rest-api
1个回答
3
投票

我这是一个愚蠢的错误。我正在复制渲染后生成的html而不是html源代码。通过使用Confluence的类,排序工作:

<table class="confluenceTable"><tbody><tr><th class="confluenceTh">test321</th><th class="confluenceTh"> </th></tr><tr><td class="confluenceTd">h</td><td class="confluenceTd"> </td></tr><tr><td class="confluenceTd">k</td><td class="confluenceTd"> </td></tr></tbody></table>
© www.soinside.com 2019 - 2024. All rights reserved.