Hello Community,
I’m currently developing an Atlassian Forge app and I have a requirement to dynamically send URL to manifest.yml file. I understand that the manifest.yml file is static and cannot be modified at runtime.
Here’s a snippet of my manifest.yml
file:
modules:
jira:issuePanel:
- key: ....
resource: ...
resolver:
function: resolver
viewportSize: small
title: ABCD
icon: https://developer.atlassian.com/platform/forge/images/issue-panel-icon.svg
displayConditions:
issueType: Story
function:
- key: resolver
handler: index.handler
providers:
auth:
- microsoft
providers:
auth:
- key: microsoft
name: microsoft
scopes:
- User.Read
- offline_access
type: oauth2
clientId: CLIENT_ID
remotes:
- microsoft-graph
- custom-backend
bearerMethod: authorization-header
actions:
authorization:
remote: microsoft-login
path: /TENENT_ID/oauth2/v2.0/authorize
exchange:
remote: microsoft-login
path: /TENENT_ID/oauth2/v2.0/token
retrieveProfile:
remote: microsoft-graph
path: /v1.0/me
resolvers:
id: id
displayName: displayName
remotes:
- key: microsoft-login
baseUrl: https://login.microsoftonline.com
- key: microsoft-graph
baseUrl: https://graph.microsoft.com
- key: custom-backend
baseUrl: CUSTOM_BACKEND_BASE_URL
operations:
- fetch
resources:
- key: .....
path: .....
app:
id: ari:cloud:ecosystem::app/APP_ID
runtime:
name: nodejs20.x
permissions:
scopes:
- read:jira-work
- .....
content:
styles:
- "unsafe-inline"
scripts:
- "unsafe-inline"
- "unsafe-hashes"
external:
images:
- "*"
fetch:
client:
- "*"
backend:
- remote: custom-backend
- "*"
- "https://graph.microsoft.com"
- "https://login.microsoftonline.com"
I’ve built an input form that accepts baseURL (CUSTOM_BACKEND_BASE_URL) . However, I’m looking for a way to send this baseURL dynamically and automatically when they are added from the input form.
I’m considering storing the dynamic data (i.e., new baseURL) in an Atlassian’s product storage, and then fetching this data at runtime to determine which baseURL to be utilised.
Has anyone implemented something similar or could provide some guidance on how to achieve this? Any help would be greatly appreciated!
Thank you!