使用 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)复现

Atlassian Confluence漏洞复现合集

原创大叔经验分享(76)confluence配置

Confluence搭建

有没有和 Atlassian Confluence 类似的个人/小团队知识分享系统

confluence+jira