hcengineering / hcengineering/platform
Feature Request: Add Option to Disable Specific GitHub Sync Features in Huly
- Dominant language
- TypeScript
- Stars
- 27.7k
- Forks
- 2.2k
- PR merge metrics
- No merged PRs in 30d
Description
### Description
As a user, I would like the ability to selectively disable certain parts of the GitHub sync feature in Huly. This will provide greater flexibility and control over what data is synchronized between GitHub and Huly, making the integration more tailored to individual or organizational needs.
### Current Behavior
Currently, the GitHub sync feature in Huly synchronizes all configured data (e.g., repositories, issues, pull requests, etc.) without offering options to exclude specific components.
### Desired Behavior
Introduce a configuration option in Huly to enable or disable specific parts of the GitHub sync process. For example:
- **Issues**: Option to disable syncing of GitHub issues.
- **Pull Requests**: Option to disable syncing of pull request data.
- **Commits/Branches**: Option to exclude commits or branch information from syncing.
### Use Cases
1. **Focused Sync**: Users may only want to sync issues and pull requests without repositories or commits for streamlined workflows.
2. **Privacy Concerns**: Organizations may wish to limit synchronization of sensitive data, such as private repositories or specific commit histories.
3. **Performance Optimization**: Reducing the scope of synchronization can improve performance, especially for users with large repositories or extensive histories.
### Implementation Suggestions
1. **Settings Page**:
- Add a "GitHub Sync" section to the settings page with toggle switches or checkboxes for each sync component (e.g., Repositories, Issues, Pull Requests, Commits/Branches).
2. **API Configuration**:
- Extend the GitHub sync API to support parameters that define which components to include or exclude during the sync process.
3. **Feedback Mechanism**:
- Display a summary of enabled/disabled components in the settings or sync status page to ensure transparency for users.
### Example UI/UX
- A user navigates to the "GitHub Integration Settings" page in Huly.
- The page displays toggle switches for:
- Repositories [Enabled/Disabled]
- Issues [Enabled/Disabled]
- Pull Requests [Enabled/Disabled]
- Commits/Branches [Enabled/Disabled]
- The user selects only "Issues" and "Pull Requests" for syncing, and the changes are saved.
### Benefits
- Enhances user control and customization of the sync feature.
- Addresses specific needs and use cases, improving overall user experience.
- Optimizes performance by reducing unnecessary sync operations.
### Additional Notes
- Consider default settings that enable all sync components to maintain backward compatibility for existing users.
- Include documentation or tooltips to explain the purpose of each sync component for new users.
### Priority
Medium - This feature would significantly improve usability and flexibility but is not critical for core functionality.
### Acceptance Criteria
1. A user can navigate to the settings page and toggle specific GitHub sync components on or off.
2. Sync behavior reflects the selected options, excluding disabled components from the process.
3. Documentation is updated to reflect the new settings and usage instructions.
Contributor guide
No contributing guide indexed for this repository
Research direction
The issue identifies the GitHub Integration Settings page and the GitHub sync API as the main entry points. Start by mapping how repositories, issues, pull requests, and commits/branches are currently synchronized, then define settings that control each component. Done means toggles are saved, disabled components are excluded from sync, and documentation explains the options.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github, typescript
- Domain
- api, full-stack
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 32/100