gitlab_activity_importer

package module
v1.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 8, 2025 License: MIT Imports: 0 Imported by: 0

README

Go Report Card Latest Release

Git activity Importer (Gitlab -> Github)

A tool to transfer your GitLab commit history to GitHub, reflecting your GitLab activity on GitHub’s contribution graph.

Table of Contents

Overview

This tool fetches your commit history from private GitLab repositories and imports it into a specified GitHub repository, creating a visual representation of your activity on GitHub’s contribution graph. It can be configured for automated daily imports or manual runs.

Features

  • Automated Daily Imports: Syncs your GitLab activity with GitHub automatically each day.
  • Manual Imports: Allows on-demand updates.
  • Secure Data Handling: Requires minimal permissions and uses GitHub repository secrets for configuration.

Setup

This approach will automatically keep your activity up to date. The program is being run daily at midnight UTC. It imports your latest commits and automatically pushes them to specified GitHub repository.

To do that follow these steps:

  1. Fork this repository to your GitHub account.
  2. Create an empty repository in your GitHub profile where the commits will be pushed.
  3. Configure repository secrets in your forked repository:
    • Go to your forked repository settings.

    • Under Security, navigate to Secrets and variables > Actions. Repository Secrets Configuration

    • Add the following secrets:

      Secret Name Description
      BASE_URL URL of your GitLab instance (e.g., https://gitlab.com)
      COMMITER_EMAIL Email associated with your GitHub profile
      COMMITER_NAME Your full name as it appears on GitHub
      GITLAB_TOKEN GitLab personal access token (read permissions only)
      ORIGIN_TOKEN GitHub personal access token (with write permissions for auto-push)
      ORIGIN_REPO_URL HTTPS URL of your GitHub repository (ensure it has a .git extension)

Once these variables are saved in your Repository secrets, your commits will be automatically updated every day.

2. Manual Imports

If you prefer to run the importer manually:

  1. Download the latest release of the tool.
  2. Set up the same environment variables on your local machine:
export BASE_URL=https://gitlab.com
export COMMITER_EMAIL=your_email@example.com
...
  1. Run the tool locally whenever you want to sync your activity.

Configuration

This project uses GitHub Actions to automate builds and daily synchronization:

  • GitHub Actions Workflow: The .github/workflows/schedule.yml defines the automation steps for building and running the tool.
  • Secrets Configuration: The secrets allow secure storage and retrieval of required tokens and URLs during automation.
Important Notes:
  • GitLab permissions: The tool requires read-only access to your GitLab user and Gitlab repositories (read_user and read_repository)
  • GitHub permissions: Your GitHub token must have write access to the destination repository for automatic pushes.

License

This project is licensed under the MIT License, which allows for free, unrestricted use, copying, modification, and distribution with attribution.

Documentation

Overview

Package gitlab_activity_importer provides a tool to transfer your GitLab commit history to GitHub, reflecting your GitLab activity on GitHub’s contribution graph.

Overview

This tool fetches your commit history from private GitLab repositories and imports it into a specified GitHub repository, creating a visual representation of your activity on GitHub’s contribution graph. It can be configured for automated daily imports (via GitHub Actions) or manual runs.

Features:

  • Automated daily imports: Syncs your GitLab activity with GitHub automatically.
  • Manual imports: Allows on-demand updates.
  • Secure data handling: Uses repository secrets for configuration.

Usage

See the project README for setup and configuration instructions: https://github.com/furmanp/gitlab-activity-importer

Index

Constants

This section is empty.

Variables

View Source
var Version = "{{VERSION}}"

Version is the current version of the tool.

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL