Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitfcd37fe

Browse files
committed
feat(objects): support getting project/group deploy tokens by id
1 parent19ab07d commitfcd37fe

File tree

3 files changed

+38
-7
lines changed

3 files changed

+38
-7
lines changed

‎docs/gl_objects/deploy_tokens.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,10 @@ List the deploy tokens for a project::
5454

5555
deploy_tokens = project.deploytokens.list()
5656

57+
Get a deploy token for a project by id::
58+
59+
deploy_token = project.deploytokens.get(deploy_token_id)
60+
5761
Create a new deploy token to access registry images of a project:
5862

5963
In addition to required parameters ``name`` and ``scopes``, this method accepts
@@ -107,6 +111,10 @@ List the deploy tokens for a group::
107111

108112
deploy_tokens = group.deploytokens.list()
109113

114+
Get a deploy token for a group by id::
115+
116+
deploy_token = group.deploytokens.get(deploy_token_id)
117+
110118
Create a new deploy token to access all repositories of all projects in a group:
111119

112120
In addition to required parameters ``name`` and ``scopes``, this method accepts

‎gitlab/v4/objects/deploy_tokens.py

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
1+
fromtypingimportAny,cast,Union
2+
13
fromgitlabimporttypes
24
fromgitlab.baseimportRequiredOptional,RESTManager,RESTObject
3-
fromgitlab.mixinsimportCreateMixin,DeleteMixin,ListMixin,ObjectDeleteMixin
5+
fromgitlab.mixinsimport (
6+
CreateMixin,
7+
DeleteMixin,
8+
ListMixin,
9+
ObjectDeleteMixin,
10+
RetrieveMixin,
11+
)
412

513
__all__= [
614
"DeployToken",
@@ -25,7 +33,7 @@ class GroupDeployToken(ObjectDeleteMixin, RESTObject):
2533
pass
2634

2735

28-
classGroupDeployTokenManager(ListMixin,CreateMixin,DeleteMixin,RESTManager):
36+
classGroupDeployTokenManager(RetrieveMixin,CreateMixin,DeleteMixin,RESTManager):
2937
_path="/groups/{group_id}/deploy_tokens"
3038
_from_parent_attrs= {"group_id":"id"}
3139
_obj_cls=GroupDeployToken
@@ -41,12 +49,17 @@ class GroupDeployTokenManager(ListMixin, CreateMixin, DeleteMixin, RESTManager):
4149
)
4250
_types= {"scopes":types.CommaSeparatedListAttribute}
4351

52+
defget(
53+
self,id:Union[str,int],lazy:bool=False,**kwargs:Any
54+
)->GroupDeployToken:
55+
returncast(GroupDeployToken,super().get(id=id,lazy=lazy,**kwargs))
56+
4457

4558
classProjectDeployToken(ObjectDeleteMixin,RESTObject):
4659
pass
4760

4861

49-
classProjectDeployTokenManager(ListMixin,CreateMixin,DeleteMixin,RESTManager):
62+
classProjectDeployTokenManager(RetrieveMixin,CreateMixin,DeleteMixin,RESTManager):
5063
_path="/projects/{project_id}/deploy_tokens"
5164
_from_parent_attrs= {"project_id":"id"}
5265
_obj_cls=ProjectDeployToken
@@ -61,3 +74,8 @@ class ProjectDeployTokenManager(ListMixin, CreateMixin, DeleteMixin, RESTManager
6174
),
6275
)
6376
_types= {"scopes":types.CommaSeparatedListAttribute}
77+
78+
defget(
79+
self,id:Union[str,int],lazy:bool=False,**kwargs:Any
80+
)->ProjectDeployToken:
81+
returncast(ProjectDeployToken,super().get(id=id,lazy=lazy,**kwargs))

‎tests/functional/api/test_deploy_tokens.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,11 @@ def test_project_deploy_tokens(gl, project):
1010
assertlen(project.deploytokens.list())==1
1111
assertgl.deploytokens.list()==project.deploytokens.list()
1212

13-
assertproject.deploytokens.list()[0].name=="foo"
14-
assertproject.deploytokens.list()[0].expires_at=="2022-01-01T00:00:00.000Z"
15-
assertproject.deploytokens.list()[0].scopes== ["read_registry"]
16-
assertproject.deploytokens.list()[0].username=="bar"
13+
deploy_token=project.deploytokens.get(deploy_token.id)
14+
assertdeploy_token.name=="foo"
15+
assertdeploy_token.expires_at=="2022-01-01T00:00:00.000Z"
16+
assertdeploy_token.scopes== ["read_registry"]
17+
assertdeploy_token.username=="bar"
1718

1819
deploy_token.delete()
1920
assertlen(project.deploytokens.list())==0
@@ -31,6 +32,10 @@ def test_group_deploy_tokens(gl, group):
3132
assertlen(group.deploytokens.list())==1
3233
assertgl.deploytokens.list()==group.deploytokens.list()
3334

35+
deploy_token=group.deploytokens.get(deploy_token.id)
36+
assertdeploy_token.name=="foo"
37+
assertdeploy_token.scopes== ["read_registry"]
38+
3439
deploy_token.delete()
3540
assertlen(group.deploytokens.list())==0
3641
assertlen(gl.deploytokens.list())==0

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp