From e19314dcc481b045ba7a12dd76abedc08dbdf032 Mon Sep 17 00:00:00 2001 From: Nejc Habjan Date: Sun, 12 Sep 2021 20:58:31 +0200 Subject: feat(objects): support Create and Revoke personal access token API --- docs/gl_objects/personal_access_tokens.rst | 32 +++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) (limited to 'docs/gl_objects') diff --git a/docs/gl_objects/personal_access_tokens.rst b/docs/gl_objects/personal_access_tokens.rst index 3cbc744..0704c75 100644 --- a/docs/gl_objects/personal_access_tokens.rst +++ b/docs/gl_objects/personal_access_tokens.rst @@ -2,8 +2,6 @@ Personal Access Tokens ###################### -Get a list of personal access tokens - References ---------- @@ -12,8 +10,14 @@ References + :class:`gitlab.v4.objects.PersonalAccessToken` + :class:`gitlab.v4.objects.PersonalAcessTokenManager` + :attr:`gitlab.Gitlab.personal_access_tokens` + + :class:`gitlab.v4.objects.UserPersonalAccessToken` + + :class:`gitlab.v4.objects.UserPersonalAcessTokenManager` + + :attr:`gitlab.Gitlab.User.personal_access_tokens` + +* GitLab API: -* GitLab API: https://docs.gitlab.com/ee/api/personal_access_tokens.html + + https://docs.gitlab.com/ee/api/personal_access_tokens.html + + https://docs.gitlab.com/ee/api/users.html#create-a-personal-access-token Examples -------- @@ -26,3 +30,25 @@ List personal access tokens:: List personal access tokens from other user_id (admin only):: access_tokens = gl.personal_access_tokens.list(user_id=25) + +Revoke a personal access token fetched via list:: + + access_token = access_tokens[0] + access_token.delete() + +Revoke a personal access token by id:: + + gl.personal_access_tokens.delete(123) + +Create a personal access token for a user (admin only):: + + user = gl.users.get(25, lazy=True) + access_token = user.personal_access_tokens.create({"name": "test", "scopes": "api"}) + +.. note:: As you can see above, you can only create personal access tokens + via the Users API, but you cannot revoke these objects directly. + This is because the create API uses a different endpoint than the list and revoke APIs. + You need to fetch the token via the list API first to revoke it. + + As of 14.2, GitLab does not provide a GET API for single personal access tokens. + You must use the list method to retrieve single tokens. -- cgit v1.2.1