使用 Atlassian Confluence Python API 编辑页面时设置提交消息/更新评论
Posted
技术标签:
【中文标题】使用 Atlassian Confluence Python API 编辑页面时设置提交消息/更新评论【英文标题】:Setting a commit message / update comment when editing a page with Atlassian Confluence Python API 【发布时间】:2021-06-21 18:21:26 【问题描述】:我正在使用atlassian-python-api 来更新文档中描述的页面:
from atlassian import Confluence
conf = Confluence(url=srvr, username=usr, password=pswd)
page_id = '12345'
new_page_title = 'This is a new title'
new_page_body = '<p>This is a new body</p>'
conf.update_page(page_id, new_page_title, new_page_body)
这很好用。我现在想添加一条更新评论/提交消息,就像手动编辑页面时可以输入的一样(“你做了什么改变?”)。
update_page()
的 atlassian-python-api 文档没有这个选项。有可能吗?
我尝试更改页面正文以包含此内容
data =
'id': page_id
'title': new_page_title,
'body':
'storage':
'value': new_page_body,
'representation':'storage',
,
'version':
'number': 2
,
'comment': 'Changed the title and the body.'
但我想这不是update_page()
的工作方式,我得到了一个
AttributeError: 'dict' 对象没有属性 'strip'
【问题讨论】:
【参考方案1】:这实际上可以通过update_page()
直接实现,虽然你是对的,但method's documentation 中没有记录。
我在source code 中发现方法update_page()
采用可选参数version_comment
。这是您要设置的评论。
扩展你的例子:
from atlassian import Confluence
conf = Confluence(url=srvr, username=usr, password=pswd)
page_id = '12345'
new_page_title = 'This is a new title'
new_page_body = '<p>This is a new body</p>'
commit_msg = 'Changed the title and the body.'
conf.update_page(page_id, new_page_title, new_page_body, version_comment=commit_msg)
这应该做你想做的。
【讨论】:
以上是关于使用 Atlassian Confluence Python API 编辑页面时设置提交消息/更新评论的主要内容,如果未能解决你的问题,请参考以下文章
Atlassian Confluence 远程代码执行漏洞(CVE-2022-26134)复现