diff --git a/README.md b/README.md index 4d5ec33..edd5fbc 100644 --- a/README.md +++ b/README.md @@ -27,13 +27,17 @@ jobs: Uses basic auth for the rest api. -- `cloud`: The ID can be found by looking at your confluence domain: `https://.atlassian.net/...` +- `cloud`: Can be either: + - A subdomain (`acme` for Atlassian hosted instances (e.g. `https://acme.atlassian.net`)) + - A full URL (e.g., `https://mycompany.com` for self-hosted instances) - `user`: The user that generated the access token - `token`: You can generate the token [here](https://id.atlassian.com/manage-profile/security/api-tokens). Link to [Docs](https://confluence.atlassian.com/cloud/api-tokens-938839638.html) -- `to`: The page ID can be found by simply navigating to the page where you want the content to be postet to and looke at the url. It will look something like this: `https://.atlassian.net/wiki/spaces//pages//` +- `to`: The page ID can be found by simply navigating to the page where you want the content to be posted to and look at the url. It will look something like this: + - For Atlassian hosted: `https://<subdomain>.atlassian.net/wiki/spaces/<space>/pages/<page-id>/<title>` + - For self-hosted: `https://<your-url>/wiki/spaces/<space>/pages/<page-id>/<title>` ### Using secrets diff --git a/src/main.py b/src/main.py index 7e85f12..f8415d9 100644 --- a/src/main.py +++ b/src/main.py @@ -25,7 +25,13 @@ for key in ['from', 'to', 'cloud', 'user', 'token']: with open(join(workspace, envs['from'])) as f: md = f.read() -url = f"https://{envs['cloud']}.atlassian.net/wiki/rest/api/content/{envs['to']}" +base_url = envs['cloud'] +if '://' in base_url: # It's a full URL + # Remove trailing slash if present + base_url = base_url.rstrip('/') + url = f"{base_url}/wiki/rest/api/content/{envs['to']}" +else: # It's a subdomain + url = f"https://{base_url}.atlassian.net/wiki/rest/api/content/{envs['to']}" current = requests.get(url, auth=(envs['user'], envs['token'])).json()