At AppWeek Berlin 2023 I converted a large Connect app descriptor to a Forge manifest using the Connect-on-Forge approach and these are the gotchas and problems I found:
-
jira:webhooks
need to have akey
attribute that they don’t have in Connect -
jira:postInstallPage
andjira:configurePage
must be arrays unlike in Connect, and they don’t actually show anything in the app listing in the Manage Apps screen -
jira:lifecycle
works with weird format
jira:lifecycle:
[
{
"key": "connect-lifecycle",
"installed": '/lifecycle/installed',
"uninstalled": '/lifecycle/uninstalled',
"disabled": '/lifecycle/disabled',
"enabled": '/lifecycle/enabled'
}
]
-
conditions
seem to work best as JSON although I did get some YAML conditions working so its probably my fault:
conditions:
- {
"condition": "addon_property_equal_to",
"params": {
"propertyKey": "app-week-2023",
"objectName": "view-workflows",
"value": "true"
}
}
-
jira:jiraWorkflowPostFunctions
doesn’t support context params in the URLseg
/app/workflow-postfunction?id={postFunction.id}
[FRGE-1133] - Ecosystem Jira -
jira:jiraProjectPages
doesn’t support context params in the URLs[FRGE-1134] - Ecosystem Jira
-
jira:jiraWorkflowConditions
doesn’t support context params in the URLs[FRGE-1135] - Ecosystem Jira
-
jira:jiraIssueContents
doesn’t support context params in the URLs[FRGE-1136] - Ecosystem Jira
-
jira:adminPages
works -
jira:generalPages
works -
jira:webSections
works -
jira:jiraEntityProperties
worksI tested the indexing/search for aliased properties
-
jira:webPanels
works
Edit:
The error messages when the Forge manifest fails to validate against the schema are really unhelpful. Some of the problems above I only discovered because the manifest validated and deployed but the app didn’t install, despite forge install
completing successfully. An uninstall and reinstall was the only way to find the bug.