Skip to content

Conversation

@drtootsie
Copy link

Summary

This PR implements issue dependency support requested in #950, adding the ability to read and write "blocked by" and "blocking" relationships between GitHub issues.

Changes

Read Functionality

  • Added get_dependencies method to IssueRead tool
  • Implemented GetIssueDependencies() function to fetch issue dependencies
  • Added IssueDependency and IssueDependencies data structures

Write Functionality

  • Implemented DependencyWrite tool with add and remove methods
  • Implemented AddIssueDependency() function to create dependency relationships
  • Implemented RemoveIssueDependency() function to delete dependency relationships
  • Registered DependencyWrite in the AllTools list

Implementation Details

The implementation uses custom API requests via client.NewRequest() and client.Do() since the go-github library doesn't have built-in support for the issue dependencies endpoints:

  • GET /repos/{owner}/{repo}/issues/{number}/dependencies - List dependencies
  • POST /repos/{owner}/{repo}/issues/{number}/dependencies - Add dependency
  • DELETE /repos/{owner}/{repo}/issues/{number}/dependencies/{id} - Remove dependency

Quality Assurance

✅ All tests passing
✅ Linter passing (0 issues)
✅ Documentation generated
✅ Tool snapshots updated

Related Issues

Closes #950

Checklist

  • Implementation follows existing code patterns (similar to SubIssueWrite)
  • Added comprehensive error handling
  • Used appropriate data structures
  • Registered tool in AllTools list
  • Tests passing
  • Linter passing
  • Documentation generated

drtootsie and others added 3 commits February 2, 2026 18:25
- Add 'get_dependencies' enum value to IssueRead tool method parameter
- Implement GetIssueDependencies function to fetch dependency relationships
- Support both 'depends_on' (blocked by) and 'blocking' relationships
- Use GitHub REST API /repos/{owner}/{repo}/issues/{number}/dependencies endpoint

Addresses github#950 (read functionality)
- Implement DependencyWrite tool with 'add' and 'remove' methods
- Add AddIssueDependency function to create dependency relationships
- Add RemoveIssueDependency function to delete dependency relationships
- Register DependencyWrite tool in AllTools list
- Support POST /repos/{owner}/{repo}/issues/{number}/dependencies endpoint
- Support DELETE /repos/{owner}/{repo}/issues/{number}/dependencies/{id} endpoint

Addresses github#950 (write functionality)
- Remove unused cache parameter from GetIssueDependencies
- Update tool snapshots for issue_read tool with new get_dependencies method
- Regenerate README.md with updated tool documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@drtootsie drtootsie requested a review from a team as a code owner February 3, 2026 00:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add ability to fetch issue relationships (parent, blocked by, etc..)

1 participant