问题标签 [confluence-macros]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
confluence - 从表单创建 JIRA
我正在探索 Confluence,我想创建一个论坛,用户可以在其中输入描述,一旦他们点击提交,它将自动创建 Jira。有可用于创建 jira 的宏,但我想使用表单来完成。我找到了一种方法,但这不是最有效的方法。是否有可用于允许您创建 jira 的表单的宏?
confluence - Confluence 从云端迁移到服务器
我们已经将空间从云实例迁移到服务器实例,在云实例中我们使用“Confluence 的 Plantuml 图表”,但在服务器中我们使用“Confluence PlantUML 插件”。所以云和服务器中的宏名称不同,所以宏名称云是“plantumlcloud”,但服务器是“plantuml”。所以,在迁移后的页面中,它显示“plantumlcloud”不是一个有效的宏,请帮助解决。
regex - 正则表达式:在两个组之间,是否还有另一个特殊组?
简而言之:我试图找出某个字符串是否存在于两个字符串/组之间。
背景:我正在将 Confluence 数据中心迁移到云端。将来不支持某些宏或宏组合在彼此内部。我想事先找到有问题的页面。
我可以使用 Regex 和 Rumpelcoder 的“搜索和替换”插件以页面存储格式搜索整个数据库。(他们的正则表达式功能的文档。)我不打算自动替换,但现在只是找到页面。大多数问题组合只会出现在 20000 个页面中的 0-50 个,其中许多情况需要人脑在 Wiki 页面而不是存储语法中修复它们。因此,Regex 的开头和结尾可能很粗略,即是否包含流行语或任何内容。而且我不需要可以重新排列和再次保存的保存位。
菜鸟的解决方案可能性想法:
a)通过lookbehind和lookahead?也可能是负面的。
b)只有三个组,就像我一样。有一个正确的中间组。
c) 计算第 2 和第 3 个搜索组的括号 {}。然后检查 2 是否在 3 之前(然后跳过)或 3 在 2 之前(然后匹配)。听起来最有价值。:-)
d) 在已定义的匹配项中查找字符串的操作。
e) 计算第 2 组在 1 和 3 之间出现的次数。如果出现次数为零,则很好,它可以搜索下一个第 1 组。或其他一些聪明的结构。:-) 任何可行的解决方案都将受到高度欢迎。谢谢。如果我还没有在 stackoverflow 中找到合适的答案,我很抱歉。也许也因为有很多可能性和我不知道放弃无意义的尝试并选择有效的尝试。
Confluence 的存储格式看起来有点像 HTML,带有一些 <...> 和 </...> 可以用作搜索词。
我想出的最好的方法是尝试 b) 类型的 3 组:
/(<ac:structured-macro)(.*?"toc".*?)(<\/ac:structured-macro>)/gm
应该搜索多行。
使用 g 搜索页面上的所有结果。对于此处的示例很方便,但在实际搜索中并不是必需的,因为页面上已经有 1 个匹配项将在人脑工作中结束。如果没有“g”,在所有点击次数 >1 的页面上应该会快一个因子。
当出现“<ac:structured-macro”时开始任何匹配搜索。
而当“toc”出现时,它将在下一个“</ac:structured-macro>”出现时结束。
显然这与最初的问题不同:它肯定在下一个“</ac:structured-macro>”结束。如果第一组和最后一组之间存在“目录”,则匹配。如果它们之间没有“toc”,则不匹配。
因为如果“toc”出现在上述第一个“</ac:structured-macro>”之后,上述搜索只会继续到任何段落中的任何随机下一个“</ac:structured-macro>”。
这里有一些用于搜索的文本示例。可以将整个块粘贴到搜索框中。
- 这里不应该匹配。(但仍然使用原始语法错误地这样做。)
<ac:structured-macro text。没有危险的结构或内容,因此没有来自 Regex 的流行语。以: </ac:structured-macro> 更多文本结尾。不应该在这里比赛!后来某处超出了危险区域,因此是无害的流行语:ac:name="toc" 文本。文件中某处任何内容的随机结尾:</ac:structured-macro>。 - 应该在这里匹配:
<ac:structured-macro text。带有语法流行词 ac:name="toc" 的危险宏更多文本。外部宏结束:</ac:structured-macro>。 - 应该匹配多行:
<ac:structured-macro text。任何数量的换行符。
危险宏:ac:name="toc" 更多文本。
或任何完全空的行。
宏结束:</ac:structured-macro>。
4. 此处不应匹配:
<ac:structured-macro text。没有什么危险的。宏结束:</ac:structured-macro>。
confluence - 如何在汇合宏体内创建动态参数?
我正在使用 Atlassian SDK 开发合流插件。我想做的是带有动态值和动态值数量的下拉列表。这个下拉列表应该在汇合宏体中。互联网上有一些 API 可以从中获取这些值。现在我在 atlassian-plugin.xml 文件中对这些值进行硬编码。标签
我尝试过的选项:
- 速度模板
- 所有类型的xhtml-macro,category
- 对我的后端应用程序的休息请求(卡住下一个异常 - 源服务器没有找到目标资源的当前表示或不愿意透露存在的表示)
- 我什至尝试创建 atlassian-plugin.xml 并将其导出到 target/classes 文件夹
有人可以告诉我实现目标的正确解决方案吗?
odata - Confluence pocketquery 宏实现请求
我在我们的 Confluence 中使用 PocketQuery 插件。从 SAP vie odata 服务获取的数据。如果有任何可能性,这个插件可以每 10 秒更新一次数据,发送自动请求而不更新汇合页面?
postgresql - 在 Atlassian Confluence 中过滤信息
我在 Atlassian Confluence 中使用 JIRA 问题/过滤器宏。
我试图找出过滤器详细信息存储在 Atlassian Confluence 的 postgres 服务器中的位置。
有人可以帮我吗?
javascript - Confluence:setMacroJsOverride 代码中的 JS push() 损坏了编辑器中的宏图标和标题
我为 Confluence Server 编写了一个自定义宏。它包含一个隐藏参数字段,用于维护宏的其他参数的历史记录。我使用带有“manipulateMarkup”钩子的 AJS.MacroBrowser.setMacroJsOverride 来完成此操作。在钩子代码中,我在编辑宏时用新设置修改了隐藏的历史参数。代码片段(来自 mymacro.js):
atlassian-plugin.xml 的相关部分:
一切正常,但有一个副作用是我很难找到。在前面的代码中,我用“问题”注释标记了两行。由于某种原因,JS 数组推送操作使宏图标和标题(在页面编辑对话框中)损坏。图标恢复为默认的页面外观图标,并且标题包含历史参数的内容。损坏的宏看起来像: 图像←损坏的宏图标和标题
如果我注释掉 push() 操作,图标和标题是正确的(当然,历史不会被修改)。然后宏看起来像: 图像←正确的宏
我已经介入调试器并确认宏元数据仍然完好无损。(即图标设置仍然指向正确的文件,并且标题说明了我的期望)。我确定我缺少一个步骤,或者我没有设置一个标志(“我更改了表单中的某些内容……”),但文档就是它的样子……</p>
如果重要的话,我会在 Confluence 7.4.11 下构建这些宏。
社区有什么想法吗?