はじめに
コンフルエンスのグループ情報を取得してExcelに書き出す処理の実装です。
実務で地味に使ってるので記事にしました。
その内Githubに集約していきます。
数年前に書いたモノなので恥ずかしいコードになってるのはご容赦ください。
ライブラリ
openpyxlはpipで追加インストール
requests、json、astは標準ライブラリです。
コード
getgroups.py
import openpyxl
import requests
import json
import ast
auth = ("hogehoge@hoge.co.jp", "APIキー情報")
def GetGroups():
wb = openpyxl.load_workbook("test.xlsx")
sht = wb['Sheet1']
url = "https://xxxx.atlassian.net/wiki/rest/api/group"
headers = {
"Accept": "application/json"
}
query = {
'limit': 500 #500 #取得するグループのリミット数
}
response = requests.request(
"GET",
url,
auth=auth,
headers=headers,
params=query
)
parse_response = json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": "))
group_name_dict = {}
dict_response = json.loads(parse_response)
dict_convert_lists = dict_response['results']
i = 0
for value in dict_convert_lists:
con_dict_value = ast.literal_eval(str(value))
group_name_dict[i] = con_dict_value['name']
print(con_dict_value['name'])
i += 1
sht.cell(i, 1).value = con_dict_value['name']
wb.save("test.xlsx")
詳細
コンフルでAPIキーを作成して認証情報を組み込みます
auth = ("hogehoge@hoge.co.jp", "APIキー情報")
def GetGroups():
書き出すExcelファイルとシートを記述
wb = openpyxl.load_workbook("test.xlsx")
sht = wb['Sheet1']
confluence urlを記述
url = "https://xxxx.atlassian.net/wiki/rest/api/group"