Embed the Portal in a Forge App
This guide explains how to properly configure and embed Released.so widgets in Atlassian Forge applications.
Overview
Released.so is a changelog and release notes platform that provides embeddable widgets to display product updates. This documentation covers the complete setup process for integrating Released.so embeds in Forge apps while handling Content Security Policy (CSP) requirements.
Prerequisites
A Forge app with UI components
A Released.so account with an embed widget configured
Access to your Released.so embed script URL
Configuration Steps
Manifest Configuration
The Released.so embed requires multiple types of external resources:
scripts
*.released.so
Main embed script and dynamically loaded modules
styles
*.released.so
CSS files including fonts (Inter font family)
fonts
*.released.so
Web font files
images
*.released.so
Post images and other visual assets
fetch.client
*.released.so
API calls for loading content
Add the necessary external permissions to your manifest.yml file to allow Released.so resources:
Frontend Implementation
React/TypeScript Example
HTML Example
Troubleshooting
Common CSP Violations
If you encounter Content Security Policy violations, verify these configurations:
Script Loading Issues
Solution: Ensure scripts: - address: "*.released.so" is in external permissions.
Style Loading Issues
Solution: Add styles: - address: "*.released.so" to external permissions.
Image Loading Issues
Solution: Add images: - address: "*.released.so" to external permissions.
Debugging Steps
Check Browser DevTools
Look for CSP violation errors in the console
Verify Manifest
Ensure all required external permissions are present
Test Deploy
Run forge deploy after manifest changes
Clear Cache
Browser cache might retain old CSP policies
Best Practices
Security Considerations
Use Specific Domains: We use
*.released.soto allow subdomains but limit to Released.so onlyAvoid Wildcards: Don't use
*for all domains - be specific to Released.so
Performance Optimization
Lazy Loading: Load the embed script only when needed
Async Loading: Always use
asyncattribute on script tags
Last updated
Was this helpful?