项目

通用

个人资料

操作

维基页面

获取维基页面列表

GET /projects/foo/wiki/index.xml

返回项目维基中所有页面的列表。

响应:

<?xml version="1.0"?>
<wiki_pages type="array">
  <wiki_page>
    <title>UsersGuide</title>
    <version>2</version>
    <created_on>2008-03-09T12:07:08Z</created_on>
    <updated_on>2008-03-09T23:41:33+01:00</updated_on>
  </wiki_page>
  ...
</wiki_pages>

获取维基页面

GET /projects/foo/wiki/UsersGuide.xml

返回维基页面的详细信息。

可包含:
  • 附件

响应:

<?xml version="1.0"?>
<wiki_page>
  <title>UsersGuide</title>
  <parent title="Installation_Guide"/>
  <text>h1. Users Guide
  ...
  ...</text>
  <version>22</version>
  <author id="11" name="John Smith"/>
  <comments>Typo</comments>
  <created_on>2009-05-18T20:11:52Z</created_on>
  <updated_on>2012-10-02T11:38:18Z</updated_on>
</wiki_page>

获取维基页面的旧版本

GET /projects/foo/wiki/UsersGuide/23.xml

返回维基页面旧版本的详细信息。

可包含:
  • 附件

响应:

与上面相同。

创建或更新维基页面

PUT /projects/foo/wiki/UsersGuide.xml
<?xml version="1.0"?>
<wiki_page>
  <text>Example</text>
  <comments>Typo</comments>
</wiki_page>

创建或更新维基页面。

在更新现有页面时,您可以通过包含一个 version 属性来确保在尝试更新时页面是特定版本(例如,您不想覆盖您检索页面后所做的更新)。示例

PUT /projects/foo/wiki/UsersGuide.xml
<?xml version="1.0"?>
<wiki_page>
  <text>Example</text>
  <comments>Typo</comments>
  <version>18</version>
</wiki_page>

如果页面当前版本为18,则这将更新页面,否则将返回 409 冲突 错误。

附件

JSON示例

首先,上传您的文件(s)

POST /uploads.json
Content-Type: application/octet-stream
...
(request body is the file content)

# 201 response
{"upload":{"token":"7167.ed1ccdb093229ca1bd0b043618d88743"}}

如果您要附加多个文件,请逐个上传它们,并保存所有令牌。
然后使用附件令牌(提供作为对象数组的文件)创建/更新维基页面

PUT /projects/project_name/wiki/wiki_name.json
{
    "wiki_page": {
        "text": "This is a wiki page with images (like this: !img.png!), and other files.",
        "uploads": [
            {"token": "7167.ed1ccdb093229ca1bd0b043618d88743", "filename": "img.bmp", "content-type": "image/png"},
            {"token": "7168.d595398bbb104ed3bba0eed666785cc6", "filename": "document.pdf", "content-type": "application/pdf"}
        ]
    }
}

注意

在创建或更新维基页面时,必须提供文本字段,否则您将收到一个 422 无法处理实体 错误,表明:“文本字段不能为空”。
如果您不想更改文本,您可以通过首先按照上述方法获取维基页面,并在更新中提供当前文本来保留它。

响应:
  • 204 无内容:页面已更新
  • 201 已创建:页面已创建
  • 409 冲突:在尝试更新过时的页面时发生(见上面)
  • 422 无法处理实体:页面未保存,因为验证失败(响应正文中包含错误消息)

删除维基页面

DELETE /projects/foo/wiki/UsersGuide.xml

删除维基页面、其附件及其历史记录。如果删除的页面是父页面,则其子页面不会被删除,而是作为根页面更改。

响应:
  • 204 无内容:页面已删除

Go MAEDA 更新 近3年 前 · 7次修订