python-cnb 0.1.0__py3-none-any.whl
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.
- cnb/__init__.py +7 -0
- cnb/artifactory.py +205 -0
- cnb/assets.py +219 -0
- cnb/build.py +91 -0
- cnb/client.py +79 -0
- cnb/cnb.py +46 -0
- cnb/collaborators.py +320 -0
- cnb/contributors.py +72 -0
- cnb/exceptions.py +21 -0
- cnb/followers.py +50 -0
- cnb/git.py +441 -0
- cnb/gitsettings.py +158 -0
- cnb/issues.py +233 -0
- cnb/missions.py +23 -0
- cnb/models/__init__.py +0 -0
- cnb/models/api.py +393 -0
- cnb/models/chart.py +43 -0
- cnb/models/constant.py +85 -0
- cnb/models/convert.py +13 -0
- cnb/models/die.py +19 -0
- cnb/models/dto.py +1523 -0
- cnb/models/git_woa_com_cnb_monorepo_git_internal_app_git_service_bff_api.py +14 -0
- cnb/models/git_woa_com_cnb_monorepo_git_internal_app_git_service_bff_web.py +14 -0
- cnb/models/git_woa_com_cnb_monorepo_git_internal_app_vcs_service_bff_api.py +13 -0
- cnb/models/git_woa_com_cnb_monorepo_git_internal_dto_web.py +14 -0
- cnb/models/git_woa_com_cnb_monorepo_mission_mission_resource_dto_web.py +13 -0
- cnb/models/handler.py +83 -0
- cnb/models/http.py +20 -0
- cnb/models/identity.py +19 -0
- cnb/models/label.py +15 -0
- cnb/models/map_constant.py +11 -0
- cnb/models/models.py +50 -0
- cnb/models/openapi.py +64 -0
- cnb/models/organization.py +16 -0
- cnb/models/organizations.py +18 -0
- cnb/models/scope.py +28 -0
- cnb/models/v1.py +26 -0
- cnb/models/web.py +1045 -0
- cnb/models/webapi.py +162 -0
- cnb/models/wechat.py +25 -0
- cnb/organizations.py +192 -0
- cnb/pulls.py +242 -0
- cnb/releases.py +170 -0
- cnb/repocontributor.py +31 -0
- cnb/repolabels.py +75 -0
- cnb/repositories.py +243 -0
- cnb/starring.py +58 -0
- cnb/users.py +73 -0
- cnb/workspace.py +66 -0
- python_cnb-0.1.0.dist-info/METADATA +102 -0
- python_cnb-0.1.0.dist-info/RECORD +54 -0
- python_cnb-0.1.0.dist-info/WHEEL +5 -0
- python_cnb-0.1.0.dist-info/licenses/LICENSE +20 -0
- python_cnb-0.1.0.dist-info/top_level.txt +1 -0
cnb/models/webapi.py
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
# Code generated by cnb.cool/cnb/sdk/cnb-sdk-generator. DO NOT EDIT.
|
|
2
|
+
# versions:
|
|
3
|
+
# cnb-sdk-generator: 1.0.2
|
|
4
|
+
# source: https://api.cnb.cool/swagger.json
|
|
5
|
+
|
|
6
|
+
from pydantic import Field
|
|
7
|
+
from enum import Enum
|
|
8
|
+
from typing import Optional, Dict
|
|
9
|
+
from .models import CNBBaseModel
|
|
10
|
+
class CommitAssetID(CNBBaseModel):
|
|
11
|
+
asset_id: Optional[str] = Field(alias="asset_id", default=None)
|
|
12
|
+
pass
|
|
13
|
+
class CreateBranchForm(CNBBaseModel):
|
|
14
|
+
new_branch_name: Optional[str] = Field(alias="new_branch_name", default=None)
|
|
15
|
+
start_point: Optional[str] = Field(alias="start_point", default=None)
|
|
16
|
+
pass
|
|
17
|
+
class CreateIssueCommentForm(CNBBaseModel):
|
|
18
|
+
body: Optional[str] = Field(alias="body", default=None)
|
|
19
|
+
pass
|
|
20
|
+
class CreatePullRequestCommentForm(CNBBaseModel):
|
|
21
|
+
body: Optional[str] = Field(alias="body", default=None)
|
|
22
|
+
pass
|
|
23
|
+
class CreatePullRequestForm(CNBBaseModel):
|
|
24
|
+
assignees: Optional[list[str]] = Field(alias="assignees", default=None)
|
|
25
|
+
base_branch: Optional[str] = Field(alias="base_branch", default=None)
|
|
26
|
+
body: Optional[str] = Field(alias="body", default=None)
|
|
27
|
+
head_branch: Optional[str] = Field(alias="head_branch", default=None)
|
|
28
|
+
head_repo_slug: Optional[str] = Field(alias="head_repo_slug", default=None)
|
|
29
|
+
labels: Optional[list[str]] = Field(alias="labels", default=None)
|
|
30
|
+
reviewers: Optional[list[str]] = Field(alias="reviewers", default=None)
|
|
31
|
+
title: Optional[str] = Field(alias="title", default=None)
|
|
32
|
+
pass
|
|
33
|
+
class CreateTagForm(CNBBaseModel):
|
|
34
|
+
message: Optional[str] = Field(alias="message", default=None)
|
|
35
|
+
name: Optional[str] = Field(alias="name", default=None)
|
|
36
|
+
target: Optional[str] = Field(alias="target", default=None)
|
|
37
|
+
pass
|
|
38
|
+
class HeadRef(CNBBaseModel):
|
|
39
|
+
ref: Optional[str] = Field(alias="ref", default=None)
|
|
40
|
+
pass
|
|
41
|
+
class InitRepositoryForm(CNBBaseModel):
|
|
42
|
+
gitignore_template: Optional[str] = Field(alias="gitignore_template", default=None)
|
|
43
|
+
is_auto_readme: Optional[bool] = Field(alias="is_auto_readme", default=None)
|
|
44
|
+
license_template: Optional[str] = Field(alias="license_template", default=None)
|
|
45
|
+
pass
|
|
46
|
+
class MergePullRequestForm(CNBBaseModel):
|
|
47
|
+
commit_message: Optional[str] = Field(alias="commit_message", default=None)
|
|
48
|
+
merge_style: Optional[str] = Field(alias="merge_style", default=None)
|
|
49
|
+
pass
|
|
50
|
+
class PatchIssueAssigneesForm(CNBBaseModel):
|
|
51
|
+
assignees: Optional[list[str]] = Field(alias="assignees", default=None)
|
|
52
|
+
pass
|
|
53
|
+
class PatchPullRequestAssigneesForm(CNBBaseModel):
|
|
54
|
+
assignees: Optional[list[str]] = Field(alias="assignees", default=None)
|
|
55
|
+
pass
|
|
56
|
+
class PatchPullRequestReviewCommentForm(CNBBaseModel):
|
|
57
|
+
body: Optional[str] = Field(alias="body", default=None)
|
|
58
|
+
pass
|
|
59
|
+
class PatchPullRequestReviewForm(CNBBaseModel):
|
|
60
|
+
body: Optional[str] = Field(alias="body", default=None)
|
|
61
|
+
pass
|
|
62
|
+
class PatchPullRequestReviewersForm(CNBBaseModel):
|
|
63
|
+
reviewers: Optional[list[str]] = Field(alias="reviewers", default=None)
|
|
64
|
+
pass
|
|
65
|
+
class PatchReleaseForm(CNBBaseModel):
|
|
66
|
+
body: Optional[str] = Field(alias="body", default=None)
|
|
67
|
+
is_draft: Optional[bool] = Field(alias="is_draft", default=None)
|
|
68
|
+
is_prerelease: Optional[bool] = Field(alias="is_prerelease", default=None)
|
|
69
|
+
make_latest: Optional[str] = Field(alias="make_latest", default=None)
|
|
70
|
+
title: Optional[str] = Field(alias="title", default=None)
|
|
71
|
+
pass
|
|
72
|
+
class PostCommitFile(CNBBaseModel):
|
|
73
|
+
content: Optional[str] = Field(alias="content", default=None)
|
|
74
|
+
encoding: Optional[str] = Field(alias="encoding", default=None)
|
|
75
|
+
is_deleted: Optional[bool] = Field(alias="is_deleted", default=None)
|
|
76
|
+
is_executable: Optional[bool] = Field(alias="is_executable", default=None)
|
|
77
|
+
path: Optional[str] = Field(alias="path", default=None)
|
|
78
|
+
pass
|
|
79
|
+
class PostCommitForm(CNBBaseModel):
|
|
80
|
+
base_branch: Optional[str] = Field(alias="base_branch", default=None)
|
|
81
|
+
files: Optional[list['PostCommitFile']] = Field(alias="files", default=None)
|
|
82
|
+
message: Optional[str] = Field(alias="message", default=None)
|
|
83
|
+
new_branch: Optional[str] = Field(alias="new_branch", default=None)
|
|
84
|
+
parent_commit_sha: Optional[str] = Field(alias="parent_commit_sha", default=None)
|
|
85
|
+
pass
|
|
86
|
+
class PostPendingPullRequestReviewEventForm(CNBBaseModel):
|
|
87
|
+
body: Optional[str] = Field(alias="body", default=None)
|
|
88
|
+
event: Optional[str] = Field(alias="event", default=None)
|
|
89
|
+
pass
|
|
90
|
+
class PostPullRequestReviewCommentForm(CNBBaseModel):
|
|
91
|
+
body: Optional[str] = Field(alias="body", default=None)
|
|
92
|
+
end_line: Optional[int] = Field(alias="end_line", default=None)
|
|
93
|
+
end_side: Optional[str] = Field(alias="end_side", default=None)
|
|
94
|
+
path: Optional[str] = Field(alias="path", default=None)
|
|
95
|
+
start_line: Optional[int] = Field(alias="start_line", default=None)
|
|
96
|
+
start_side: Optional[str] = Field(alias="start_side", default=None)
|
|
97
|
+
subject_type: Optional[str] = Field(alias="subject_type", default=None)
|
|
98
|
+
pass
|
|
99
|
+
class PostPullRequestReviewForm(CNBBaseModel):
|
|
100
|
+
body: Optional[str] = Field(alias="body", default=None)
|
|
101
|
+
comment: Optional['PostPullRequestReviewCommentForm'] = Field(alias="comment", default=None)
|
|
102
|
+
event: Optional[str] = Field(alias="event", default=None)
|
|
103
|
+
pass
|
|
104
|
+
class PostPullRequestReviewReplyForm(CNBBaseModel):
|
|
105
|
+
body: Optional[str] = Field(alias="body", default=None)
|
|
106
|
+
reply_to_comment_id: Optional[str] = Field(alias="reply_to_comment_id", default=None)
|
|
107
|
+
pass
|
|
108
|
+
class PostReleaseAssetForm(CNBBaseModel):
|
|
109
|
+
content_type: Optional[str] = Field(alias="content_type", default=None)
|
|
110
|
+
name: Optional[str] = Field(alias="name", default=None)
|
|
111
|
+
path: Optional[str] = Field(alias="path", default=None)
|
|
112
|
+
size_in_byte: Optional[int] = Field(alias="size_in_byte", default=None)
|
|
113
|
+
token: Optional[str] = Field(alias="token", default=None)
|
|
114
|
+
pass
|
|
115
|
+
class PostReleaseForm(CNBBaseModel):
|
|
116
|
+
body: Optional[str] = Field(alias="body", default=None)
|
|
117
|
+
is_draft: Optional[bool] = Field(alias="is_draft", default=None)
|
|
118
|
+
is_prerelease: Optional[bool] = Field(alias="is_prerelease", default=None)
|
|
119
|
+
make_latest: Optional[str] = Field(alias="make_latest", default=None)
|
|
120
|
+
tag_name: Optional[str] = Field(alias="tag_name", default=None)
|
|
121
|
+
target_commitish: Optional[str] = Field(alias="target_commitish", default=None)
|
|
122
|
+
title: Optional[str] = Field(alias="title", default=None)
|
|
123
|
+
pass
|
|
124
|
+
class PullRequestNumber(CNBBaseModel):
|
|
125
|
+
number: Optional[str] = Field(alias="number", default=None)
|
|
126
|
+
pass
|
|
127
|
+
class PullRequestReviewID(CNBBaseModel):
|
|
128
|
+
comment_ids: Optional[list[str]] = Field(alias="comment_ids", default=None)
|
|
129
|
+
review_id: Optional[str] = Field(alias="review_id", default=None)
|
|
130
|
+
pass
|
|
131
|
+
class PutCommitAnnotation(CNBBaseModel):
|
|
132
|
+
key: Optional[str] = Field(alias="key", default=None)
|
|
133
|
+
value: Optional[str] = Field(alias="value", default=None)
|
|
134
|
+
pass
|
|
135
|
+
class PutCommitAnnotationsForm(CNBBaseModel):
|
|
136
|
+
annotations: Optional[list['PutCommitAnnotation']] = Field(alias="annotations", default=None)
|
|
137
|
+
pass
|
|
138
|
+
class PutIssueLabelsForm(CNBBaseModel):
|
|
139
|
+
labels: Optional[list[str]] = Field(alias="labels", default=None)
|
|
140
|
+
pass
|
|
141
|
+
class PutPullRequestLabelsForm(CNBBaseModel):
|
|
142
|
+
labels: Optional[list[str]] = Field(alias="labels", default=None)
|
|
143
|
+
pass
|
|
144
|
+
class PutTagAnnotation(CNBBaseModel):
|
|
145
|
+
key: Optional[str] = Field(alias="key", default=None)
|
|
146
|
+
value: Optional[str] = Field(alias="value", default=None)
|
|
147
|
+
pass
|
|
148
|
+
class PutTagAnnotationsForm(CNBBaseModel):
|
|
149
|
+
annotations: Optional[list['PutTagAnnotation']] = Field(alias="annotations", default=None)
|
|
150
|
+
pass
|
|
151
|
+
class ReleaseAssetID(CNBBaseModel):
|
|
152
|
+
asset_id: Optional[str] = Field(alias="asset_id", default=None)
|
|
153
|
+
pass
|
|
154
|
+
class UpdateCodeSensitiveIgnoreForm(CNBBaseModel):
|
|
155
|
+
ignore: Optional[bool] = Field(alias="ignore", default=None)
|
|
156
|
+
ignore_reason: Optional[str] = Field(alias="ignore_reason", default=None)
|
|
157
|
+
pass
|
|
158
|
+
class UpdatePullRequestForm(CNBBaseModel):
|
|
159
|
+
body: Optional[str] = Field(alias="body", default=None)
|
|
160
|
+
state: Optional[str] = Field(alias="state", default=None)
|
|
161
|
+
title: Optional[str] = Field(alias="title", default=None)
|
|
162
|
+
pass
|
cnb/models/wechat.py
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Code generated by cnb.cool/cnb/sdk/cnb-sdk-generator. DO NOT EDIT.
|
|
2
|
+
# versions:
|
|
3
|
+
# cnb-sdk-generator: 1.0.2
|
|
4
|
+
# source: https://api.cnb.cool/swagger.json
|
|
5
|
+
|
|
6
|
+
from pydantic import Field
|
|
7
|
+
from enum import Enum
|
|
8
|
+
from typing import Optional, Dict
|
|
9
|
+
from .models import CNBBaseModel
|
|
10
|
+
class AuthorizedUser(CNBBaseModel):
|
|
11
|
+
defaultMaxDay: Optional[int] = Field(alias="defaultMaxDay", default=None)
|
|
12
|
+
freeze: Optional[bool] = Field(alias="freeze", default=None)
|
|
13
|
+
headImgUrl: Optional[str] = Field(alias="headImgUrl", default=None)
|
|
14
|
+
maxDaysOptions: Optional[list[int]] = Field(alias="maxDaysOptions", default=None)
|
|
15
|
+
nickName: Optional[str] = Field(alias="nickName", default=None)
|
|
16
|
+
pass
|
|
17
|
+
class LoginState(CNBBaseModel):
|
|
18
|
+
avatar: Optional[str] = Field(alias="avatar", default=None)
|
|
19
|
+
confirmed: Optional[bool] = Field(alias="confirmed", default=None)
|
|
20
|
+
isExpired: Optional[bool] = Field(alias="isExpired", default=None)
|
|
21
|
+
nickName: Optional[str] = Field(alias="nickName", default=None)
|
|
22
|
+
pass
|
|
23
|
+
class LoginTicket(CNBBaseModel):
|
|
24
|
+
state: Optional[str] = Field(alias="state", default=None)
|
|
25
|
+
pass
|
cnb/organizations.py
ADDED
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
# Code generated by cnb.cool/cnb/sdk/cnb-sdk-generator. DO NOT EDIT.
|
|
2
|
+
# versions:
|
|
3
|
+
# cnb-sdk-generator: 1.0.2
|
|
4
|
+
# source: https://api.cnb.cool/swagger.json
|
|
5
|
+
|
|
6
|
+
from typing import Optional
|
|
7
|
+
from .models import dto
|
|
8
|
+
class OrganizationsService:
|
|
9
|
+
def __init__(self, client):
|
|
10
|
+
self._client = client
|
|
11
|
+
|
|
12
|
+
# 创建新组织。Create new organization.
|
|
13
|
+
def create_organization(self,
|
|
14
|
+
body_params: dto.CreateGroupReq,
|
|
15
|
+
):
|
|
16
|
+
u = "/groups" % ()
|
|
17
|
+
|
|
18
|
+
data = self._client.request(
|
|
19
|
+
method="POST",
|
|
20
|
+
endpoint=u,
|
|
21
|
+
json=body_params.to_dict(),
|
|
22
|
+
)
|
|
23
|
+
return
|
|
24
|
+
|
|
25
|
+
# 删除指定组织。Delete the specified organization.
|
|
26
|
+
def delete_organization(self,
|
|
27
|
+
group: str,
|
|
28
|
+
):
|
|
29
|
+
u = "/%s" % (group, )
|
|
30
|
+
|
|
31
|
+
data = self._client.request(
|
|
32
|
+
method="DELETE",
|
|
33
|
+
endpoint=u,
|
|
34
|
+
)
|
|
35
|
+
return
|
|
36
|
+
|
|
37
|
+
# 获取指定组织信息。Get information for the specified organization.
|
|
38
|
+
def get_group(self,
|
|
39
|
+
group: str,
|
|
40
|
+
) -> dto.OrganizationAccess:
|
|
41
|
+
u = "/%s" % (group, )
|
|
42
|
+
|
|
43
|
+
data = self._client.request(
|
|
44
|
+
method="GET",
|
|
45
|
+
endpoint=u,
|
|
46
|
+
)
|
|
47
|
+
return dto.OrganizationAccess.safe_parse(data)
|
|
48
|
+
|
|
49
|
+
# 获取指定组织的配置详情。Get the configuration details for the specified organization.
|
|
50
|
+
def get_group_setting(self,
|
|
51
|
+
group: str,
|
|
52
|
+
) -> dto.OrganizationSettingWithParent:
|
|
53
|
+
u = "/%s/-/settings" % (group, )
|
|
54
|
+
|
|
55
|
+
data = self._client.request(
|
|
56
|
+
method="GET",
|
|
57
|
+
endpoint=u,
|
|
58
|
+
)
|
|
59
|
+
return dto.OrganizationSettingWithParent.safe_parse(data)
|
|
60
|
+
|
|
61
|
+
# 获取指定用户拥有权限的顶层组织列表。 Get a list of top-level organizations that the specified user has permissions to access.
|
|
62
|
+
def get_groups_by_user_id(self,
|
|
63
|
+
username: str,
|
|
64
|
+
search: Optional[str] = None,
|
|
65
|
+
page: Optional[int] = None,
|
|
66
|
+
page_size: Optional[int] = None,
|
|
67
|
+
desc: Optional[bool] = None,
|
|
68
|
+
order_by: Optional[str] = None,
|
|
69
|
+
) -> dto.OrganizationUnion:
|
|
70
|
+
u = "/users/%s/groups" % (username, )
|
|
71
|
+
|
|
72
|
+
query_params = {
|
|
73
|
+
"search": search,
|
|
74
|
+
"page": page,
|
|
75
|
+
"page_size": page_size,
|
|
76
|
+
"desc": desc,
|
|
77
|
+
"order_by": order_by,
|
|
78
|
+
}
|
|
79
|
+
data = self._client.request(
|
|
80
|
+
method="GET",
|
|
81
|
+
endpoint=u,
|
|
82
|
+
params=query_params,
|
|
83
|
+
)
|
|
84
|
+
return dto.OrganizationUnion.safe_parse(data)
|
|
85
|
+
|
|
86
|
+
# 查询当前用户在指定组织下拥有指定权限的子组织列表。Get the list of sub-organizations that the current user has access to in the specified organization.
|
|
87
|
+
def list_groups(self,
|
|
88
|
+
group: str,
|
|
89
|
+
page: Optional[int] = None,
|
|
90
|
+
page_size: Optional[int] = None,
|
|
91
|
+
access: Optional[int] = None,
|
|
92
|
+
) -> list[dto.OrganizationAccess]:
|
|
93
|
+
u = "/user/groups/%s" % (group, )
|
|
94
|
+
|
|
95
|
+
query_params = {
|
|
96
|
+
"page": page,
|
|
97
|
+
"page_size": page_size,
|
|
98
|
+
"access": access,
|
|
99
|
+
}
|
|
100
|
+
data = self._client.request(
|
|
101
|
+
method="GET",
|
|
102
|
+
endpoint=u,
|
|
103
|
+
params=query_params,
|
|
104
|
+
)
|
|
105
|
+
return [dto.OrganizationAccess.safe_parse(item) for item in data]
|
|
106
|
+
|
|
107
|
+
# 获取指定组织下的子组织列表。Get the list of sub-organizations under the specified organization.
|
|
108
|
+
def list_subgroups(self,
|
|
109
|
+
group: str,
|
|
110
|
+
search: Optional[str] = None,
|
|
111
|
+
page: Optional[int] = None,
|
|
112
|
+
page_size: Optional[int] = None,
|
|
113
|
+
) -> list[dto.OrganizationUnion]:
|
|
114
|
+
u = "/%s/-/sub-groups" % (group, )
|
|
115
|
+
|
|
116
|
+
query_params = {
|
|
117
|
+
"search": search,
|
|
118
|
+
"page": page,
|
|
119
|
+
"page_size": page_size,
|
|
120
|
+
}
|
|
121
|
+
data = self._client.request(
|
|
122
|
+
method="GET",
|
|
123
|
+
endpoint=u,
|
|
124
|
+
params=query_params,
|
|
125
|
+
)
|
|
126
|
+
return [dto.OrganizationUnion.safe_parse(item) for item in data]
|
|
127
|
+
|
|
128
|
+
# 获取当前用户拥有权限的顶层组织列表。Get top-level organizations list that the current user has access to.
|
|
129
|
+
def list_top_groups(self,
|
|
130
|
+
page: Optional[int] = None,
|
|
131
|
+
page_size: Optional[int] = None,
|
|
132
|
+
search: Optional[str] = None,
|
|
133
|
+
role: Optional[str] = None,
|
|
134
|
+
) -> list[dto.OrganizationAccess]:
|
|
135
|
+
u = "/user/groups" % ()
|
|
136
|
+
|
|
137
|
+
query_params = {
|
|
138
|
+
"page": page,
|
|
139
|
+
"page_size": page_size,
|
|
140
|
+
"search": search,
|
|
141
|
+
"role": role,
|
|
142
|
+
}
|
|
143
|
+
data = self._client.request(
|
|
144
|
+
method="GET",
|
|
145
|
+
endpoint=u,
|
|
146
|
+
params=query_params,
|
|
147
|
+
)
|
|
148
|
+
return [dto.OrganizationAccess.safe_parse(item) for item in data]
|
|
149
|
+
|
|
150
|
+
# 更新组织头像 URL 地址。Updates the organization avatar URL.
|
|
151
|
+
def update_group_avatar(self,
|
|
152
|
+
group: str,
|
|
153
|
+
body_params: dto.UpdateGroupAvatarReq,
|
|
154
|
+
):
|
|
155
|
+
u = "/%s/-/avatar" % (group, )
|
|
156
|
+
|
|
157
|
+
data = self._client.request(
|
|
158
|
+
method="PUT",
|
|
159
|
+
endpoint=u,
|
|
160
|
+
json=body_params.to_dict(),
|
|
161
|
+
)
|
|
162
|
+
return
|
|
163
|
+
|
|
164
|
+
# 更新指定组织的配置。Updates the configuration for the specified organization.
|
|
165
|
+
def update_group_setting(self,
|
|
166
|
+
group: str,
|
|
167
|
+
body_params: dto.GroupSettingReq,
|
|
168
|
+
):
|
|
169
|
+
u = "/%s/-/settings" % (group, )
|
|
170
|
+
|
|
171
|
+
data = self._client.request(
|
|
172
|
+
method="PUT",
|
|
173
|
+
endpoint=u,
|
|
174
|
+
json=body_params.to_dict(),
|
|
175
|
+
)
|
|
176
|
+
return
|
|
177
|
+
|
|
178
|
+
# 更新组织信息, 可更新的内容为: 组织描述, 组织展示名称, 组织网站, 组织联系邮箱。Updates organization information including: description, display name, website URL and contact email.
|
|
179
|
+
def update_organization(self,
|
|
180
|
+
group: str,
|
|
181
|
+
body_params: dto.UpdateGroupReq,
|
|
182
|
+
):
|
|
183
|
+
u = "/%s" % (group, )
|
|
184
|
+
|
|
185
|
+
data = self._client.request(
|
|
186
|
+
method="PUT",
|
|
187
|
+
endpoint=u,
|
|
188
|
+
json=body_params.to_dict(),
|
|
189
|
+
)
|
|
190
|
+
return
|
|
191
|
+
|
|
192
|
+
|
cnb/pulls.py
ADDED
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
# Code generated by cnb.cool/cnb/sdk/cnb-sdk-generator. DO NOT EDIT.
|
|
2
|
+
# versions:
|
|
3
|
+
# cnb-sdk-generator: 1.0.2
|
|
4
|
+
# source: https://api.cnb.cool/swagger.json
|
|
5
|
+
|
|
6
|
+
from typing import Optional
|
|
7
|
+
from .models import api
|
|
8
|
+
class PullsService:
|
|
9
|
+
def __init__(self, client):
|
|
10
|
+
self._client = client
|
|
11
|
+
|
|
12
|
+
# 删除 Pull 标签。Remove a label from a pull.
|
|
13
|
+
def delete_pull_label(self,
|
|
14
|
+
repo: str,
|
|
15
|
+
number: str,
|
|
16
|
+
name: str,
|
|
17
|
+
) -> api.Label:
|
|
18
|
+
u = "/%s/-/pulls/%s/labels/%s" % (repo, number, name, )
|
|
19
|
+
|
|
20
|
+
data = self._client.request(
|
|
21
|
+
method="DELETE",
|
|
22
|
+
endpoint=u,
|
|
23
|
+
)
|
|
24
|
+
return api.Label.safe_parse(data)
|
|
25
|
+
|
|
26
|
+
# 清空 Pull 标签。Remove all labels from a pull.
|
|
27
|
+
def delete_pull_labels(self,
|
|
28
|
+
repo: str,
|
|
29
|
+
number: str,
|
|
30
|
+
):
|
|
31
|
+
u = "/%s/-/pulls/%s/labels" % (repo, number, )
|
|
32
|
+
|
|
33
|
+
data = self._client.request(
|
|
34
|
+
method="DELETE",
|
|
35
|
+
endpoint=u,
|
|
36
|
+
)
|
|
37
|
+
return
|
|
38
|
+
|
|
39
|
+
# 查询指定 Pull。Get a pull request.
|
|
40
|
+
def get_pull(self,
|
|
41
|
+
repo: str,
|
|
42
|
+
number: str,
|
|
43
|
+
) -> api.Pull:
|
|
44
|
+
u = "/%s/-/pulls/%s" % (repo, number, )
|
|
45
|
+
|
|
46
|
+
data = self._client.request(
|
|
47
|
+
method="GET",
|
|
48
|
+
endpoint=u,
|
|
49
|
+
)
|
|
50
|
+
return api.Pull.safe_parse(data)
|
|
51
|
+
|
|
52
|
+
# 查询 Pull Comments 列表。List pull comments requests.
|
|
53
|
+
def list_pull_comments(self,
|
|
54
|
+
repo: str,
|
|
55
|
+
number: str,
|
|
56
|
+
page: Optional[int] = None,
|
|
57
|
+
page_size: Optional[int] = None,
|
|
58
|
+
) -> list[api.PullRequestComment]:
|
|
59
|
+
u = "/%s/-/pulls/%s/comments" % (repo, number, )
|
|
60
|
+
|
|
61
|
+
query_params = {
|
|
62
|
+
"page": page,
|
|
63
|
+
"page_size": page_size,
|
|
64
|
+
}
|
|
65
|
+
data = self._client.request(
|
|
66
|
+
method="GET",
|
|
67
|
+
endpoint=u,
|
|
68
|
+
params=query_params,
|
|
69
|
+
)
|
|
70
|
+
return [api.PullRequestComment.safe_parse(item) for item in data]
|
|
71
|
+
|
|
72
|
+
# 查询 Pull 的标签(label) 列表。List labels for a pull.
|
|
73
|
+
def list_pull_labels(self,
|
|
74
|
+
repo: str,
|
|
75
|
+
number: str,
|
|
76
|
+
page: Optional[int] = None,
|
|
77
|
+
page_size: Optional[int] = None,
|
|
78
|
+
) -> list[api.Label]:
|
|
79
|
+
u = "/%s/-/pulls/%s/labels" % (repo, number, )
|
|
80
|
+
|
|
81
|
+
query_params = {
|
|
82
|
+
"page": page,
|
|
83
|
+
"page_size": page_size,
|
|
84
|
+
}
|
|
85
|
+
data = self._client.request(
|
|
86
|
+
method="GET",
|
|
87
|
+
endpoint=u,
|
|
88
|
+
params=query_params,
|
|
89
|
+
)
|
|
90
|
+
return [api.Label.safe_parse(item) for item in data]
|
|
91
|
+
|
|
92
|
+
# 查询 Pull 列表。List pull requests.
|
|
93
|
+
def list_pulls(self,
|
|
94
|
+
repo: str,
|
|
95
|
+
page: Optional[int] = None,
|
|
96
|
+
page_size: Optional[int] = None,
|
|
97
|
+
state: Optional[str] = None,
|
|
98
|
+
authors: Optional[str] = None,
|
|
99
|
+
reviewers: Optional[str] = None,
|
|
100
|
+
assignees: Optional[str] = None,
|
|
101
|
+
base_ref: Optional[str] = None,
|
|
102
|
+
) -> list[api.PullRequest]:
|
|
103
|
+
u = "/%s/-/pulls" % (repo, )
|
|
104
|
+
|
|
105
|
+
query_params = {
|
|
106
|
+
"page": page,
|
|
107
|
+
"page_size": page_size,
|
|
108
|
+
"state": state,
|
|
109
|
+
"authors": authors,
|
|
110
|
+
"reviewers": reviewers,
|
|
111
|
+
"assignees": assignees,
|
|
112
|
+
"base_ref": base_ref,
|
|
113
|
+
}
|
|
114
|
+
data = self._client.request(
|
|
115
|
+
method="GET",
|
|
116
|
+
endpoint=u,
|
|
117
|
+
params=query_params,
|
|
118
|
+
)
|
|
119
|
+
return [api.PullRequest.safe_parse(item) for item in data]
|
|
120
|
+
|
|
121
|
+
# 根据numbers查询 Pull 列表。List pull requests by numbers.
|
|
122
|
+
def list_pulls_by_numbers(self,
|
|
123
|
+
repo: str,
|
|
124
|
+
n: Optional[list[str]] = None,
|
|
125
|
+
) -> list[api.PullRequestInfo]:
|
|
126
|
+
u = "/%s/-/pull-in-batch" % (repo, )
|
|
127
|
+
|
|
128
|
+
query_params = {
|
|
129
|
+
"n": n,
|
|
130
|
+
}
|
|
131
|
+
data = self._client.request(
|
|
132
|
+
method="GET",
|
|
133
|
+
endpoint=u,
|
|
134
|
+
params=query_params,
|
|
135
|
+
)
|
|
136
|
+
return [api.PullRequestInfo.safe_parse(item) for item in data]
|
|
137
|
+
|
|
138
|
+
# 合并一个 Pull Request。Merge a pull request.
|
|
139
|
+
def merge_pull(self,
|
|
140
|
+
repo: str,
|
|
141
|
+
number: str,
|
|
142
|
+
body_params: api.MergePullRequest,
|
|
143
|
+
) -> api.MergePullResponse:
|
|
144
|
+
u = "/%s/-/pulls/%s/merge" % (repo, number, )
|
|
145
|
+
|
|
146
|
+
data = self._client.request(
|
|
147
|
+
method="PUT",
|
|
148
|
+
endpoint=u,
|
|
149
|
+
json=body_params.to_dict(),
|
|
150
|
+
)
|
|
151
|
+
return api.MergePullResponse.safe_parse(data)
|
|
152
|
+
|
|
153
|
+
# 更新一个 Pull Request。Update a pull request.
|
|
154
|
+
def patch_pull(self,
|
|
155
|
+
repo: str,
|
|
156
|
+
number: str,
|
|
157
|
+
body_params: api.PatchPullRequest,
|
|
158
|
+
) -> api.Pull:
|
|
159
|
+
u = "/%s/-/pulls/%s" % (repo, number, )
|
|
160
|
+
|
|
161
|
+
data = self._client.request(
|
|
162
|
+
method="PATCH",
|
|
163
|
+
endpoint=u,
|
|
164
|
+
json=body_params.to_dict(),
|
|
165
|
+
)
|
|
166
|
+
return api.Pull.safe_parse(data)
|
|
167
|
+
|
|
168
|
+
# 新增一个 Pull。Create a pull request.
|
|
169
|
+
def post_pull(self,
|
|
170
|
+
repo: str,
|
|
171
|
+
body_params: api.PullCreationForm,
|
|
172
|
+
) -> api.Pull:
|
|
173
|
+
u = "/%s/-/pulls" % (repo, )
|
|
174
|
+
|
|
175
|
+
data = self._client.request(
|
|
176
|
+
method="POST",
|
|
177
|
+
endpoint=u,
|
|
178
|
+
json=body_params.to_dict(),
|
|
179
|
+
)
|
|
180
|
+
return api.Pull.safe_parse(data)
|
|
181
|
+
|
|
182
|
+
# 新增一个 Pull Comment。Create a pull comment.
|
|
183
|
+
def post_pull_comment(self,
|
|
184
|
+
repo: str,
|
|
185
|
+
number: str,
|
|
186
|
+
body_params: api.PullCommentCreationForm,
|
|
187
|
+
):
|
|
188
|
+
u = "/%s/-/pulls/%s/comments" % (repo, number, )
|
|
189
|
+
|
|
190
|
+
data = self._client.request(
|
|
191
|
+
method="POST",
|
|
192
|
+
endpoint=u,
|
|
193
|
+
json=body_params.to_dict(),
|
|
194
|
+
)
|
|
195
|
+
return
|
|
196
|
+
|
|
197
|
+
# 新增 Pull 标签。Add labels to a pull.
|
|
198
|
+
def post_pull_labels(self,
|
|
199
|
+
repo: str,
|
|
200
|
+
number: str,
|
|
201
|
+
body_params: api.PostPullLabelsForm,
|
|
202
|
+
) -> api.Label:
|
|
203
|
+
u = "/%s/-/pulls/%s/labels" % (repo, number, )
|
|
204
|
+
|
|
205
|
+
data = self._client.request(
|
|
206
|
+
method="POST",
|
|
207
|
+
endpoint=u,
|
|
208
|
+
json=body_params.to_dict(),
|
|
209
|
+
)
|
|
210
|
+
return api.Label.safe_parse(data)
|
|
211
|
+
|
|
212
|
+
# 新增一次 pull request 评审。Create a pull review.
|
|
213
|
+
def post_pull_review(self,
|
|
214
|
+
repo: str,
|
|
215
|
+
number: str,
|
|
216
|
+
body_params: api.PullReviewCreationForm,
|
|
217
|
+
):
|
|
218
|
+
u = "/%s/-/pulls/%s/reviews" % (repo, number, )
|
|
219
|
+
|
|
220
|
+
data = self._client.request(
|
|
221
|
+
method="POST",
|
|
222
|
+
endpoint=u,
|
|
223
|
+
json=body_params.to_dict(),
|
|
224
|
+
)
|
|
225
|
+
return
|
|
226
|
+
|
|
227
|
+
# 设置 Pull 标签。Set the new labels for a pull.
|
|
228
|
+
def put_pull_labels(self,
|
|
229
|
+
repo: str,
|
|
230
|
+
number: str,
|
|
231
|
+
body_params: api.PutPullLabelsForm,
|
|
232
|
+
) -> api.Label:
|
|
233
|
+
u = "/%s/-/pulls/%s/labels" % (repo, number, )
|
|
234
|
+
|
|
235
|
+
data = self._client.request(
|
|
236
|
+
method="PUT",
|
|
237
|
+
endpoint=u,
|
|
238
|
+
json=body_params.to_dict(),
|
|
239
|
+
)
|
|
240
|
+
return api.Label.safe_parse(data)
|
|
241
|
+
|
|
242
|
+
|