1

我们在 JIRA 问题视图屏幕上创建了一个问题面板。我们需要渲染的是问题键列表(通过 API 调用获取)。

这就是我们定义 Forge 库 manifest.yml 文件的方式:

modules:
jira:issuePanel:
- key: dylan-hello-world-app-hello-world-panel
function: main
title: Forge App by Dylan
icon: https://developer.atlassian.com/platform/forge/images/icons/issue-panel-icon.svg
trigger:
- key: issue-updated-trigger
events:
- avi:jira:updated:issue
function: issue-trigger-func
function:
- key: main
handler: index.run
- key: issue-trigger-func
handler: index.issueUpdatedTrigger
app:
id: our cloud app id
name: dylan-hello-world-app
permissions:
scopes:
- read:jira-work

我的 run() 函数执行面板的渲染部分(初始渲染)。

当问题更新事件发生时,将触发 issueUpdateTrigger(event, context) 函数。默认情况下,该函数会自动从 JIRA 接收事件和上下文参数。

在 issueUpdateTrigger 中,我们想通过传入上下文再次调用 API 以检索新的问题键列表并更新我们现有面板的上下文。我可以知道我们如何执行相关操作吗?

(我认为必须在索引文件中同时公开 run() 和 issueUpdatedTrigger() 函数,因为这是 Forge 读取函数的方式,因此这两个函数可能无法共享一个共同的祖先函数。)

感谢您的帮助,如果需要更多信息,请告诉我:D

4

1 回答 1

1

根据您的jira:issuePanel模块具有function键和值,我的回答假设您使用的是 Forge 的 UI 工具包而不是自定义 UI。

使用 UI Kit,没有用户点击就无法强制刷新 UI 组件。解决方法是添加一个“刷新”按钮,单击该按钮会刷新组件。

您可以使用自定义 UI 来处理这种情况,但这是一个更复杂的解决方案,因为您将负责构建 UI(而不是使用 Forge 提供的组件)。

您还可以在专门针对 Forge 的 Atlassian 开发者社区类别中找到其他反馈和建议:https ://community.developer.atlassian.com/c/forge/45

于 2021-07-26T18:58:09.537 回答