| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -54,6 +54,10 @@ List the deploy tokens for a project:: | |||
| 54 | 54 | ||
| 55 | 55 | deploy_tokens = project.deploytokens.list() | |
| 56 | 56 | ||
| 57 | + Get a deploy token for a project by id:: | ||
| 58 | + | ||
| 59 | + deploy_token = project.deploytokens.get(deploy_token_id) | ||
| 60 | + | ||
| 57 | 61 | Create a new deploy token to access registry images of a project: | |
| 58 | 62 | ||
| 59 | 63 | In addition to required parameters ``name`` and ``scopes``, this method accepts | |
@@ -107,6 +111,10 @@ List the deploy tokens for a group:: | |||
| 107 | 111 | ||
| 108 | 112 | deploy_tokens = group.deploytokens.list() | |
| 109 | 113 | ||
| 114 | + Get a deploy token for a group by id:: | ||
| 115 | + | ||
| 116 | + deploy_token = group.deploytokens.get(deploy_token_id) | ||
| 117 | + | ||
| 110 | 118 | Create a new deploy token to access all repositories of all projects in a group: | |
| 111 | 119 | ||
| 112 | 120 | In addition to required parameters ``name`` and ``scopes``, this method accepts | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,6 +1,14 @@ | |||
| 1 | + from typing import Any, cast, Union | ||
| 2 | + | ||
| 1 | 3 | from gitlab import types | |
| 2 | 4 | from gitlab.base import RequiredOptional, RESTManager, RESTObject | |
| 3 | - from gitlab.mixins import CreateMixin, DeleteMixin, ListMixin, ObjectDeleteMixin | ||
| 5 | + from gitlab.mixins import ( | ||
| 6 | + CreateMixin, | ||
| 7 | + DeleteMixin, | ||
| 8 | + ListMixin, | ||
| 9 | + ObjectDeleteMixin, | ||
| 10 | + RetrieveMixin, | ||
| 11 | + ) | ||
| 4 | 12 | ||
| 5 | 13 | __all__ = [ | |
| 6 | 14 | "DeployToken", | |
@@ -25,7 +33,7 @@ class GroupDeployToken(ObjectDeleteMixin, RESTObject): | |||
| 25 | 33 | pass | |
| 26 | 34 | ||
| 27 | 35 | ||
| 28 | - class GroupDeployTokenManager(ListMixin, CreateMixin, DeleteMixin, RESTManager): | ||
| 36 | + class GroupDeployTokenManager(RetrieveMixin, CreateMixin, DeleteMixin, RESTManager): | ||
| 29 | 37 | _path = "/groups/{group_id}/deploy_tokens" | |
| 30 | 38 | _from_parent_attrs = {"group_id": "id"} | |
| 31 | 39 | _obj_cls = GroupDeployToken | |
@@ -41,12 +49,17 @@ class GroupDeployTokenManager(ListMixin, CreateMixin, DeleteMixin, RESTManager): | |||
| 41 | 49 | ) | |
| 42 | 50 | _types = {"scopes": types.CommaSeparatedListAttribute} | |
| 43 | 51 | ||
| 52 | + def get( | ||
| 53 | + self, id: Union[str, int], lazy: bool = False, **kwargs: Any | ||
| 54 | + ) -> GroupDeployToken: | ||
| 55 | + return cast(GroupDeployToken, super().get(id=id, lazy=lazy, **kwargs)) | ||
| 56 | + | ||
| 44 | 57 | ||
| 45 | 58 | class ProjectDeployToken(ObjectDeleteMixin, RESTObject): | |
| 46 | 59 | pass | |
| 47 | 60 | ||
| 48 | 61 | ||
| 49 | - class ProjectDeployTokenManager(ListMixin, CreateMixin, DeleteMixin, RESTManager): | ||
| 62 | + class ProjectDeployTokenManager(RetrieveMixin, CreateMixin, DeleteMixin, RESTManager): | ||
| 50 | 63 | _path = "/projects/{project_id}/deploy_tokens" | |
| 51 | 64 | _from_parent_attrs = {"project_id": "id"} | |
| 52 | 65 | _obj_cls = ProjectDeployToken | |
@@ -61,3 +74,8 @@ class ProjectDeployTokenManager(ListMixin, CreateMixin, DeleteMixin, RESTManager | |||
| 61 | 74 | ), | |
| 62 | 75 | ) | |
| 63 | 76 | _types = {"scopes": types.CommaSeparatedListAttribute} | |
| 77 | + | ||
| 78 | + def get( | ||
| 79 | + self, id: Union[str, int], lazy: bool = False, **kwargs: Any | ||
| 80 | + ) -> ProjectDeployToken: | ||
| 81 | + return cast(ProjectDeployToken, super().get(id=id, lazy=lazy, **kwargs)) | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -10,10 +10,11 @@ def test_project_deploy_tokens(gl, project): | |||
| 10 | 10 | assert len(project.deploytokens.list()) == 1 | |
| 11 | 11 | assert gl.deploytokens.list() == project.deploytokens.list() | |
| 12 | 12 | ||
| 13 | - assert project.deploytokens.list()[0].name == "foo" | ||
| 14 | - assert project.deploytokens.list()[0].expires_at == "2022-01-01T00:00:00.000Z" | ||
| 15 | - assert project.deploytokens.list()[0].scopes == ["read_registry"] | ||
| 16 | - assert project.deploytokens.list()[0].username == "bar" | ||
| 13 | + deploy_token = project.deploytokens.get(deploy_token.id) | ||
| 14 | + assert deploy_token.name == "foo" | ||
| 15 | + assert deploy_token.expires_at == "2022-01-01T00:00:00.000Z" | ||
| 16 | + assert deploy_token.scopes == ["read_registry"] | ||
| 17 | + assert deploy_token.username == "bar" | ||
| 17 | 18 | ||
| 18 | 19 | deploy_token.delete() | |
| 19 | 20 | assert len(project.deploytokens.list()) == 0 | |
@@ -31,6 +32,10 @@ def test_group_deploy_tokens(gl, group): | |||
| 31 | 32 | assert len(group.deploytokens.list()) == 1 | |
| 32 | 33 | assert gl.deploytokens.list() == group.deploytokens.list() | |
| 33 | 34 | ||
| 35 | + deploy_token = group.deploytokens.get(deploy_token.id) | ||
| 36 | + assert deploy_token.name == "foo" | ||
| 37 | + assert deploy_token.scopes == ["read_registry"] | ||
| 38 | + | ||
| 34 | 39 | deploy_token.delete() | |
| 35 | 40 | assert len(group.deploytokens.list()) == 0 | |
| 36 | 41 | assert len(gl.deploytokens.list()) == 0 | |
| Back | FazBrowse Home | New Git URL |
0 commit comments