atlassian-python-api icon indicating copy to clipboard operation
atlassian-python-api copied to clipboard

atlassian.confluence: Several functions not working as documented

Open yamjoepobuda opened this issue 5 months ago • 0 comments

Environment

$ pip list | grep atlassian
atlassian-python-api                    4.0.7

$ cat /etc/os-release 
PRETTY_NAME="Ubuntu 24.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.3 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian

$ pip --version
pip 25.3 from /home/dev/.venv/lib/python3.12/site-packages/pip (python 3.12)

atlassian.confluence

get group members

Both get_group_members and get_all_members respond with the same error message.

$ cat .venv/lib/python3.12/site-packages/atlassian/confluence/__init__.py | grep '_members'
    def get_group_members(self, group_name="confluence-users", start=0, limit=1000, expand=None):
    def get_all_members(self, group_name="confluence-users", expand=None):

Code

from atlassian import Confluence

atlassian_email = 'OBFUSCATED'
atlassian_token = 'OBFUSCATED'
atlassian_confluence_url = 'OBFUSCATED'
confluence = Confluence(
    url=atlassian_confluence_url,
    username=atlassian_email,
    password=atlassian_token,
    cloud=True,
)

groups = confluence.get_all_groups(start=0, limit=1000)
    for group in groups:
        group_name = group['name']
        try:
            members1 = confluence.get_group_members(group_name=group_name)
        except Exception as e:
            print(f'get_group_members: {e}')
    
        try:
            members2 = confluence.get_all_members(group_name=group_name)
        except Exception as e:
            print(f'get_all_members: {e}')
  

Result

get_group_members: com.atlassian.confluence.api.service.exceptions.pagesmodes.GoneException: This deprecated endpoint has been removed.
get_all_members: com.atlassian.confluence.api.service.exceptions.pagesmodes.GoneException: This deprecated endpoint has been removed.

get license details

Using confluence.get_license_details() results in a 404 error. The other license functions work fine (get_license_user_count, get_license_remaining, get_license_max_users).

$ cat .venv/lib/python3.12/site-packages/atlassian/confluence/__init__.py | grep 'def get_license'
    def get_license_details(self):
    def get_license_user_count(self):
    def get_license_remaining(self):
    def get_license_max_users(self):

Code

from atlassian import Confluence

atlassian_email = 'OBFUSCATED'
atlassian_token = 'OBFUSCATED'
atlassian_confluence_url = 'OBFUSCATED'
confluence = Confluence(
    url=atlassian_confluence_url,
    username=atlassian_email,
    password=atlassian_token,
    cloud=True,
)

license_details = confluence.get_license_details()

Result

Traceback (most recent call last):
  File "/home/dev/atlassian_cloud.py", line 99, in <module>
    lambda_handler(mock_event, mock_context)
  File "/home/dev/atlassian_cloud.py", line 78, in lambda_handler
    license_details = confluence.get_license_details()
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dev/.venv/lib/python3.12/site-packages/atlassian/confluence/__init__.py", line 4075, in get_license_details
    return self.get(url)
           ^^^^^^^^^^^^^
  File "/home/dev/.venv/lib/python3.12/site-packages/atlassian/rest_client.py", line 561, in get
    response = self.request(
               ^^^^^^^^^^^^^
  File "/home/dev/.venv/lib/python3.12/site-packages/atlassian/rest_client.py", line 450, in request
    self.raise_for_status(response)
  File "/home/dev/.venv/lib/python3.12/site-packages/atlassian/confluence/__init__.py", line 4113, in raise_for_status
    response.raise_for_status()
  File "/home/dev/.venv/lib/python3.12/site-packages/requests/models.py", line 1026, in raise_for_status
    raise HTTPError(http_error_msg, response=self)

requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://[me].atlassian.net/wiki/rest/license/1.0/license/details

yamjoepobuda avatar Nov 13 '25 23:11 yamjoepobuda