1

这是我想要完成的事情:

  1. 我正在编写一个脚本,它将解析一些源代码,提取一些我希望它提取的注释,并将这些文本存储在一个文本文件中。

  2. 我想编写另一个脚本,使用此文本文件的内容以编程方式将其转换为 Confluence wiki 页面。

请告诉我最好的方法来做到这一点。我已经看到

我觉得我可以将上面示例中的输入更改为从文本文件中获取输入并更新 Confluence 页面的内容。但是,我不确定它将如何格式化。如果我必须格式化它,我需要做什么?

提前致谢!

4

3 回答 3

5

作为 XML-RPC 的替代方案,您可以使用集成的WebDAV 插件

  1. 编写一个脚本,在选定的空间中创建一个目录。目录名称将是页面名称。创建目录后,将在包含页面内容的目录中创建一个具有相同名称(扩展名为 .txt)的文本文件
  2. 让您的脚本在插入文本文件的内容时编辑此文件。

关于插件使用的信息:

于 2013-01-29T15:35:11.627 回答
3

我还看到了您所指的代码。我对其进行了一些调整,生成了以下代码,可以帮助您解决问题的第二部分。

我的代码从插入先前创建的空间的文本文件中创建了一个新空间以及一个新页面。

import sys
import xmlrpc.client
import os
import re

# Connects to confluence server with username and password
site_URL = "YOUR_URL"
server = xmlrpc.client.ServerProxy(site_URL + "/rpc/xmlrpc")

username = "YOUR_USERNAME"
pwd = "YOUR_PASSWORD" 
token = server.confluence2.login(username, pwd)

# The space you want to add a page to
spacekey = "YOUR_SPACENAME"

# Retrives text from a file
f = open('FileName.txt', 'r')
content = f.read()
f.close()

# Creates a new page to insert in the new space from text file content
newpage = {"title":"NEW_PAGENAME", "space":spacekey, "content":content}
server.confluence2.storePage(token, newpage)

server.confluence2.logout(token)

对于您的格式问题,支持 html,但我还没有完全弄清楚如何使用除内联之外的 CSS 样式(其他一切似乎都不起作用)。

当您在 Confluence 中使用 HTML 宏编写这些样式时,它们会起作用,但从远程 API 来看,它的行为方式似乎不同。

更新:您可以使用 {html} 宏通过以下方式包含您的 html:

content = server.confluence2.convertWikiToStorageFormat(token, content)

您还可以在全局 CSS 样式表中指定您的 CSS。另一种选择是开发一个包含 CSS 资源的插件: https ://developer.atlassian.com/display/CONFDEV/Creating+a+Stylesheet+Theme

于 2013-05-22T21:48:58.467 回答
1

我已经尝试过这种方式并且对我来说效果很好:

  1. 我使用 Java 程序创建了一个程序化客户端来创建动态内容。这从我的纯文本中创建了一个 HTML 文档。
  2. 我使用连接到 Confluence 的 RPC 客户端将其作为新页面上传。

您的 html 将被保留。但是,如果您想在 html 之上添加 CSS 或 JS/JQuery 等,则需要创建一个宏并为特定页面启用它。此功能在 Confluence OnDemand 中不可用。

于 2013-11-17T10:16:41.653 回答