Skip to content

Commit

Permalink
Merge pull request #9 from elias-AD/support_different_cloud_urls
Browse files Browse the repository at this point in the history
Support different Confluence URL patterns
  • Loading branch information
cupcakearmy authored Dec 17, 2024
2 parents 0d3d395 + e439407 commit e3c11d1
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 3 deletions.
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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://<cloud>.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://<cloud-id>.atlassian.net/wiki/spaces/<space>/pages/<page-id>/<title>`
- `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

Expand Down
8 changes: 7 additions & 1 deletion src/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,13 @@
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()

Expand Down

0 comments on commit e3c11d1

Please sign in to comment.