Skip to content

NickOsipov/gitlab-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitLab Tools

Инструменты для автоматизации работы с GitLab API.

Описание

GitLab Tools предоставляет набор утилит для взаимодействия с GitLab через API. Основная функциональность включает:

  • Автоматическая отправка приглашений пользователям к репозиториям с правами Developer
  • Управление доступом к нескольким репозиториям одним действием
  • Удобный интерфейс через командную строку и Makefile

Установка

  1. Клонировать репозиторий:

    git clone <url-репозитория>
    cd gitlab-tools
  2. Установить зависимости:

    python3 -m venv .venv
    source .venv/bin/activate
    pip install -r requirements.txt
    # или с использованием pyproject.toml
    pip install .
  3. Создать файл .env на основе примера .env.example:

    cp .env.example .env
  4. Заполнить переменные окружения в файле .env:

    GITLAB_TOKEN=your_gitlab_personal_access_token
    GITLAB_URL=https://your.gitlab.instance
    

Использование

Отправка приглашений пользователям через Makefile

make get-access [email protected]

Прямой запуск скрипта Python

python3 get_access.py --email [email protected] --gitlab-url https://your.gitlab.instance

Возможности

Управление доступом (get_access.py)

Скрипт get_access.py позволяет:

  • Отправлять приглашения пользователям в несколько репозиториев одновременно
  • Задавать уровень доступа (по умолчанию "Developer")
  • Устанавливать срок действия приглашения
  • Получать информативные сообщения о статусе отправки приглашений

Структура проекта

gitlab-tools/
├── get_access.py      # Скрипт для управления доступом
├── Makefile           # Makefile для упрощенного использования
├── pyproject.toml     # Метаданные проекта и зависимости
├── .env.example       # Пример конфигурационного файла
└── README.md          # Документация

Требования

  • Python 3.11
  • Requests 2.32.3
  • Токен доступа GitLab с правами API

Разработка

Добавление новых репозиториев

Для добавления новых репозиториев в список для автоматической отправки приглашений, отредактируйте переменную repositories в файле get_access.py.

Лицензия

MIT

Авторы

Nick Osipov

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published