hcengineering / hcengineering/platform
Feature Request: Generic Git server integration (GitLab, Gitea, Forgejo, etc.)
- Dominant language
- TypeScript
- Stars
- 27.7k
- Forks
- 2.2k
- PR merge metrics
- No merged PRs in 30d
Description
### Summary
Add support for integrating with **any Git server** that supports Git over HTTP(S) and basic REST/GraphQL APIs. This should include popular self-hosted solutions like **GitLab**, **Gitea**, **Forgejo**, and others.
### Motivation
Many teams use self-hosted Git servers for privacy, compliance, or cost reasons. A flexible integration would make Huly viable for those environments without relying solely on GitHub.
### Proposed Features
- **Server configuration**:
- Git server base URL
- Personal Access Token (PAT) or OAuth2 token
- Optional: self-signed certificate handling / custom CA
- **Auto-detection**:
- Detect server type (GitLab, Gitea, Forgejo, etc.) and adapt API calls accordingly.
- **Repository linking**:
- Map repositories to Huly projects.
- Display commits, branches, and merge requests inside Huly UI.
- **Webhook support**:
- Receive push, PR, and issue events via webhooks.
- Allow linking commits to tasks via commit messages (e.g., `Fixes TASK-123`).
- **Permissions**:
- Respect repository visibility and user permissions.
### Acceptance Criteria
- [ ] Ability to add a Git server via URL + token.
- [ ] Auto-detection of server type and API version.
- [ ] Display commits, branches, PRs/MRs in Huly interface.
- [ ] Webhook endpoint to receive real-time updates.
- [ ] Documentation with examples for GitLab and Gitea,.
### Additional Context
- GitLab API: `https://docs.gitlab.com/api/`
- Gitea API Swagger: `https://gitea.com/api/swagger`
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.