Atlassian Forge Jira仪表盘小工具无entryPoint,如何判断编辑模式?
解决Jira自定义UI仪表盘小工具的编辑模式判断问题
问题分析
你提到文档里的context.extension.entryPoint字段在view.getContext()返回结果中不存在,这大概率是因为@forge/bridge版本较低,该字段是较新的API特性。不过不用纠结这个,有更可靠的方法判断编辑状态。
可行方案
1. 更新@forge/bridge到最新版本
先尝试升级依赖,确保能获取到最新的上下文字段:
npm update @forge/bridge
升级后重新部署,再检查view.getContext()的返回结果,看是否出现entryPoint字段(该字段值为configure时表示处于编辑模式)。
2. 用view.onConfigure监听编辑状态(更可靠)
不管版本如何,监听配置事件是判断小工具是否进入编辑模式的标准方式:
import { view } from '@forge/bridge'; // 标记当前是否处于编辑模式 let isInEditMode = false; // 当用户点击小工具的配置按钮时触发 view.onConfigure(() => { isInEditMode = true; // 在这里切换到你的配置界面逻辑 }); // 保存配置后退出编辑模式 async function saveGadgetConfig(configData) { // 提交配置到Forge后端 await view.submit(configData); isInEditMode = false; // 切换回小工具的正常展示界面 }
3. 确保manifest配置正确
要让配置事件正常触发,必须在manifest.yml中配置对应的配置模块:
modules: jiraDashboardGadget: - key: custom-dashboard-gadget name: 自定义仪表盘小工具 description: 我的Forge自定义小工具 configuration: key: gadget-config-module render: type: custom view: key: gadget-main-view jiraDashboardGadgetConfiguration: - key: gadget-config-module name: 小工具配置 render: type: custom view: key: gadget-config-view
内容的提问来源于stack exchange,提问作者RodP
相关产品推荐
相关产品推荐

