diff --git a/atlassian/confluence.py b/atlassian/confluence.py index 1e86c241d..dda7a49d1 100644 --- a/atlassian/confluence.py +++ b/atlassian/confluence.py @@ -59,21 +59,26 @@ def is_page_content_is_already_updated(self, page_id, body): log.info('Content of {page_id} differs'.format(page_id=page_id)) return False - def update_page(self, parent_id, page_id, title, body, type='page'): + def update_page(self, parent_id=None, page_id, title, body, type='page'): log.info('Updating {type} "{title}"'.format(title=title, type=type)) if self.is_page_content_is_already_updated(page_id, body): return self.get_page_by_id(page_id) else: version = self.history(page_id)['lastUpdated']['number'] + 1 - return self.put('/rest/api/content/{0}'.format(page_id), data={ + + data = { 'id': page_id, 'type': type, - 'ancestors': [{'type': 'page', 'id': parent_id}], 'title': title, 'body': {'storage': { 'value': body, 'representation': 'storage'}}, - 'version': {'number': version}}) + 'version': {'number': version}} + } + + if parent_id is not None: + data['ancestors']: [{'type': 'page', 'id': parent_id}] + return self.put('/rest/api/content/{0}'.format(page_id), data=data) def update_or_create(self, parent_id, title, body): space = self.get_page_space(parent_id)