【Confluence】REST APIでページの内容を更新する

IT

やりたいこと

Confluenceのページの内容を、REST APIを使って更新する。
公開中のページをコピーして非公開状態で編集していた内容を、元のページに反映するために使った。

方法

ページの内容をJSON形式で抽出する

以下のようなURLでGETできる。

GET https://{DOMAIN}/rest/api/content/{PAGEID}?expand=body.storage,version

ページの更新内容をJSON形式でアップする

上で抽出したJSONから以下のようなJSONを再構成する。

{
    "type":"page",
    "title":"タイトル", 
    "version":{"number": N},
    "body":{
        "storage":{
            "value":"ページ内容",
            "representation":"storage"
        }
    }
}

URLはGETと同様だがメソッドをPUTに変更してこのJSONを送り込む。

失敗したらレスポンスにメッセージが返ってくるのでそれを参考に再編集する。「versionには最新の履歴番号をインクリメントして入れてね」とか、「そのタイトルは他のページで使われています」とか、英語で教えてくれる。

以上


参考ページ

How to edit the page content using rest api
Hi All,   I have requirement to update BUILD page which have below fields   BUILD NAME Release Version test testrealse 1.2   whenever my build completes i need ...
IT
広告
一郎くんどっとこむ