Skip to content

v2.1.0 - GitHub Issues Support

Choose a tag to compare

@jordanpartridge jordanpartridge released this 17 Jun 04:29
· 31 commits to master since this release
b98ff9b

✨ New Features

πŸ“‹ GitHub Issues Support

Complete GitHub Issues management functionality added to the client.

New IssueResource Methods:

  • πŸ” List issues - ->issues()->all('owner/repo', ['state' => 'open'])
  • πŸ“ Create issues - ->issues()->create('owner/repo', 'Title', 'Body', ['labels' => ['bug']])
  • πŸ‘οΈ Get specific issue - ->issues()->get('owner/repo', 123)
  • ✏️ Update issues - ->issues()->update('owner/repo', 123, ['state' => 'closed'])

Request Classes Added:

  • ListIssuesRequest - List issues with filtering
  • GetIssueRequest - Get specific issue details
  • CreateIssueRequest - Create new issues
  • UpdateIssueRequest - Update existing issues

Filtering & Options:

  • Filter by state (open, closed, all)
  • Filter by labels, assignees, milestones
  • Sort by created, updated, or comments
  • Full pagination support

πŸ”§ Integration:

  • Added issues() method to Github class
  • Added issues() method to GithubConnector
  • Updated GithubConnectorInterface with Issues support
  • Proper DTO support using Issue::from() pattern

πŸš€ AI & Automation Ready

Perfect foundation for:

  • AI-driven issue management
  • Automated bug reporting
  • Issue workflow automation
  • GitHub Zero CLI Issues commands

πŸ“¦ Installation

composer require jordanpartridge/github-client:^2.1.0

πŸ’‘ Usage Example

$github = new Github($connector);

// List open issues
$issues = $github->issues()->all('owner/repo', ['state' => 'open']);

// Create a new issue
$issue = $github->issues()->create('owner/repo', 'Bug Report', 'Description here', [
    'labels' => ['bug', 'priority-high']
]);