使用 Atlassian Confluence 编辑页面时设置提交消息/更新评论 Python API

Setting a commit message / update comment when editing a page with Atlassian Confluence Python API

我正在使用 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' object has no attribute 'strip'

这实际上可以通过 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)

这应该可以满足您的要求。