@@ -10,57 +10,63 @@ Backlog API v2 Client Library for Python
1010- Python 3.11+
1111- requests 2.x
1212
13- # Install
13+ # Usage: install
1414
1515```
1616pip install pybacklog
1717```
1818
19- # Usage
19+ # Usage: code
2020
2121``` python
2222from pybacklog import BacklogClient
23+ import os
2324
24- client = BacklogClient(" your_space_name" , " your_api_key" )
25+ YOUR_SPACE_NAME = os.getenv(" BACKLOG_SPACE_NAME" , " " )
26+ YOUR_API_KEY = os.getenv(" BACKLOG_API_KEY" , " " )
27+ YOUR_PROJECT = os.getenv(" BACKLOG_PROJECT" , " " )
28+ YOUR_ISSUE_KEY = os.getenv(" BACKLOG_ISSUE_KEY" , " " )
29+
30+ client = BacklogClient(YOUR_SPACE_NAME , YOUR_API_KEY )
2531
2632# space
27- space = client.do( " GET " , " space" ) # GET /api/v2/space
28- print (space.get(u " spaceKey" ))
33+ space = client.space()
34+ print (space.get(" spaceKey" ))
2935
3036# project
3137projects = client.projects()
3238
3339# activity
34- activities = client.project_activities(" YOUR_PROJECT" , {" activityTypeId[]" : [1 , 2 ]})
40+ activities = client.project_activities(YOUR_PROJECT , {" activityTypeId[]" : [1 , 2 ]})
3541
3642# list issue
37- project_id = client.get_project_id(" YOUR_PROJECT" )
38- issues = client.issues({" projectId[]" :[project_id], " sort" : " dueDate" })
43+ project_id = client.get_project_id(YOUR_PROJECT )
44+ issues = client.issues({" projectId[]" : [project_id], " sort" : " dueDate" })
3945
4046# specified issue
41- issue = client.issue(" YOUR_PROJECT-999 " )
47+ issue = client.issue(YOUR_ISSUE_KEY )
4248
4349# create issue
44- project_id = client.get_project_id(project_key )
45- issue_type_id = client.project_issue_types(project_key )[0 ][u " id" ]
46- priority_id = client.priorities()[0 ][u " id" ]
50+ project_id = client.get_project_id(YOUR_PROJECT )
51+ issue_type_id = client.project_issue_types(YOUR_PROJECT )[0 ][" id" ]
52+ priority_id = client.priorities()[0 ][" id" ]
4753
48- client.create_issue(project_id,
49- u " some summary" ,
50- issue_type_id,
51- priority_id,
52- {" description" : u " a is b and c or d." })
54+ if project_id and issue_type_id and priority_id:
55+ client.create_issue(project_id, " some summary" , issue_type_id, priority_id, {" description" : " a is b and c or d." })
5356
5457# add comment
55- client.add_issue_comment(" YOUR_PROJECT-999 " , u " or ... else e." )
58+ client.add_issue_comment(YOUR_ISSUE_KEY , " or ... else e." )
5659
5760# top 10 star collector
58- star_collectors = [(client.user_stars_count(u[u " id" ], {" since" : " 2017-06-01" , " until" : " 2017-06-30" })[u " count" ], u[u " name" ]) for u in client.users()]
61+ star_collectors = [
62+ (client.user_stars_count(u[" id" ], {" since" : " 2017-06-01" , " until" : " 2017-06-30" })[" count" ], u[" name" ])
63+ for u in client.users()
64+ ]
5965star_collectors.sort()
6066star_collectors.reverse()
6167
6268for i, (c, u) in enumerate (star_collectors[:10 ]):
63- print (i+ 1 , c, u)
69+ print (i + 1 , c, u)
6470```
6571
6672supported operations are ` pydoc pybacklog.BacklogClient `
@@ -74,16 +80,21 @@ Use `do` or let's write code and Pull Request.
7480
7581``` python
7682from pybacklog import BacklogClient
83+ import os
84+
85+ YOUR_SPACE_NAME = os.getenv(" BACKLOG_SPACE_NAME" , " " )
86+ YOUR_API_KEY = os.getenv(" BACKLOG_API_KEY" , " " )
87+ YOUR_PROJECT = os.getenv(" BACKLOG_PROJECT" , " " )
7788
78- client = BacklogClient(" your_space_name " , " your_api_key " )
89+ client = BacklogClient(YOUR_SPACE_NAME , YOUR_API_KEY )
7990space = client.do(" GET" , " space" ) # GET /api/v2/space
80- projects = client.do(" GET" , " projects" ,
81- query_params = { " archived " : false}
82- ) # GET /api/v2/projects?archived=false
83- activities = client.do( " GET " , " projects/{project_id_or_key} /activities" ,
84- url_params = {" project_id_or_key" : " myproj " },
85- query_params = {" activityTypeId[]" : [1 , 2 ]}
86- ) # GET /api/v2/projects/myproj/activities?activityTypeIds%5B%5D=1&activityTypeIds%5B%5D=2
91+ projects = client.do(" GET" , " projects" , query_params = { " archived " : False }) # GET /api/v2/projects?archived=false
92+ activities = client.do(
93+ " GET" ,
94+ " projects/{project_id_or_key} /activities" ,
95+ url_params = {" project_id_or_key" : YOUR_PROJECT },
96+ query_params = {" activityTypeId[]" : [1 , 2 ]},
97+ ) # GET /api/v2/projects/myproj/activities?activityTypeIds%5B%5D=1&activityTypeIds%5B%5D=2
8798```
8899
89100see also [ Backlog API Overview \| Backlog Developer API \| Nulab] ( https://developer.nulab-inc.com/docs/backlog/ )
0 commit comments