hcengineering / hcengineering/platform
Feature Request: Link Commits to Issues in Huly
- Dominant language
- TypeScript
- Stars
- 27.7k
- Forks
- 2.2k
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
Enable users to link commits to specific issues in Huly, either as a connection in the side panel or by associating commits with sub-tasks directly within the issue interface. This feature will enhance traceability and streamline development workflows.
## Problem Statement
Currently, Huly does not provide an intuitive way to link commits directly to issues. Developers have to rely on commit messages or external tracking to associate their work with specific tasks. This results in:
- Reduced traceability of work items to their source code changes.
- Lack of visibility into progress from the issue perspective.
- A less seamless experience compared to systems where commits and issues are tightly integrated.
## Proposed Solution
Introduce a feature that allows users to associate commits with issues in two ways:
1. **Side Panel Linking**:
- Display a list of recent or relevant commits in the issue's side panel.
- Provide an option to search for and manually link existing commits.
2. **Sub-task Association**:
- Allow users to create sub-tasks for an issue and associate specific commits with those sub-tasks.
- When viewing the sub-task, show the linked commit details for easy reference.
## Benefits
- Improved visibility of work progress from within issues.
- Easier collaboration by making code changes directly accessible from issues.
- Enhanced traceability and reporting for teams managing multiple tasks.
## Implementation Details
1. **UI Changes**:
- Add a "Linked Commits" section to the issue's side panel.
- Include a button to manually associate commits or view linked ones.
- Display commit details (hash, author, date, and commit message).
2. **Data Model**:
- Extend the issue data structure to store linked commit references.
- Add metadata to commits to store their linked issue ID or sub-task.
3. **API Updates**:
- Provide API endpoints to fetch and manage linked commits.
- Ensure compatibility with existing Git commit and issue workflows.
4. **Integration**:
- Use commit message conventions (e.g., "Fixes #123") to suggest potential links automatically.
## Acceptance Criteria
- Users can manually link/unlink commits to/from an issue.
- Linked commits are visible in the issue's side panel.
- Sub-tasks can have commits explicitly associated with them.
- API endpoints for commit-issue linking are available and documented.
## Alternatives Considered
- Relying solely on commit message conventions, but this lacks manual flexibility and visibility in the UI.
- Using external tools for commit tracking, which increases overhead.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing the issue side panel and the existing commit and issue data flows; the payload does not name specific files or tests. Define the linking model, manual link/unlink behavior, sub-task associations, and API surface before implementation. Done means linked commits appear in the issue UI, sub-tasks support associations, and the documented API meets all listed acceptance criteria.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, typescript
- Domain
- api, backend, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100