kovetskiy / mark

Sync your markdown files with Confluence pages.
https://samizdat.dev
Apache License 2.0
1.03k stars 155 forks source link

Using same image multiple times results in an upload error #433

Open elvinasp opened 8 months ago

elvinasp commented 8 months ago

What happened?

Trying to create a a page with multiple repeated images results in an image upload error due to same attachment is being attempted to upload multiple times.

Initially I was trying to reuse already existing image attachments for the other page, that resulted in the same error. So I have tried to rename files for this particular page essentially duplicating images with different names between pages. However it seems not possible to even reuse image within same page.

What did you expect to happen?

Page generated with multiple links to the same image file. Same image file is not uploaded multiple times, i.e. either upload list is made unique either image file existence is checked, either image is overwritten using JIRA image ID.

How can we reproduce the behavior you experienced?

Steps to reproduce the behavior:

  1. Add a image to a image folder.
  2. Create a markdown with multiple links to the same image path.
  3. Try to upload image.

In case this is related to specific markdown, please provide a minimal markdown example here.

...
3. Open a session by right-clicking on a Windows Server, usually a -JUMP or -BKP machine. Choose **Open Session**<br/>
![Open Session](./images/shutdown-opening-session.png)
Some other instructions.
3. Open a session by right-clicking on a Windows Server, usually a -JUMP or -BKP machine. Choose **Open Session**<br/>
![Open Session](./images/shutdown-opening-session.png)
...
      # Iterate over list of new/updated '.md' files and upload to confluence
      for file in $(git diff-tree --diff-filter=AM --no-commit-id --name-only -r HEAD | grep '\.md$'); do
        # Update README markdown file
        docker run --rm --name confluence-docs-update \
          -v ${bamboo.hostvolume}:/code \
          -v ${bamboo.hostvolume}/vi_certs:/usr/local/share/ca-certificates \
          -w /code \
          kovetskiy/mark:9.4.0 \
          /bin/bash -c "update-ca-certificates; mark -u ${bamboo.confluence_username} -p ${bamboo.confluence_password} -b ${bamboo.confluence_url} --title-from-h1 --trace --space CONPL -f $file || exit 1;"
      done

Further Information (please complete the following information)

Logs or other output

error   27-Mar-2024 08:04:24    2024-03-27 07:04:22.806 TRACE rest: HTTP/1.1 400 
error   27-Mar-2024 08:04:24                                  Cache-Control: no-store
error   27-Mar-2024 08:04:24                                  Content-Type: application/json
error   27-Mar-2024 08:04:24                                  Date: Wed, 27 Mar 2024 07:04:21 GMT
error   27-Mar-2024 08:04:24                                  Expires: Thu, 01 Jan 1970 00:00:00 GMT
error   27-Mar-2024 08:04:24                                  Strict-Transport-Security: max-age=31536000
error   27-Mar-2024 08:04:24                                  Vary: User-Agent
error   27-Mar-2024 08:04:24                                  X-Ausername: srv.conpldocs
error   27-Mar-2024 08:04:24                                  X-Content-Type-Options: nosniff
error   27-Mar-2024 08:04:24                                  X-Seraph-Loginreason: OK
error   27-Mar-2024 08:04:24                                  
error   27-Mar-2024 08:04:24                                  {"statusCode":400,"data":{"authorized":false,"valid":true,"allowedInReadOnlyMode":true,"errors":[],"successful":false},"message":"Cannot add a new attachment with same file name as an existing attachment: ._images_shutdown-opening-session.png","reason":"Bad Request"}
error   27-Mar-2024 08:04:24    2024-03-27 07:04:22.806 FATAL unable to create/update attachments
error   27-Mar-2024 08:04:24                                  ?????? unable to create attachment "./images/shutdown-opening-session.png"
error   27-Mar-2024 08:04:24                                     ?????? Confluence API returned unexpected status: 400 , output: "{\"statusCode\":400,\"data\":{\"authorized\":false,\"valid\":true,\"allowedInReadOnlyMode\":true,\"errors\":[],\"successful\":false},\"message\":\"Cannot add a new attachment with same file name as an existing attachment: ._images_shutdown-opening-session.png\",\"reason\":\"Bad Request\"}"
simple  27-Mar-2024 08:04:24    Failing task since return code of [/home/bamboo/bamboo-agent-home/temp/CONPL-BOOTSTRAPOVA203-JOB3-6-ScriptBuildTask-3539286694307196874.sh] was 1 while expected 0
simple  27-Mar-2024 08:04:24    Finished task 'Script' with result: Failed
-- | --
27-Mar-2024 08:04:24 | 2024-03-27 07:04:22.806 FATAL unable to create/update attachments

Additional context

.

AX-LLaidley commented 8 months ago

I am also experiencing this issue.

djpbessems commented 8 months ago

Worth noting, that if you try to process the same page unaltered on a subsequent run, the page is rendered without further errors.

AX-LLaidley commented 8 months ago

@djpbessems I tried doing that multiple times, to no avail. I think this may also be related to the issue I submitted #432 I'm awaiting resolution on this, as all of the docs that we've synced to our Confluence draft space have had the images borked, which is making updates way harder than they need to be.

koseduhemak commented 4 weeks ago

same problem here.