Skip to content

This tool is designed to synchronize issues between two GitHub repositories, including the ability to create new issues, update existing ones, and close issues based on their state in the upstream repository.

License

Notifications You must be signed in to change notification settings

IOLOII/github-issue-fork

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Issues Sync Tool Documentation

English | 中文


Overview

This tool is designed to synchronize issues between two GitHub repositories, including the ability to create new issues, update existing ones, and close issues based on their state in the upstream repository. Additionally, it logs all operations for debugging and auditing purposes using a standard logging mechanism that can be viewed with macOS's Console.app.


Features

  1. Issue Synchronization: Automatically creates or updates issues in a target repository based on the upstream repository.
  2. State Handling: Checks if an issue is closed in the upstream repository and reflects this change in the target repository.
  3. Logging: Records all actions performed by the script into a log file and system logs for easy tracking and debugging.
  4. Environment Configuration: Uses .env files to manage sensitive information such as access tokens securely.

Setup Instructions

  1. Install Dependencies

    Ensure you have Node.js installed. Then, install the necessary packages:

    pnpm i
  2. Create .env File

    In your project root directory, create a .env file with the following content:

    fork_owner =
    fork_repo =
    owner =
    repo =
    github_token = ghp_***
  3. Run the Script

    Execute script:

    npm start
  4. Terminal script

    npx tsx src/tool.ts --help
    

Usage

The script will automatically handle synchronization of issues from the upstream repository to the target repository. It will also ensure that any issues marked as "closed" in the upstream repository are reflected as such in the target repository.


Logging

All operations performed by the script are logged into application.log located in the same directory as the script. Additionally, logs are outputted to the system log, which can be viewed using macOS's Console.app.


Future

  • 🚀

About

This tool is designed to synchronize issues between two GitHub repositories, including the ability to create new issues, update existing ones, and close issues based on their state in the upstream repository.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published