コンテンツにスキップ

Redmine

Redmine API

Ref: http://www.redmine.org/projects/redmine/wiki/Rest_api

例えばWikiの一覧を取得する場合はこう。

$ curl -s http://www.ainoniwa.net/projects/home_server/wiki/index.json?key=YOUR_API_ACCESS_TOKEN | python -m json.tool

以下のようにフィルタを挟んでWikiのタイトルだけ拾えるし、

$ curl -s http://www.ainoniwa.net/projects/home_server/wiki/index.json?key=YOUR_API_ACCESS_TOKEN | jq '.wiki_pages[].title'

以下のようにWikiのタイトルと記事内容のテキストだけを抽出することもできる。

$ curl -s http://www.ainoniwa.net/projects/home_server/wiki/Ese.json?key=YOUR_API_ACCESS_TOKEN | jq '.wiki_page | {title, text}'

RedmineのWikiデータをAPIで取得するスニペット

import requests
import json
import codecs
wiki_url = 'https://www.ainoniwa.net/rwiki/projects/wiki-ainoniwa-net/wiki'
params = {"key": "Your API access token"}
wiki_list = requests.get(wiki_url + 'index.json', params=params)
titles = [i['title'] for i in wiki_list.json()['wiki_pages']]
for title in titles:
    post = requests.get(wiki_url + title + '.json', params=params)
    with codecs.open(title + '.md', 'w', 'utf-8') as f:
        print(u"Writing {} ...".format(title))
        f.write(post.json()['wiki_page']['text'])

最終更新日: 2021-05-19 14:16:14