Home > Development Tools > git > body text

How to batch modify username and password in gitlab

PHPz
Release: 2023-04-10 10:34:05
Original
1163 people have browsed it

If you are a business, you may need to manage multiple GitLab accounts, and the usernames and passwords for these accounts need to be changed regularly to ensure security. At this time, it is particularly important to modify GitLab usernames and passwords in batches.

Below, I will introduce to you how to use a script to modify GitLab usernames and passwords in batches.

Step 1: Create a GitLab API token

First, you need to create a GitLab API token to access GitLab's API. To create an API token, follow these steps:

  1. In GitLab, click the avatar or icon and select "Settings".
  2. Find the "Access Tokens" tab on the left and click to create a personal access token.
  3. Select the "API" API permission under "Scopes" and click the "Create Personal Access Token" button. GitLab will generate a new API token and it will only appear once.

Please note that API access tokens will be considered authentication credentials, so be sure to save them and keep them in a safe place.

Step 2: Create a Python script

Now you need to write a script using Python to batch change usernames and passwords on GitLab. The following is a code example of a Python script:

#!/usr/bin/env python
import requests
import json

# 配置API访问令牌,API端点和要更改的用户名和密码
GITLAB_API_ENDPOINT = "https://gitlab.com/api/v4"
GITLAB_API_TOKEN = "YOUR_GITLAB_API_TOKEN"
USERNAMES_TO_UPDATE = ["john.doe", "jane.doe"]
NEW_PASSWORD = "newpassword"

# 认证
headers = {"PRIVATE-TOKEN": GITLAB_API_TOKEN}

# 循环处理每个用户
for username in USERNAMES_TO_UPDATE:
    # 获取给定用户的当前信息
    response = requests.get(
        f"{GITLAB_API_ENDPOINT}/users?username={username}",
        headers=headers,
    )
    user_data = response.json()[0]
    user_id = user_data["id"]
    user_name = user_data["name"]
    user_email = user_data["email"]

    # 更新给定用户的密码
    password_update_response = requests.put(
        f"{GITLAB_API_ENDPOINT}/users/{user_id}",
        headers=headers,
        data={
            "password": NEW_PASSWORD
        },
    )

    # 打印结果
    print(f"用户 {user_name} ({user_email}) 的密码已更新。")
Copy after login

This code is relatively simple. The basic idea is to use the requests library to call the GitLab API, obtain user data and update the password of the user data. To adapt the script to your specific situation, you need to replace the following constants:

  • GITLAB_API_TOKEN: The GitLab API access token you created.
  • USERNAMES_TO_UPDATE: A list of usernames for the users whose names you want to change.
  • NEW_PASSWORD: The new password you want to set for these users.

Finally, save the script as for example update_gitlab_passwords.py.

Step Three: Run the Script

Now, you can run the script using the command line. You can execute the following command in the terminal or command prompt:

python update_gitlab_passwords.py
Copy after login

You can also automatically run a script in a Cron job to change the GitLab username and password periodically.

Summary

Now you know how to batch update your GitLab username and password using a Python script. Remember, these API tokens will be considered authentication credentials, be sure to protect them and only use them in a secure manner.

The above is the detailed content of How to batch modify username and password in gitlab. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!