回答編集履歴
2
環境変数取得関数の一本化に伴う例文の消去
answer
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
def getenvfunction(envname):
|
15
15
|
if os.getenv(envname)==None:
|
16
16
|
print("環境変数から" + envname + "を取得できませんでした。※登録しておくと今後入力が無くて便利です。")
|
17
|
-
result = input( envname + "を入力してください。
|
17
|
+
result = input( envname + "を入力してください。 >>>")
|
18
18
|
else:
|
19
19
|
result = os.getenv(envname)
|
20
20
|
return result
|
1
環境変数取得関数の一本化
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
もっと良い書き方があるかもしれませんが、目的の機能を持つツールが出来ました。
|
2
2
|
良い方法があればご教示いただけますでしょうか。
|
3
|
-
```
|
3
|
+
```python
|
4
4
|
import pathlib
|
5
5
|
import os
|
6
6
|
import requests
|
@@ -8,40 +8,35 @@
|
|
8
8
|
|
9
9
|
#定義
|
10
10
|
ListFile = pathlib.Path('.\BacklogTeamsList.txt') # 出力先ファイル
|
11
|
+
mdFile = pathlib.Path('.\BacklogTeamsList.md') # 出力先ファイル
|
11
12
|
|
12
|
-
# 環境変数
|
13
|
+
# 環境変数取得、なければ入力を求め一時利用
|
13
|
-
def
|
14
|
+
def getenvfunction(envname):
|
14
|
-
if os.getenv(
|
15
|
+
if os.getenv(envname)==None:
|
15
|
-
print(
|
16
|
+
print("環境変数から" + envname + "を取得できませんでした。※登録しておくと今後入力が無くて便利です。")
|
16
|
-
result = input("
|
17
|
+
result = input( envname + "を入力してください。例[https://xxxx.backlog.jp] >>>")
|
17
18
|
else:
|
18
|
-
result = os.getenv(
|
19
|
+
result = os.getenv(envname)
|
19
20
|
return result
|
20
21
|
|
21
|
-
# 環境変数からBACKLOG_API_KEYを取得、なければ入力を求め一時利用
|
22
|
-
def getBACKLOG_API_KEY():
|
23
|
-
if os.getenv('BACKLOG_API_KEY')==None:
|
24
|
-
print('環境変数からBACKLOG_API_KEYを確認できませんでした。※登録しておくと今後入力が無くて便利です。')
|
25
|
-
result = input("BACKLOG_API_KEYを入力してください。>>>")
|
26
|
-
else:
|
27
|
-
result = os.getenv('BACKLOG_API_KEY')
|
28
|
-
return result
|
29
|
-
|
30
22
|
# Backlogチーム一覧作成処理
|
31
23
|
def main():
|
32
24
|
with ListFile.open(mode='w') as f:
|
25
|
+
with mdFile.open(mode='w',encoding="utf-8") as m:
|
33
|
-
|
26
|
+
print("チーム名,メンバー,メールアドレス", file=f)
|
27
|
+
print("# OPRO Backlog チーム一覧\n| チーム名 | メンバー | メールアドレス |\n|--|--|--|", file=m)
|
34
|
-
|
28
|
+
for n in range(0,1000,100):
|
35
|
-
|
29
|
+
r = requests.get(BACKLOG_URL + '/api/v2/teams', params={'apiKey': BACKLOG_API_KEY, 'count': '100', 'order': 'asc', 'offset': n})
|
36
|
-
|
30
|
+
if r.status_code == requests.codes.ok and r.text!="[]":
|
37
|
-
|
31
|
+
data_json = json.loads(json.dumps(r.json(), ensure_ascii=False, indent=4))
|
38
|
-
|
32
|
+
for data_json_key in data_json:
|
39
|
-
|
33
|
+
for data_json_val in data_json_key["members"]:
|
40
|
-
|
34
|
+
print(data_json_key["name"] + "," + data_json_val["name"] + "," + data_json_val["mailAddress"], file=f)
|
35
|
+
print("| "+data_json_key["name"] + " | " + data_json_val["name"] + " | " + data_json_val["mailAddress"]+" |", file=m)
|
41
36
|
|
42
37
|
# メイン処理
|
43
38
|
if __name__ == '__main__':
|
44
|
-
BACKLOG_URL =
|
39
|
+
BACKLOG_URL = getenvfunction("BACKLOG_URL")
|
45
|
-
BACKLOG_API_KEY =
|
40
|
+
BACKLOG_API_KEY = getenvfunction("BACKLOG_API_KEY")
|
46
41
|
main()
|
47
42
|
```
|