mirror of
https://github.com/cupcakearmy/confluence-markdown-sync.git
synced 2024-12-22 07:56:25 +00:00
modified cloud
to support both subdomains (*.atlassian.net) or actual domains (e.g. ame.jira.com)
instead of introducing a potential breaking change, this will support both cases
This commit is contained in:
parent
090b5472c5
commit
a59824adbb
@ -27,13 +27,17 @@ jobs:
|
|||||||
|
|
||||||
Uses basic auth for the rest api.
|
Uses basic auth for the rest api.
|
||||||
|
|
||||||
- `cloudUrl`: The URL (without https://) of your confluence instance. E.g: `acme.atlassian.net/...` or `acme.jira.com`
|
- `cloud`: Can be either:
|
||||||
|
- A subdomain (e.g., `acme` for Atlassian hosted instances)
|
||||||
|
- A full URL (e.g., `https://mycompany.com` for self-hosted instances)
|
||||||
|
|
||||||
- `user`: The user that generated the access token
|
- `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)
|
- `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://<cloudUrl>/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
|
### Using secrets
|
||||||
|
|
||||||
|
10
src/main.py
10
src/main.py
@ -15,7 +15,7 @@ if not workspace:
|
|||||||
exit(1)
|
exit(1)
|
||||||
|
|
||||||
envs: Dict[str, str] = {}
|
envs: Dict[str, str] = {}
|
||||||
for key in ['from', 'to', 'cloudUrl', 'user', 'token']:
|
for key in ['from', 'to', 'cloud', 'user', 'token']:
|
||||||
value = environ.get(f'INPUT_{key.upper()}')
|
value = environ.get(f'INPUT_{key.upper()}')
|
||||||
if not value:
|
if not value:
|
||||||
print(f'Missing value for {key}')
|
print(f'Missing value for {key}')
|
||||||
@ -25,7 +25,13 @@ for key in ['from', 'to', 'cloudUrl', 'user', 'token']:
|
|||||||
with open(join(workspace, envs['from'])) as f:
|
with open(join(workspace, envs['from'])) as f:
|
||||||
md = f.read()
|
md = f.read()
|
||||||
|
|
||||||
url = f"https://{envs['cloudUrl']}/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()
|
current = requests.get(url, auth=(envs['user'], envs['token'])).json()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user