hcengineering / hcengineering/platform

Feature Request: Link Commits to Issues in Huly

Open
#7,432 1 comment 4 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.