python-cnb 1.19.9__tar.gz → 1.21.13__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {python_cnb-1.19.9/python_cnb.egg-info → python_cnb-1.21.13}/PKG-INFO +1 -1
- python_cnb-1.21.13/cnb/charge.py +72 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/issues.py +122 -2
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/knowledgebase.py +25 -2
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/missions.py +0 -17
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/models/api.py +30 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/models/dto.py +56 -3
- python_cnb-1.21.13/cnb/models/errors.py +11 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/pulls.py +56 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/rank.py +8 -8
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/registries.py +9 -10
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/repositories.py +0 -17
- {python_cnb-1.19.9 → python_cnb-1.21.13/python_cnb.egg-info}/PKG-INFO +1 -1
- {python_cnb-1.19.9 → python_cnb-1.21.13}/python_cnb.egg-info/SOURCES.txt +1 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/setup.py +1 -1
- python_cnb-1.19.9/cnb/charge.py +0 -22
- {python_cnb-1.19.9 → python_cnb-1.21.13}/LICENSE +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/MANIFEST.in +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/README.md +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/__init__.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/activities.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/ai.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/ai_ext.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/assets.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/badge.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/build.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/client.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/cnb.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/event.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/exceptions.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/followers.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/git.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/gitsettings.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/members.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/models/__init__.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/models/chart.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/models/constant.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/models/convert.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/models/die.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/models/flags.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/models/git_woa_com_cnb_monorepo_git_internal_app_git_service_bff_api.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/models/git_woa_com_cnb_monorepo_git_internal_app_vcs_service_bff_api.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/models/git_woa_com_cnb_monorepo_platform_service_api_internal_models_artifactory_dto.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/models/member.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/models/models.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/models/openapi.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/models/organization.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/models/web.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/organizations.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/releases.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/repocodeissue.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/repocontributor.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/repolabels.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/search.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/security.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/starring.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/users.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/cnb/workspace.py +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/pyproject.toml +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/python_cnb.egg-info/dependency_links.txt +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/python_cnb.egg-info/requires.txt +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/python_cnb.egg-info/top_level.txt +0 -0
- {python_cnb-1.19.9 → python_cnb-1.21.13}/setup.cfg +0 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Code generated by cnb.cool/cnb/sdk/cnb-sdk-generator. DO NOT EDIT.
|
|
2
|
+
# source: https://api.cnb-dev.woa.com/swagger.json
|
|
3
|
+
|
|
4
|
+
from typing import Optional
|
|
5
|
+
from .models import dto
|
|
6
|
+
class ChargeService:
|
|
7
|
+
def __init__(self, client):
|
|
8
|
+
self._client = client
|
|
9
|
+
|
|
10
|
+
# 获取组织各资源类型当月额度
|
|
11
|
+
def get_quota(self,
|
|
12
|
+
slug: str,
|
|
13
|
+
) -> dto.VolumeQuotaResp:
|
|
14
|
+
u = "/%s/-/charge/quota" % (slug, )
|
|
15
|
+
|
|
16
|
+
data = self._client.request(
|
|
17
|
+
method="GET",
|
|
18
|
+
endpoint=u,
|
|
19
|
+
)
|
|
20
|
+
return dto.VolumeQuotaResp.safe_parse(data)
|
|
21
|
+
|
|
22
|
+
# 分页获取组织仓库用量
|
|
23
|
+
def get_repos_volume(self,
|
|
24
|
+
slug: str,
|
|
25
|
+
type: Optional[str] = None,
|
|
26
|
+
page: Optional[int] = None,
|
|
27
|
+
page_size: Optional[int] = None,
|
|
28
|
+
) -> list[dto.RepoVolume]:
|
|
29
|
+
u = "/%s/-/charge/repos-volume" % (slug, )
|
|
30
|
+
|
|
31
|
+
query_params = {
|
|
32
|
+
"type": type,
|
|
33
|
+
"page": page,
|
|
34
|
+
"page_size": page_size,
|
|
35
|
+
}
|
|
36
|
+
data = self._client.request(
|
|
37
|
+
method="GET",
|
|
38
|
+
endpoint=u,
|
|
39
|
+
params=query_params,
|
|
40
|
+
)
|
|
41
|
+
return [dto.RepoVolume.safe_parse(item) for item in data]
|
|
42
|
+
|
|
43
|
+
# 查看特权额度
|
|
44
|
+
def get_special_amount(self,
|
|
45
|
+
slug: str,
|
|
46
|
+
) -> dto.SpecialAmount:
|
|
47
|
+
u = "/%s/-/charge/special-amount" % (slug, )
|
|
48
|
+
|
|
49
|
+
data = self._client.request(
|
|
50
|
+
method="GET",
|
|
51
|
+
endpoint=u,
|
|
52
|
+
)
|
|
53
|
+
return dto.SpecialAmount.safe_parse(data)
|
|
54
|
+
|
|
55
|
+
# 获取根组织各资源用量
|
|
56
|
+
def get_volume(self,
|
|
57
|
+
slug: str,
|
|
58
|
+
month: Optional[str] = None,
|
|
59
|
+
) -> dto.VolumeUsedResp:
|
|
60
|
+
u = "/%s/-/charge/volume" % (slug, )
|
|
61
|
+
|
|
62
|
+
query_params = {
|
|
63
|
+
"month": month,
|
|
64
|
+
}
|
|
65
|
+
data = self._client.request(
|
|
66
|
+
method="GET",
|
|
67
|
+
endpoint=u,
|
|
68
|
+
params=query_params,
|
|
69
|
+
)
|
|
70
|
+
return dto.VolumeUsedResp.safe_parse(data)
|
|
71
|
+
|
|
72
|
+
|
|
@@ -105,6 +105,45 @@ class IssuesService:
|
|
|
105
105
|
)
|
|
106
106
|
return api.IssueComment.safe_parse(data)
|
|
107
107
|
|
|
108
|
+
# 获取 Issue 文件,返回文件二进制内容。Request to retrieve file of issues, returns binary content.
|
|
109
|
+
def get_issue_files(self,
|
|
110
|
+
repo: str,
|
|
111
|
+
file_path: str,
|
|
112
|
+
):
|
|
113
|
+
u = "/%s/-/files/issues/%s" % (repo, file_path, )
|
|
114
|
+
|
|
115
|
+
data = self._client.request(
|
|
116
|
+
method="GET",
|
|
117
|
+
endpoint=u,
|
|
118
|
+
)
|
|
119
|
+
return
|
|
120
|
+
|
|
121
|
+
# 获取 Issue 图片,返回图片二进制内容。Request to retrieve image of issues, returns binary content.
|
|
122
|
+
def get_issue_imgs(self,
|
|
123
|
+
repo: str,
|
|
124
|
+
img_path: str,
|
|
125
|
+
):
|
|
126
|
+
u = "/%s/-/imgs/issues/%s" % (repo, img_path, )
|
|
127
|
+
|
|
128
|
+
data = self._client.request(
|
|
129
|
+
method="GET",
|
|
130
|
+
endpoint=u,
|
|
131
|
+
)
|
|
132
|
+
return
|
|
133
|
+
|
|
134
|
+
# 查询指定Issue的自定义属性列表。Get issue custom properties.
|
|
135
|
+
def get_issue_properties(self,
|
|
136
|
+
repo: str,
|
|
137
|
+
number: str,
|
|
138
|
+
) -> list[api.IssueProperty]:
|
|
139
|
+
u = "/%s/-/issues/%s/property" % (repo, number, )
|
|
140
|
+
|
|
141
|
+
data = self._client.request(
|
|
142
|
+
method="GET",
|
|
143
|
+
endpoint=u,
|
|
144
|
+
)
|
|
145
|
+
return [api.IssueProperty.safe_parse(item) for item in data]
|
|
146
|
+
|
|
108
147
|
# 查询指定 Issue 的 Timeline Activity
|
|
109
148
|
def list_issue_activities(self,
|
|
110
149
|
repo: str,
|
|
@@ -237,6 +276,39 @@ class IssuesService:
|
|
|
237
276
|
)
|
|
238
277
|
return [api.Issue.safe_parse(item) for item in data]
|
|
239
278
|
|
|
279
|
+
# 查询仓库不可见的自定义属性列表。List repository invisible custom properties.
|
|
280
|
+
def list_repo_invisible_properties(self,
|
|
281
|
+
repo: str,
|
|
282
|
+
page: Optional[int] = None,
|
|
283
|
+
page_size: Optional[int] = None,
|
|
284
|
+
keyword: Optional[str] = None,
|
|
285
|
+
) -> list[api.RepoProperty]:
|
|
286
|
+
u = "/%s/-/property/invisible" % (repo, )
|
|
287
|
+
|
|
288
|
+
query_params = {
|
|
289
|
+
"page": page,
|
|
290
|
+
"page_size": page_size,
|
|
291
|
+
"keyword": keyword,
|
|
292
|
+
}
|
|
293
|
+
data = self._client.request(
|
|
294
|
+
method="GET",
|
|
295
|
+
endpoint=u,
|
|
296
|
+
params=query_params,
|
|
297
|
+
)
|
|
298
|
+
return [api.RepoProperty.safe_parse(item) for item in data]
|
|
299
|
+
|
|
300
|
+
# 查询仓库可见的自定义属性列表。List repository visible custom properties.
|
|
301
|
+
def list_repo_visible_properties(self,
|
|
302
|
+
repo: str,
|
|
303
|
+
) -> list[api.RepoProperty]:
|
|
304
|
+
u = "/%s/-/property" % (repo, )
|
|
305
|
+
|
|
306
|
+
data = self._client.request(
|
|
307
|
+
method="GET",
|
|
308
|
+
endpoint=u,
|
|
309
|
+
)
|
|
310
|
+
return [api.RepoProperty.safe_parse(item) for item in data]
|
|
311
|
+
|
|
240
312
|
# 查询当前用户相关的 Issues。List issues for the authenticated user across all repositories.
|
|
241
313
|
def list_user_issues(self,
|
|
242
314
|
page: Optional[int] = None,
|
|
@@ -250,6 +322,8 @@ class IssuesService:
|
|
|
250
322
|
updated_time_end: Optional[str] = None,
|
|
251
323
|
close_time_begin: Optional[str] = None,
|
|
252
324
|
close_time_end: Optional[str] = None,
|
|
325
|
+
created_time_begin: Optional[str] = None,
|
|
326
|
+
created_time_end: Optional[str] = None,
|
|
253
327
|
order_by: Optional[str] = None,
|
|
254
328
|
) -> list[api.UserIssue]:
|
|
255
329
|
u = "/user/issues" % ()
|
|
@@ -266,6 +340,8 @@ class IssuesService:
|
|
|
266
340
|
"updated_time_end": updated_time_end,
|
|
267
341
|
"close_time_begin": close_time_begin,
|
|
268
342
|
"close_time_end": close_time_end,
|
|
343
|
+
"created_time_begin": created_time_begin,
|
|
344
|
+
"created_time_end": created_time_end,
|
|
269
345
|
"order_by": order_by,
|
|
270
346
|
}
|
|
271
347
|
data = self._client.request(
|
|
@@ -306,6 +382,20 @@ class IssuesService:
|
|
|
306
382
|
)
|
|
307
383
|
return api.IssueComment.safe_parse(data)
|
|
308
384
|
|
|
385
|
+
# 创建一个 Issue 附件组用于上传新建 Issue 的附件。一次可以获取 16 个附件上传 url。需要上传更多附件可以使用 /{repo}/-/issues/asset-groups/{asset_group_id}/image-asset-upload-url 和 /{repo}/-/issues/asset-groups/{asset_group_id}/file-asset-upload-url 接口获取更多的上传 url。
|
|
386
|
+
def post_asset_group(self,
|
|
387
|
+
repo: str,
|
|
388
|
+
body_params: api.PostAssetGroupForm,
|
|
389
|
+
) -> api.AssetGroup:
|
|
390
|
+
u = "/%s/-/issues/asset-groups" % (repo, )
|
|
391
|
+
|
|
392
|
+
data = self._client.request(
|
|
393
|
+
method="POST",
|
|
394
|
+
endpoint=u,
|
|
395
|
+
json=body_params.to_dict(),
|
|
396
|
+
)
|
|
397
|
+
return api.AssetGroup.safe_parse(data)
|
|
398
|
+
|
|
309
399
|
# 添加处理人到指定的 issue。 Adds up to assignees to a issue, Users already assigned to an issue are not replaced.
|
|
310
400
|
def post_issue_assignees(self,
|
|
311
401
|
repo: str,
|
|
@@ -337,7 +427,7 @@ class IssuesService:
|
|
|
337
427
|
return api.IssueComment.safe_parse(data)
|
|
338
428
|
|
|
339
429
|
# 创建一个 Issue 评论的文件上传 url。请使用 put 发起流式上传到 upload_url 地址。上传完成后将 asset_link 添加到创建评论请求的 body 中。 Create a file upload URL for an Issue comment. Please use put to initiate a stream upload to the upload_url address. After uploading, add the asset_link to the body of the create comment request.
|
|
340
|
-
def
|
|
430
|
+
def post_issue_comment_file_asset_upload_url(self,
|
|
341
431
|
repo: str,
|
|
342
432
|
number: str,
|
|
343
433
|
body_params: api.PostIssueAssetUploadURLForm,
|
|
@@ -352,7 +442,7 @@ class IssuesService:
|
|
|
352
442
|
return api.IssueAssetUploadURL.safe_parse(data)
|
|
353
443
|
|
|
354
444
|
# 创建一个 Issue 评论的图片上传 url。请使用 put 发起流式上传到 upload_url 地址。上传完成后将 asset_link 添加到创建评论请求的 body 中。Create an image upload URL for an Issue comment. Please use put to initiate a stream upload to the upload_url address. After uploading, add the asset_link to the body of the create comment request.
|
|
355
|
-
def
|
|
445
|
+
def post_issue_comment_image_asset_upload_url(self,
|
|
356
446
|
repo: str,
|
|
357
447
|
number: str,
|
|
358
448
|
body_params: api.PostIssueAssetUploadURLForm,
|
|
@@ -366,6 +456,36 @@ class IssuesService:
|
|
|
366
456
|
)
|
|
367
457
|
return api.IssueAssetUploadURL.safe_parse(data)
|
|
368
458
|
|
|
459
|
+
# 新增一个 Issue 文件附件的上传 url 用于上传新建 Issue 的文件附件。
|
|
460
|
+
def post_issue_file_asset_upload_url(self,
|
|
461
|
+
repo: str,
|
|
462
|
+
asset_group_id: str,
|
|
463
|
+
body_params: api.PostIssueAssetUploadURLForm,
|
|
464
|
+
) -> api.IssueAssetUploadURL:
|
|
465
|
+
u = "/%s/-/issues/asset-groups/%s/file-asset-upload-url" % (repo, asset_group_id, )
|
|
466
|
+
|
|
467
|
+
data = self._client.request(
|
|
468
|
+
method="POST",
|
|
469
|
+
endpoint=u,
|
|
470
|
+
json=body_params.to_dict(),
|
|
471
|
+
)
|
|
472
|
+
return api.IssueAssetUploadURL.safe_parse(data)
|
|
473
|
+
|
|
474
|
+
# 新增一个 Issue 图片的上传 url 用于上传新建 Issue 的图片。
|
|
475
|
+
def post_issue_image_asset_upload_url(self,
|
|
476
|
+
repo: str,
|
|
477
|
+
asset_group_id: str,
|
|
478
|
+
body_params: api.PostIssueAssetUploadURLForm,
|
|
479
|
+
) -> api.IssueAssetUploadURL:
|
|
480
|
+
u = "/%s/-/issues/asset-groups/%s/image-asset-upload-url" % (repo, asset_group_id, )
|
|
481
|
+
|
|
482
|
+
data = self._client.request(
|
|
483
|
+
method="POST",
|
|
484
|
+
endpoint=u,
|
|
485
|
+
json=body_params.to_dict(),
|
|
486
|
+
)
|
|
487
|
+
return api.IssueAssetUploadURL.safe_parse(data)
|
|
488
|
+
|
|
369
489
|
# 新增 issue 标签。Add labels to an issue.
|
|
370
490
|
def post_issue_labels(self,
|
|
371
491
|
repo: str,
|
|
@@ -43,7 +43,7 @@ class KnowledgebaseService:
|
|
|
43
43
|
)
|
|
44
44
|
return [dto.EmbeddingModel.safe_parse(item) for item in data]
|
|
45
45
|
|
|
46
|
-
#
|
|
46
|
+
# 查询知识库 [POST 接口已废弃,请使用 GET 替代]
|
|
47
47
|
def query_knowledge_base(self,
|
|
48
48
|
repo: str,
|
|
49
49
|
body_params: dto.QueryKnowledgeBaseReq,
|
|
@@ -57,12 +57,35 @@ class KnowledgebaseService:
|
|
|
57
57
|
)
|
|
58
58
|
return [dto.QueryKnowledgeBaseRes.safe_parse(item) for item in data]
|
|
59
59
|
|
|
60
|
+
# 查询知识库,使用文档:https://docs.cnb.cool/zh/ai/knowledge-base.html
|
|
61
|
+
def query_knowledge_base_get(self,
|
|
62
|
+
repo: str,
|
|
63
|
+
query: Optional[str] = None,
|
|
64
|
+
top_k: Optional[int] = None,
|
|
65
|
+
score_threshold: Optional[float] = None,
|
|
66
|
+
metadata_filtering_conditions: Optional[str] = None,
|
|
67
|
+
) -> list[dto.QueryKnowledgeBaseRes]:
|
|
68
|
+
u = "/%s/-/knowledge/base/query" % (repo, )
|
|
69
|
+
|
|
70
|
+
query_params = {
|
|
71
|
+
"query": query,
|
|
72
|
+
"top_k": top_k,
|
|
73
|
+
"score_threshold": score_threshold,
|
|
74
|
+
"metadata_filtering_conditions": metadata_filtering_conditions,
|
|
75
|
+
}
|
|
76
|
+
data = self._client.request(
|
|
77
|
+
method="GET",
|
|
78
|
+
endpoint=u,
|
|
79
|
+
params=query_params,
|
|
80
|
+
)
|
|
81
|
+
return [dto.QueryKnowledgeBaseRes.safe_parse(item) for item in data]
|
|
82
|
+
|
|
60
83
|
# 全局语义搜索 NPC 角色
|
|
61
84
|
def search_npc(self,
|
|
62
85
|
key: Optional[str] = None,
|
|
63
86
|
top_n: Optional[int] = None,
|
|
64
87
|
) -> list[dto.SearchNpcRes]:
|
|
65
|
-
u = "/npc
|
|
88
|
+
u = "/search/npc" % ()
|
|
66
89
|
|
|
67
90
|
query_params = {
|
|
68
91
|
"key": key,
|
|
@@ -133,21 +133,4 @@ class MissionsService:
|
|
|
133
133
|
)
|
|
134
134
|
return
|
|
135
135
|
|
|
136
|
-
# 改变任务集可见性。Update the visibility of a mission.
|
|
137
|
-
def set_mission_visibility(self,
|
|
138
|
-
mission: str,
|
|
139
|
-
visibility: Optional[str] = None,
|
|
140
|
-
):
|
|
141
|
-
u = "/%s/-/settings/set_visibility" % (mission, )
|
|
142
|
-
|
|
143
|
-
query_params = {
|
|
144
|
-
"visibility": visibility,
|
|
145
|
-
}
|
|
146
|
-
data = self._client.request(
|
|
147
|
-
method="POST",
|
|
148
|
-
endpoint=u,
|
|
149
|
-
params=query_params,
|
|
150
|
-
)
|
|
151
|
-
return
|
|
152
|
-
|
|
153
136
|
|
|
@@ -7,6 +7,11 @@ from typing import Optional, Dict
|
|
|
7
7
|
from .models import CNBBaseModel
|
|
8
8
|
from . import git_woa_com_cnb_monorepo_git_internal_app_git_service_bff_api
|
|
9
9
|
from . import git_woa_com_cnb_monorepo_git_internal_app_vcs_service_bff_api
|
|
10
|
+
class AssetGroup(CNBBaseModel):
|
|
11
|
+
asset_group_id: Optional[str] = Field(alias="asset_group_id", default=None)
|
|
12
|
+
file_upload_urls: Optional[list['IssueAssetUploadURL']] = Field(alias="file_upload_urls", default=None)
|
|
13
|
+
image_upload_urls: Optional[list['IssueAssetUploadURL']] = Field(alias="image_upload_urls", default=None)
|
|
14
|
+
pass
|
|
10
15
|
class Author(CNBBaseModel):
|
|
11
16
|
email: Optional[str] = Field(alias="email", default=None)
|
|
12
17
|
user_name: Optional[str] = Field(alias="user_name", default=None)
|
|
@@ -178,6 +183,9 @@ class DeleteIssueAssigneesForm(CNBBaseModel):
|
|
|
178
183
|
class DeletePullAssigneesForm(CNBBaseModel):
|
|
179
184
|
assignees: Optional[list[str]] = Field(alias="assignees", default=None)
|
|
180
185
|
pass
|
|
186
|
+
class DeletePullReviewersForm(CNBBaseModel):
|
|
187
|
+
reviewers: Optional[list[str]] = Field(alias="reviewers", default=None)
|
|
188
|
+
pass
|
|
181
189
|
class DiffLine(CNBBaseModel):
|
|
182
190
|
content: Optional[str] = Field(alias="content", default=None)
|
|
183
191
|
left_line_number: Optional[int] = Field(alias="left_line_number", default=None)
|
|
@@ -234,6 +242,7 @@ class IssueActivity(CNBBaseModel):
|
|
|
234
242
|
pass
|
|
235
243
|
class IssueAssetUploadURL(CNBBaseModel):
|
|
236
244
|
asset_link: Optional[str] = Field(alias="asset_link", default=None)
|
|
245
|
+
name: Optional[str] = Field(alias="name", default=None)
|
|
237
246
|
path: Optional[str] = Field(alias="path", default=None)
|
|
238
247
|
upload_url: Optional[str] = Field(alias="upload_url", default=None)
|
|
239
248
|
pass
|
|
@@ -257,12 +266,19 @@ class IssueDetail(CNBBaseModel):
|
|
|
257
266
|
last_acted_at: Optional[str] = Field(alias="last_acted_at", default=None)
|
|
258
267
|
number: Optional[str] = Field(alias="number", default=None)
|
|
259
268
|
priority: Optional[str] = Field(alias="priority", default=None)
|
|
269
|
+
properties: Optional[list['IssueProperty']] = Field(alias="properties", default=None)
|
|
260
270
|
started_at: Optional[str] = Field(alias="started_at", default=None)
|
|
261
271
|
state: Optional[str] = Field(alias="state", default=None)
|
|
262
272
|
state_reason: Optional[str] = Field(alias="state_reason", default=None)
|
|
263
273
|
title: Optional[str] = Field(alias="title", default=None)
|
|
264
274
|
updated_at: Optional[str] = Field(alias="updated_at", default=None)
|
|
265
275
|
pass
|
|
276
|
+
class IssueProperty(CNBBaseModel):
|
|
277
|
+
key: Optional[str] = Field(alias="key", default=None)
|
|
278
|
+
name: Optional[str] = Field(alias="name", default=None)
|
|
279
|
+
type: Optional[str] = Field(alias="type", default=None)
|
|
280
|
+
value: Optional[str] = Field(alias="value", default=None)
|
|
281
|
+
pass
|
|
266
282
|
class IssuePropertyUpdateResult(CNBBaseModel):
|
|
267
283
|
failed_count: Optional[int] = Field(alias="failed_count", default=None)
|
|
268
284
|
failed_keys: Optional[list[str]] = Field(alias="failed_keys", default=None)
|
|
@@ -327,8 +343,13 @@ class PatchPullRequest(CNBBaseModel):
|
|
|
327
343
|
pass
|
|
328
344
|
class PipelineSettings(CNBBaseModel):
|
|
329
345
|
auto_trigger: Optional[bool] = Field(alias="auto_trigger", default=None)
|
|
346
|
+
cron_auto_trigger: Optional[bool] = Field(alias="cron_auto_trigger", default=None)
|
|
330
347
|
forked_repo_auto_trigger: Optional[bool] = Field(alias="forked_repo_auto_trigger", default=None)
|
|
331
348
|
pass
|
|
349
|
+
class PostAssetGroupForm(CNBBaseModel):
|
|
350
|
+
file_assets: Optional[list['PostIssueAssetUploadURLForm']] = Field(alias="file_assets", default=None)
|
|
351
|
+
image_assets: Optional[list['PostIssueAssetUploadURLForm']] = Field(alias="image_assets", default=None)
|
|
352
|
+
pass
|
|
332
353
|
class PostBlobForm(CNBBaseModel):
|
|
333
354
|
content: Optional[str] = Field(alias="content", default=None)
|
|
334
355
|
encoding: Optional[str] = Field(alias="encoding", default=None)
|
|
@@ -374,6 +395,9 @@ class PostPullRequestReviewReplyForm(CNBBaseModel):
|
|
|
374
395
|
body: Optional[str] = Field(alias="body", default=None)
|
|
375
396
|
reply_to_comment_id: Optional[str] = Field(alias="reply_to_comment_id", default=None)
|
|
376
397
|
pass
|
|
398
|
+
class PostPullReviewersForm(CNBBaseModel):
|
|
399
|
+
reviewers: Optional[list[str]] = Field(alias="reviewers", default=None)
|
|
400
|
+
pass
|
|
377
401
|
class PostTagFrom(CNBBaseModel):
|
|
378
402
|
message: Optional[str] = Field(alias="message", default=None)
|
|
379
403
|
name: Optional[str] = Field(alias="name", default=None)
|
|
@@ -588,6 +612,12 @@ class RepoInfo(CNBBaseModel):
|
|
|
588
612
|
path: Optional[str] = Field(alias="path", default=None)
|
|
589
613
|
web_url: Optional[str] = Field(alias="web_url", default=None)
|
|
590
614
|
pass
|
|
615
|
+
class RepoProperty(CNBBaseModel):
|
|
616
|
+
key: Optional[str] = Field(alias="key", default=None)
|
|
617
|
+
name: Optional[str] = Field(alias="name", default=None)
|
|
618
|
+
type: Optional[str] = Field(alias="type", default=None)
|
|
619
|
+
visible: Optional[bool] = Field(alias="visible", default=None)
|
|
620
|
+
pass
|
|
591
621
|
class Signature(CNBBaseModel):
|
|
592
622
|
date: Optional[str] = Field(alias="date", default=None)
|
|
593
623
|
email: Optional[str] = Field(alias="email", default=None)
|
|
@@ -113,10 +113,16 @@ class BuildCommonResult(CNBBaseModel):
|
|
|
113
113
|
pass
|
|
114
114
|
class BuildLogsResult(CNBBaseModel):
|
|
115
115
|
data: Optional[list['LogInfo']] = Field(alias="data", default=None)
|
|
116
|
-
init: Optional[bool] = Field(alias="init", default=None)
|
|
117
116
|
timestamp: Optional[int] = Field(alias="timestamp", default=None)
|
|
118
117
|
total: Optional[int] = Field(alias="total", default=None)
|
|
119
118
|
pass
|
|
119
|
+
class BuildPipelineInfo(CNBBaseModel):
|
|
120
|
+
createTime: Optional[str] = Field(alias="createTime", default=None)
|
|
121
|
+
duration: Optional[int] = Field(alias="duration", default=None)
|
|
122
|
+
id: Optional[str] = Field(alias="id", default=None)
|
|
123
|
+
labels: Optional[str] = Field(alias="labels", default=None)
|
|
124
|
+
status: Optional[str] = Field(alias="status", default=None)
|
|
125
|
+
pass
|
|
120
126
|
class BuildResult(CNBBaseModel):
|
|
121
127
|
buildLogUrl: Optional[str] = Field(alias="buildLogUrl", default=None)
|
|
122
128
|
message: Optional[str] = Field(alias="message", default=None)
|
|
@@ -195,6 +201,9 @@ class CodeLicenseOverview(CNBBaseModel):
|
|
|
195
201
|
medium_risk_cnt: Optional[int] = Field(alias="medium_risk_cnt", default=None)
|
|
196
202
|
na_risk_cnt: Optional[int] = Field(alias="na_risk_cnt", default=None)
|
|
197
203
|
pass
|
|
204
|
+
class CodeSbomOverview(CNBBaseModel):
|
|
205
|
+
enable: Optional[bool] = Field(alias="enable", default=None)
|
|
206
|
+
pass
|
|
198
207
|
class CodeSensitiveSummary(CNBBaseModel):
|
|
199
208
|
enable: Optional[bool] = Field(alias="enable", default=None)
|
|
200
209
|
high_count: Optional[int] = Field(alias="high_count", default=None)
|
|
@@ -401,7 +410,6 @@ class CreateMissionReq(CNBBaseModel):
|
|
|
401
410
|
pass
|
|
402
411
|
class CreateRepoReq(CNBBaseModel):
|
|
403
412
|
description: Optional[str] = Field(alias="description", default=None)
|
|
404
|
-
license: Optional[str] = Field(alias="license", default=None)
|
|
405
413
|
name: Optional[str] = Field(alias="name", default=None)
|
|
406
414
|
visibility: Optional[str] = Field(alias="visibility", default=None)
|
|
407
415
|
pass
|
|
@@ -507,6 +515,10 @@ class GetBadgeResult(CNBBaseModel):
|
|
|
507
515
|
links: Optional[list[str]] = Field(alias="links", default=None)
|
|
508
516
|
message: Optional[str] = Field(alias="message", default=None)
|
|
509
517
|
pass
|
|
518
|
+
class GetRankResult(CNBBaseModel):
|
|
519
|
+
rank_list: Optional[list['RankDetailWithIncr']] = Field(alias="rank_list", default=None)
|
|
520
|
+
updated_at: Optional[str] = Field(alias="updated_at", default=None)
|
|
521
|
+
pass
|
|
510
522
|
class GroupSettingReq(CNBBaseModel):
|
|
511
523
|
email_verification: Optional[list[str]] = Field(alias="email_verification", default=None)
|
|
512
524
|
group_protection: Optional[int] = Field(alias="group_protection", default=None)
|
|
@@ -600,6 +612,7 @@ class LogInfo(CNBBaseModel):
|
|
|
600
612
|
pipelineFailCount: Optional[int] = Field(alias="pipelineFailCount", default=None)
|
|
601
613
|
pipelineSuccessCount: Optional[int] = Field(alias="pipelineSuccessCount", default=None)
|
|
602
614
|
pipelineTotalCount: Optional[int] = Field(alias="pipelineTotalCount", default=None)
|
|
615
|
+
pipelines: Optional[list['BuildPipelineInfo']] = Field(alias="pipelines", default=None)
|
|
603
616
|
sha: Optional[str] = Field(alias="sha", default=None)
|
|
604
617
|
slug: Optional[str] = Field(alias="slug", default=None)
|
|
605
618
|
sn: Optional[str] = Field(alias="sn", default=None)
|
|
@@ -800,6 +813,7 @@ class OutsideCollaboratorInRepo(CNBBaseModel):
|
|
|
800
813
|
email: Optional[str] = Field(alias="email", default=None)
|
|
801
814
|
freeze: Optional[bool] = Field(alias="freeze", default=None)
|
|
802
815
|
id: Optional[str] = Field(alias="id", default=None)
|
|
816
|
+
inviter: Optional['Users'] = Field(alias="inviter", default=None)
|
|
803
817
|
join_time: Optional[str] = Field(alias="join_time", default=None)
|
|
804
818
|
locked: Optional[bool] = Field(alias="locked", default=None)
|
|
805
819
|
nickname: Optional[str] = Field(alias="nickname", default=None)
|
|
@@ -936,6 +950,10 @@ class QueryKnowledgeBaseRes(CNBBaseModel):
|
|
|
936
950
|
metadata: Optional[Dict[str, 'object']] = Field(alias="metadata", default=None)
|
|
937
951
|
score: Optional[float] = Field(alias="score", default=None)
|
|
938
952
|
pass
|
|
953
|
+
class QuotaItem(CNBBaseModel):
|
|
954
|
+
free: Optional[int] = Field(alias="free", default=None)
|
|
955
|
+
total: Optional[int] = Field(alias="total", default=None)
|
|
956
|
+
pass
|
|
939
957
|
class RankDetailWithIncr(CNBBaseModel):
|
|
940
958
|
created_at: Optional[str] = Field(alias="created_at", default=None)
|
|
941
959
|
description: Optional[str] = Field(alias="description", default=None)
|
|
@@ -1013,6 +1031,7 @@ class RepoPatch(CNBBaseModel):
|
|
|
1013
1031
|
class RepoSecurityOverview(CNBBaseModel):
|
|
1014
1032
|
code_issue: Optional['CodeIssueSummary'] = Field(alias="code_issue", default=None)
|
|
1015
1033
|
code_license: Optional['CodeLicenseOverview'] = Field(alias="code_license", default=None)
|
|
1034
|
+
code_sbom: Optional['CodeSbomOverview'] = Field(alias="code_sbom", default=None)
|
|
1016
1035
|
code_sensitive: Optional['CodeSensitiveSummary'] = Field(alias="code_sensitive", default=None)
|
|
1017
1036
|
code_vulnerability: Optional['CodeVulOverview'] = Field(alias="code_vulnerability", default=None)
|
|
1018
1037
|
risk_cnt: Optional['RepoSecurityRiskCnt'] = Field(alias="risk_cnt", default=None)
|
|
@@ -1022,6 +1041,7 @@ class RepoSecurityRiskCnt(CNBBaseModel):
|
|
|
1022
1041
|
code_issue_risk_cnt: Optional[int] = Field(alias="code_issue_risk_cnt", default=None)
|
|
1023
1042
|
code_license_enable: Optional[bool] = Field(alias="code_license_enable", default=None)
|
|
1024
1043
|
code_license_risk_cnt: Optional[int] = Field(alias="code_license_risk_cnt", default=None)
|
|
1044
|
+
code_sbom_enable: Optional[bool] = Field(alias="code_sbom_enable", default=None)
|
|
1025
1045
|
code_sensitive_enable: Optional[bool] = Field(alias="code_sensitive_enable", default=None)
|
|
1026
1046
|
code_sensitive_risk_cnt: Optional[int] = Field(alias="code_sensitive_risk_cnt", default=None)
|
|
1027
1047
|
code_vulnerability_enable: Optional[bool] = Field(alias="code_vulnerability_enable", default=None)
|
|
@@ -1034,6 +1054,13 @@ class RepoStarUsers(CNBBaseModel):
|
|
|
1034
1054
|
total: Optional[int] = Field(alias="total", default=None)
|
|
1035
1055
|
users: Optional[list['StarUser']] = Field(alias="users", default=None)
|
|
1036
1056
|
pass
|
|
1057
|
+
class RepoVolume(CNBBaseModel):
|
|
1058
|
+
is_deleted: Optional[bool] = Field(alias="is_deleted", default=None)
|
|
1059
|
+
resource_id: Optional[str] = Field(alias="resource_id", default=None)
|
|
1060
|
+
resource_type: Optional['constant.SlugType'] = Field(alias="resource_type", default=None)
|
|
1061
|
+
slug: Optional[str] = Field(alias="slug", default=None)
|
|
1062
|
+
volume: Optional[str] = Field(alias="volume", default=None)
|
|
1063
|
+
pass
|
|
1037
1064
|
class Repos4User(CNBBaseModel):
|
|
1038
1065
|
access: Optional['constant.AccessRole'] = Field(alias="access", default=None)
|
|
1039
1066
|
created_at: Optional[str] = Field(alias="created_at", default=None)
|
|
@@ -1107,10 +1134,13 @@ class Repos4UserBase(CNBBaseModel):
|
|
|
1107
1134
|
pass
|
|
1108
1135
|
class SearchNpcRes(CNBBaseModel):
|
|
1109
1136
|
avatar: Optional[str] = Field(alias="avatar", default=None)
|
|
1137
|
+
built_count: Optional[int] = Field(alias="built_count", default=None)
|
|
1110
1138
|
name: Optional[str] = Field(alias="name", default=None)
|
|
1111
|
-
|
|
1139
|
+
pull_request_created_count: Optional[int] = Field(alias="pull_request_created_count", default=None)
|
|
1140
|
+
pull_request_merged_count: Optional[int] = Field(alias="pull_request_merged_count", default=None)
|
|
1112
1141
|
score: Optional[float] = Field(alias="score", default=None)
|
|
1113
1142
|
slogan: Optional[str] = Field(alias="slogan", default=None)
|
|
1143
|
+
slug: Optional[str] = Field(alias="slug", default=None)
|
|
1114
1144
|
pass
|
|
1115
1145
|
class Slugs(CNBBaseModel):
|
|
1116
1146
|
created_at: Optional[str] = Field(alias="created_at", default=None)
|
|
@@ -1174,6 +1204,7 @@ class StartBuildReq(CNBBaseModel):
|
|
|
1174
1204
|
sha: Optional[str] = Field(alias="sha", default=None)
|
|
1175
1205
|
sync: Optional[str] = Field(alias="sync", default=None)
|
|
1176
1206
|
tag: Optional[str] = Field(alias="tag", default=None)
|
|
1207
|
+
title: Optional[str] = Field(alias="title", default=None)
|
|
1177
1208
|
pass
|
|
1178
1209
|
class StartWorkspaceReq(CNBBaseModel):
|
|
1179
1210
|
branch: Optional[str] = Field(alias="branch", default=None)
|
|
@@ -1217,6 +1248,9 @@ class UpdateMembersRequest(CNBBaseModel):
|
|
|
1217
1248
|
access_level: Optional[str] = Field(alias="access_level", default=None)
|
|
1218
1249
|
is_outside_collaborator: Optional[bool] = Field(alias="is_outside_collaborator", default=None)
|
|
1219
1250
|
pass
|
|
1251
|
+
class UpdatePackageRequest(CNBBaseModel):
|
|
1252
|
+
description: Optional[str] = Field(alias="description", default=None)
|
|
1253
|
+
pass
|
|
1220
1254
|
class UpdateUserInfoPayload(CNBBaseModel):
|
|
1221
1255
|
address: Optional[str] = Field(alias="address", default=None)
|
|
1222
1256
|
bio: Optional[str] = Field(alias="bio", default=None)
|
|
@@ -1296,6 +1330,7 @@ class UsersResult(CNBBaseModel):
|
|
|
1296
1330
|
gender: Optional[int] = Field(alias="gender", default=None)
|
|
1297
1331
|
group_count: Optional[int] = Field(alias="group_count", default=None)
|
|
1298
1332
|
id: Optional[str] = Field(alias="id", default=None)
|
|
1333
|
+
identity_providers: Optional[Dict[str, 'object']] = Field(alias="identity_providers", default=None)
|
|
1299
1334
|
is_following: Optional[bool] = Field(alias="is_following", default=None)
|
|
1300
1335
|
location: Optional[str] = Field(alias="location", default=None)
|
|
1301
1336
|
locked: Optional[bool] = Field(alias="locked", default=None)
|
|
@@ -1336,6 +1371,24 @@ class UsersWithAccessLevelInSlug(CNBBaseModel):
|
|
|
1336
1371
|
verified: Optional[int] = Field(alias="verified", default=None)
|
|
1337
1372
|
verified_expire_in: Optional[str] = Field(alias="verified_expire_in", default=None)
|
|
1338
1373
|
pass
|
|
1374
|
+
class VolumeQuotaResp(CNBBaseModel):
|
|
1375
|
+
ci_gpu_in_sec: Optional['QuotaItem'] = Field(alias="ci_gpu_in_sec", default=None)
|
|
1376
|
+
ci_in_sec: Optional['QuotaItem'] = Field(alias="ci_in_sec", default=None)
|
|
1377
|
+
credit_in_milli: Optional['QuotaItem'] = Field(alias="credit_in_milli", default=None)
|
|
1378
|
+
dev_gpu_in_sec: Optional['QuotaItem'] = Field(alias="dev_gpu_in_sec", default=None)
|
|
1379
|
+
dev_in_sec: Optional['QuotaItem'] = Field(alias="dev_in_sec", default=None)
|
|
1380
|
+
git_in_byte: Optional['QuotaItem'] = Field(alias="git_in_byte", default=None)
|
|
1381
|
+
object_in_byte: Optional['QuotaItem'] = Field(alias="object_in_byte", default=None)
|
|
1382
|
+
pass
|
|
1383
|
+
class VolumeUsedResp(CNBBaseModel):
|
|
1384
|
+
ci_gpu_in_sec: Optional[int] = Field(alias="ci_gpu_in_sec", default=None)
|
|
1385
|
+
ci_in_sec: Optional[int] = Field(alias="ci_in_sec", default=None)
|
|
1386
|
+
credit_in_milli: Optional[int] = Field(alias="credit_in_milli", default=None)
|
|
1387
|
+
dev_gpu_in_sec: Optional[int] = Field(alias="dev_gpu_in_sec", default=None)
|
|
1388
|
+
dev_in_sec: Optional[int] = Field(alias="dev_in_sec", default=None)
|
|
1389
|
+
git_in_byte: Optional[int] = Field(alias="git_in_byte", default=None)
|
|
1390
|
+
object_in_byte: Optional[int] = Field(alias="object_in_byte", default=None)
|
|
1391
|
+
pass
|
|
1339
1392
|
class WorkspaceDeleteReq(CNBBaseModel):
|
|
1340
1393
|
pipelineId: Optional[str] = Field(alias="pipelineId", default=None)
|
|
1341
1394
|
sn: Optional[str] = Field(alias="sn", default=None)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Code generated by cnb.cool/cnb/sdk/cnb-sdk-generator. DO NOT EDIT.
|
|
2
|
+
# source: https://api.cnb-dev.woa.com/swagger.json
|
|
3
|
+
|
|
4
|
+
from pydantic import Field
|
|
5
|
+
from enum import Enum
|
|
6
|
+
from typing import Optional, Dict
|
|
7
|
+
from .models import CNBBaseModel
|
|
8
|
+
class WebError(CNBBaseModel):
|
|
9
|
+
errcode: Optional[int] = Field(alias="errcode", default=None)
|
|
10
|
+
errmsg: Optional[str] = Field(alias="errmsg", default=None)
|
|
11
|
+
pass
|
|
@@ -64,6 +64,21 @@ class PullsService:
|
|
|
64
64
|
)
|
|
65
65
|
return
|
|
66
66
|
|
|
67
|
+
# 删除合并请求中的评审人。Removes one or more reviewers from a pull request.
|
|
68
|
+
def delete_pull_reviewers(self,
|
|
69
|
+
repo: str,
|
|
70
|
+
number: str,
|
|
71
|
+
body_params: api.DeletePullReviewersForm,
|
|
72
|
+
) -> api.Pull:
|
|
73
|
+
u = "/%s/-/pulls/%s/reviewers" % (repo, number, )
|
|
74
|
+
|
|
75
|
+
data = self._client.request(
|
|
76
|
+
method="DELETE",
|
|
77
|
+
endpoint=u,
|
|
78
|
+
json=body_params.to_dict(),
|
|
79
|
+
)
|
|
80
|
+
return api.Pull.safe_parse(data)
|
|
81
|
+
|
|
67
82
|
# 删除 UploadFiles 上传的附件
|
|
68
83
|
def delete_repo_files(self,
|
|
69
84
|
repo: str,
|
|
@@ -90,6 +105,32 @@ class PullsService:
|
|
|
90
105
|
)
|
|
91
106
|
return
|
|
92
107
|
|
|
108
|
+
# 获取合并请求文件,返回文件二进制内容。Request to retrieve file of pull requests, returns binary content.
|
|
109
|
+
def get_pr_files(self,
|
|
110
|
+
repo: str,
|
|
111
|
+
file_path: str,
|
|
112
|
+
):
|
|
113
|
+
u = "/%s/-/files/pulls/%s" % (repo, file_path, )
|
|
114
|
+
|
|
115
|
+
data = self._client.request(
|
|
116
|
+
method="GET",
|
|
117
|
+
endpoint=u,
|
|
118
|
+
)
|
|
119
|
+
return
|
|
120
|
+
|
|
121
|
+
# 获取合并请求图片,返回图片二进制内容。Request to retrieve image of pull requests, returns binary content.
|
|
122
|
+
def get_pr_imgs(self,
|
|
123
|
+
repo: str,
|
|
124
|
+
img_path: str,
|
|
125
|
+
):
|
|
126
|
+
u = "/%s/-/imgs/pulls/%s" % (repo, img_path, )
|
|
127
|
+
|
|
128
|
+
data = self._client.request(
|
|
129
|
+
method="GET",
|
|
130
|
+
endpoint=u,
|
|
131
|
+
)
|
|
132
|
+
return
|
|
133
|
+
|
|
93
134
|
# 查询指定合并请求。Get a pull request.
|
|
94
135
|
def get_pull(self,
|
|
95
136
|
repo: str,
|
|
@@ -453,6 +494,21 @@ class PullsService:
|
|
|
453
494
|
)
|
|
454
495
|
return
|
|
455
496
|
|
|
497
|
+
# 添加评审人到指定的合并请求。Adds up to reviewers to a pull request. Users already added as reviewers are not replaced.
|
|
498
|
+
def post_pull_reviewers(self,
|
|
499
|
+
repo: str,
|
|
500
|
+
number: str,
|
|
501
|
+
body_params: api.PostPullReviewersForm,
|
|
502
|
+
) -> api.Pull:
|
|
503
|
+
u = "/%s/-/pulls/%s/reviewers" % (repo, number, )
|
|
504
|
+
|
|
505
|
+
data = self._client.request(
|
|
506
|
+
method="POST",
|
|
507
|
+
endpoint=u,
|
|
508
|
+
json=body_params.to_dict(),
|
|
509
|
+
)
|
|
510
|
+
return api.Pull.safe_parse(data)
|
|
511
|
+
|
|
456
512
|
# 设置合并请求标签。Set the new labels for a pull.
|
|
457
513
|
def put_pull_labels(self,
|
|
458
514
|
repo: str,
|
|
@@ -31,7 +31,7 @@ class RankService:
|
|
|
31
31
|
flags: Optional[str] = None,
|
|
32
32
|
year: Optional[str] = None,
|
|
33
33
|
topN: Optional[int] = None,
|
|
34
|
-
) ->
|
|
34
|
+
) -> dto.GetRankResult:
|
|
35
35
|
u = "/ranks/repo/annual" % ()
|
|
36
36
|
|
|
37
37
|
query_params = {
|
|
@@ -45,7 +45,7 @@ class RankService:
|
|
|
45
45
|
endpoint=u,
|
|
46
46
|
params=query_params,
|
|
47
47
|
)
|
|
48
|
-
return
|
|
48
|
+
return dto.GetRankResult.safe_parse(data)
|
|
49
49
|
|
|
50
50
|
# 获取公仓日榜
|
|
51
51
|
def get_repo_daily_rank(self,
|
|
@@ -53,7 +53,7 @@ class RankService:
|
|
|
53
53
|
flags: Optional[str] = None,
|
|
54
54
|
date: Optional[str] = None,
|
|
55
55
|
topN: Optional[int] = None,
|
|
56
|
-
) ->
|
|
56
|
+
) -> dto.GetRankResult:
|
|
57
57
|
u = "/ranks/repo/daily" % ()
|
|
58
58
|
|
|
59
59
|
query_params = {
|
|
@@ -67,7 +67,7 @@ class RankService:
|
|
|
67
67
|
endpoint=u,
|
|
68
68
|
params=query_params,
|
|
69
69
|
)
|
|
70
|
-
return
|
|
70
|
+
return dto.GetRankResult.safe_parse(data)
|
|
71
71
|
|
|
72
72
|
# 获取公仓月榜
|
|
73
73
|
def get_repo_monthly_rank(self,
|
|
@@ -75,7 +75,7 @@ class RankService:
|
|
|
75
75
|
flags: Optional[str] = None,
|
|
76
76
|
month: Optional[str] = None,
|
|
77
77
|
topN: Optional[int] = None,
|
|
78
|
-
) ->
|
|
78
|
+
) -> dto.GetRankResult:
|
|
79
79
|
u = "/ranks/repo/monthly" % ()
|
|
80
80
|
|
|
81
81
|
query_params = {
|
|
@@ -89,7 +89,7 @@ class RankService:
|
|
|
89
89
|
endpoint=u,
|
|
90
90
|
params=query_params,
|
|
91
91
|
)
|
|
92
|
-
return
|
|
92
|
+
return dto.GetRankResult.safe_parse(data)
|
|
93
93
|
|
|
94
94
|
# 获取公仓周榜
|
|
95
95
|
def get_repo_weekly_rank(self,
|
|
@@ -97,7 +97,7 @@ class RankService:
|
|
|
97
97
|
flags: Optional[str] = None,
|
|
98
98
|
start: Optional[str] = None,
|
|
99
99
|
topN: Optional[int] = None,
|
|
100
|
-
) ->
|
|
100
|
+
) -> dto.GetRankResult:
|
|
101
101
|
u = "/ranks/repo/weekly" % ()
|
|
102
102
|
|
|
103
103
|
query_params = {
|
|
@@ -111,6 +111,6 @@ class RankService:
|
|
|
111
111
|
endpoint=u,
|
|
112
112
|
params=query_params,
|
|
113
113
|
)
|
|
114
|
-
return
|
|
114
|
+
return dto.GetRankResult.safe_parse(data)
|
|
115
115
|
|
|
116
116
|
|
|
@@ -181,20 +181,19 @@ class RegistriesService:
|
|
|
181
181
|
)
|
|
182
182
|
return [dto.Package.safe_parse(item) for item in data]
|
|
183
183
|
|
|
184
|
-
#
|
|
185
|
-
def
|
|
186
|
-
|
|
187
|
-
|
|
184
|
+
# 更新制品描述。Update the description of the specific package.
|
|
185
|
+
def update_package_description(self,
|
|
186
|
+
slug: str,
|
|
187
|
+
t: str,
|
|
188
|
+
name: str,
|
|
189
|
+
body_params: dto.UpdatePackageRequest,
|
|
188
190
|
):
|
|
189
|
-
u = "/%s/-/
|
|
191
|
+
u = "/%s/-/packages/%s/%s/-/description" % (slug, t, name, )
|
|
190
192
|
|
|
191
|
-
query_params = {
|
|
192
|
-
"visibility": visibility,
|
|
193
|
-
}
|
|
194
193
|
data = self._client.request(
|
|
195
|
-
method="
|
|
194
|
+
method="PUT",
|
|
196
195
|
endpoint=u,
|
|
197
|
-
|
|
196
|
+
json=body_params.to_dict(),
|
|
198
197
|
)
|
|
199
198
|
return
|
|
200
199
|
|
|
@@ -220,23 +220,6 @@ class RepositoriesService:
|
|
|
220
220
|
)
|
|
221
221
|
return [dto.Repos4UserBase.safe_parse(item) for item in data]
|
|
222
222
|
|
|
223
|
-
# 改变仓库可见性。Update visibility of repository.
|
|
224
|
-
def set_repo_visibility(self,
|
|
225
|
-
repo: str,
|
|
226
|
-
visibility: Optional[str] = None,
|
|
227
|
-
):
|
|
228
|
-
u = "/%s/-/settings/set_visibility" % (repo, )
|
|
229
|
-
|
|
230
|
-
query_params = {
|
|
231
|
-
"visibility": visibility,
|
|
232
|
-
}
|
|
233
|
-
data = self._client.request(
|
|
234
|
-
method="POST",
|
|
235
|
-
endpoint=u,
|
|
236
|
-
params=query_params,
|
|
237
|
-
)
|
|
238
|
-
return
|
|
239
|
-
|
|
240
223
|
# 转移仓库。Transfer a repository.
|
|
241
224
|
def transfer_repo(self,
|
|
242
225
|
repo: str,
|
|
@@ -43,6 +43,7 @@ cnb/models/constant.py
|
|
|
43
43
|
cnb/models/convert.py
|
|
44
44
|
cnb/models/die.py
|
|
45
45
|
cnb/models/dto.py
|
|
46
|
+
cnb/models/errors.py
|
|
46
47
|
cnb/models/flags.py
|
|
47
48
|
cnb/models/git_woa_com_cnb_monorepo_git_internal_app_git_service_bff_api.py
|
|
48
49
|
cnb/models/git_woa_com_cnb_monorepo_git_internal_app_vcs_service_bff_api.py
|
|
@@ -7,7 +7,7 @@ long_description = (this_directory / "README.md").read_text(encoding="utf-8")
|
|
|
7
7
|
|
|
8
8
|
setup(
|
|
9
9
|
name="python-cnb",
|
|
10
|
-
version="1.
|
|
10
|
+
version="1.21.13",
|
|
11
11
|
author="Tencent Cloud",
|
|
12
12
|
author_email="ericdduan@tencent.com",
|
|
13
13
|
description="CNB OpenAPI的Python SDK,方便与CNB平台进行交互",
|
python_cnb-1.19.9/cnb/charge.py
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# Code generated by cnb.cool/cnb/sdk/cnb-sdk-generator. DO NOT EDIT.
|
|
2
|
-
# source: https://api.cnb-dev.woa.com/swagger.json
|
|
3
|
-
|
|
4
|
-
from typing import Optional
|
|
5
|
-
from .models import dto
|
|
6
|
-
class ChargeService:
|
|
7
|
-
def __init__(self, client):
|
|
8
|
-
self._client = client
|
|
9
|
-
|
|
10
|
-
# 查看特权额度
|
|
11
|
-
def get_special_amount(self,
|
|
12
|
-
slug: str,
|
|
13
|
-
) -> dto.SpecialAmount:
|
|
14
|
-
u = "/%s/-/charge/special-amount" % (slug, )
|
|
15
|
-
|
|
16
|
-
data = self._client.request(
|
|
17
|
-
method="GET",
|
|
18
|
-
endpoint=u,
|
|
19
|
-
)
|
|
20
|
-
return dto.SpecialAmount.safe_parse(data)
|
|
21
|
-
|
|
22
|
-
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|