{
  "id": 8852154,
  "title": "JSM Portal Request Create Property Panel Submit",
  "url": "https://urgent.news/2026/09/21/jsm-portal-request-create-property-panel-submit",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-21T05:34:02.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/mihai_leanzero/jsm-portal-request-create-property-panel-submit-3on0"
  },
  "original_language": "en",
  "account": "When creating a Jira Service Management portal request, the JSM Portal Request Create Property Panel module is designed to be a straightforward Forge surface. It involves a small form on the customer portal's request-creation screen, a call to view.submit(), and the resulting value becomes a Jira issue property that can be retrieved later. However, developers have encountered issues when using this module.\n\nOne developer built a simple implementation and called view.submit(), only to find that the property came back undefined. Another developer faced the same issue three months later and sought clarification on how the first developer had resolved it. The answer revealed that the problem stemmed from an incorrect object shape.\n\nThe @forge/bridge package does not prevent developers from making this same mistake. Its own shipped types declare submit as (payload?: any) = Promise void, meaning any object can compile and resolve, even if it doesn't match the expected shape. This tutorial aims to provide the correct shape, how to read the value back, and explain any challenges that may arise in the process.\n\nTo successfully submit a value to a JSM request, follow these steps:\n\n1. Confirm the payload shape:\n- The fields array is required and must contain field objects with a key (string) and a value (object).\n- The isValid boolean is also required and must be true.\n\n2. Check the submitted value:\n- Atlassian's example code demonstrates how to submit the value correctly using await view.submit({ fields, isValid }).\n- Ensure that the submitted object adheres to the correct shape.\n\n3. Understand when the write happens:\n- The actual writing of the value occurs after view.submit() resolves, not during the resolution itself.\n\n4. Read the value back:\n- Use the jiraServiceManagement:portalRequestDetail module to check the submitted value.\n\n5. Be aware of the context:\n- Filling a real custom field from the submitted value is a separate, more complex problem.\n\nIt's important to note that the correct payload shape is not enforced by the tools, so relying solely on types or editor/build warnings may not catch mistakes. Always verify the shape explicitly as shown in the examples provided.\n\nBy following these guidelines, developers can avoid the silent failure mode and successfully create Jira issue properties using the JSM Portal Request Create Property Panel module.",
  "summary": "A jiraServiceManagement:portalRequestCreatePropertyPanel module is supposed to be one of the simpler Forge surfaces: a small form on the customer portal's request-creation screen, a call to view.submit() , and the value lands as a Jira issue property you can read back later. On the Atlassian developer forum, one developer built exactly that, called view.submit() , and found the property came back…",
  "key_points": [
    "Incorrect object shape causes the property to come back undefined when calling view.submit().",
    "Correct payload shape includes fields array with key and value, and isValid boolean set to true."
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}