Handle large attachments

Hello!

Hello! I’m trying to build a Confluence Macro using Forge. This macro must process large attachments, more than 100MB, attached to the confluence page. I built an endpoint in an external service to process these attachments. So, in the forge application, I need to download the attachment using the Confluence rest API and send this file to the external endpoint to be processed.

const response = await api.asUser().requestConfluence(route`/wiki/rest/api/content/${pageId}/child/attachment/${attachmentId}/download`);

When I try to download the file, I get a timeout error. I cannot change the 25 seconds of timeout, but I’m looking for an alternative.

My next try was to send the attachment’s URL to the external service, and this service would download the attachment. However, I didn’t find a way to share some credentials from my Forge app with my external application to access the Confluence rest API. Is that a Forge limitation? Is there any way to work around that?

1 Like

Hi @chicofaccin ,

Yes, you’ve hit a limitation of Forge as it stands today, however, there are plans to allow Forge to work seamlessly with “remote” services that would overcome this. The proposed solution is outlined in the Forge Remote RFC.

Regards,
Dugald

2 Likes

Thank you @dmorrow.