Skip to content
109 changes: 44 additions & 65 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -635,44 +635,48 @@ The following sets of tools are available:
- `owner`: Repository owner (string, required)
- `repo`: Repository name (string, required)

- **add_sub_issue** - Add sub-issue
- `issue_number`: The number of the parent issue (number, required)
- `owner`: Repository owner (string, required)
- `replace_parent`: When true, replaces the sub-issue's current parent issue (boolean, optional)
- `repo`: Repository name (string, required)
- `sub_issue_id`: The ID of the sub-issue to add. ID is not the same as issue number (number, required)

- **assign_copilot_to_issue** - Assign Copilot to issue
- `issueNumber`: Issue number (number, required)
- `owner`: Repository owner (string, required)
- `repo`: Repository name (string, required)

- **create_issue** - Open new issue
- `assignees`: Usernames to assign to this issue (string[], optional)
- `body`: Issue body content (string, optional)
- `labels`: Labels to apply to this issue (string[], optional)
- `milestone`: Milestone number (number, optional)
- `owner`: Repository owner (string, required)
- **get_label** - Get a specific label from a repository.
- `name`: Label name. (string, required)
- `owner`: Repository owner (username or organization name) (string, required)
- `repo`: Repository name (string, required)
- `title`: Issue title (string, required)
- `type`: Type of this issue (string, optional)

- **get_issue** - Get issue details
- **issue_read** - Get issue details
- `issue_number`: The number of the issue (number, required)
- `method`: The read operation to perform on a single issue.
Options are:
1. get - Get details of a specific issue.
2. get_comments - Get issue comments.
3. get_sub_issues - Get sub-issues of the issue.
4. get_labels - Get labels assigned to the issue.
(string, required)
- `owner`: The owner of the repository (string, required)
- `repo`: The name of the repository (string, required)

- **get_issue_comments** - Get issue comments
- `issue_number`: Issue number (number, required)
- `owner`: Repository owner (string, required)
- `page`: Page number for pagination (min 1) (number, optional)
- `perPage`: Results per page for pagination (min 1, max 100) (number, optional)
- `repo`: Repository name (string, required)
- `repo`: The name of the repository (string, required)

- **get_label** - Get a specific label from a repository.
- `name`: Label name. (string, required)
- `owner`: Repository owner (username or organization name) (string, required)
- **issue_write** - Create or update issue.
- `assignees`: Usernames to assign to this issue (string[], optional)
- `body`: Issue body content (string, optional)
- `duplicate_of`: Issue number that this issue is a duplicate of. Only used when state_reason is 'duplicate'. (number, optional)
- `issue_number`: Issue number to update (number, optional)
- `labels`: Labels to apply to this issue (string[], optional)
- `method`: Write operation to perform on a single issue.
Options are:
- 'create' - creates a new issue.
- 'update' - updates an existing issue.
(string, required)
- `milestone`: Milestone number (number, optional)
- `owner`: Repository owner (string, required)
- `repo`: Repository name (string, required)
- `state`: New state (string, optional)
- `state_reason`: Reason for the state change. Ignored unless state is changed. (string, optional)
- `title`: Issue title (string, optional)
- `type`: Type of this issue (string, optional)

- **list_issue_types** - List available issue types
- `owner`: The organization owner of the repository (string, required)
Expand All @@ -688,32 +692,6 @@ The following sets of tools are available:
- `since`: Filter by date (ISO 8601 timestamp) (string, optional)
- `state`: Filter by state, by default both open and closed issues are returned when not provided (string, optional)

- **list_label** - List labels from a repository or an issue
- `issue_number`: Issue number - if provided, lists labels on the specific issue (number, optional)
- `owner`: Repository owner (username or organization name) - required for all operations (string, required)
- `repo`: Repository name - required for all operations (string, required)

- **list_sub_issues** - List sub-issues
- `issue_number`: Issue number (number, required)
- `owner`: Repository owner (string, required)
- `page`: Page number for pagination (default: 1) (number, optional)
- `per_page`: Number of results per page (max 100, default: 30) (number, optional)
- `repo`: Repository name (string, required)

- **remove_sub_issue** - Remove sub-issue
- `issue_number`: The number of the parent issue (number, required)
- `owner`: Repository owner (string, required)
- `repo`: Repository name (string, required)
- `sub_issue_id`: The ID of the sub-issue to remove. ID is not the same as issue number (number, required)

- **reprioritize_sub_issue** - Reprioritize sub-issue
- `after_id`: The ID of the sub-issue to be prioritized after (either after_id OR before_id should be specified) (number, optional)
- `before_id`: The ID of the sub-issue to be prioritized before (either after_id OR before_id should be specified) (number, optional)
- `issue_number`: The number of the parent issue (number, required)
- `owner`: Repository owner (string, required)
- `repo`: Repository name (string, required)
- `sub_issue_id`: The ID of the sub-issue to reprioritize. ID is not the same as issue number (number, required)

- **search_issues** - Search issues
- `order`: Sort order (string, optional)
- `owner`: Optional repository owner. If provided with repo, only issues for this repository are listed. (string, optional)
Expand All @@ -723,19 +701,20 @@ The following sets of tools are available:
- `repo`: Optional repository name. If provided with owner, only issues for this repository are listed. (string, optional)
- `sort`: Sort field by number of matches of categories, defaults to best match (string, optional)

- **update_issue** - Edit issue
- `assignees`: New assignees (string[], optional)
- `body`: New description (string, optional)
- `duplicate_of`: Issue number that this issue is a duplicate of. Only used when state_reason is 'duplicate'. (number, optional)
- `issue_number`: Issue number to update (number, required)
- `labels`: New labels (string[], optional)
- `milestone`: New milestone number (number, optional)
- **sub_issue_write** - Change sub-issue
- `after_id`: The ID of the sub-issue to be prioritized after (either after_id OR before_id should be specified) (number, optional)
- `before_id`: The ID of the sub-issue to be prioritized before (either after_id OR before_id should be specified) (number, optional)
- `issue_number`: The number of the parent issue (number, required)
- `method`: The action to perform on a single sub-issue
Options are:
- 'add' - add a sub-issue to a parent issue in a GitHub repository.
- 'remove' - remove a sub-issue from a parent issue in a GitHub repository.
- 'reprioritize' - change the order of sub-issues within a parent issue in a GitHub repository. Use either 'after_id' or 'before_id' to specify the new position.
(string, required)
- `owner`: Repository owner (string, required)
- `replace_parent`: When true, replaces the sub-issue's current parent issue. Use with 'add' method only. (boolean, optional)
- `repo`: Repository name (string, required)
- `state`: New state (string, optional)
- `state_reason`: Reason for the state change. Ignored unless state is changed. (string, optional)
- `title`: New title (string, optional)
- `type`: New issue type (string, optional)
- `sub_issue_id`: The ID of the sub-issue to add. ID is not the same as issue number (number, required)

</details>

Expand All @@ -757,8 +736,7 @@ The following sets of tools are available:
- `owner`: Repository owner (username or organization name) (string, required)
- `repo`: Repository name (string, required)

- **list_label** - List labels from a repository or an issue
- `issue_number`: Issue number - if provided, lists labels on the specific issue (number, optional)
- **list_label** - List labels from a repository
- `owner`: Repository owner (username or organization name) - required for all operations (string, required)
- `repo`: Repository name - required for all operations (string, required)

Expand Down Expand Up @@ -927,8 +905,9 @@ Possible options:
2. get_diff - Get the diff of a pull request.
3. get_status - Get status of a head commit in a pull request. This reflects status of builds and checks.
4. get_files - Get the list of files changed in a pull request. Use with pagination parameters to control the number of results returned.
5. get_review_comments - Get the review comments on a pull request. Use with pagination parameters to control the number of results returned.
5. get_review_comments - Get the review comments on a pull request. They are comments made on a portion of the unified diff during a pull request review. Use with pagination parameters to control the number of results returned.
6. get_reviews - Get the reviews on a pull request. When asked for review comments, use get_review_comments method.
7. get_comments - Get comments on a pull request. Use this if user doesn't specifically want review comments. Use with pagination parameters to control the number of results returned.
(string, required)
- `owner`: Repository owner (string, required)
- `page`: Page number for pagination (min 1) (number, optional)
Expand Down
2 changes: 1 addition & 1 deletion pkg/github/__toolsnaps__/add_issue_comment.snap
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"title": "Add comment to issue",
"readOnlyHint": false
},
"description": "Add a comment to a specific issue in a GitHub repository.",
"description": "Add a comment to a specific issue in a GitHub repository. Use this tool to add comments to pull requests as well (in this case pass pull request number as issue_number), but only if user is not asking specifically to add review comments.",
"inputSchema": {
"properties": {
"body": {
Expand Down
39 changes: 0 additions & 39 deletions pkg/github/__toolsnaps__/add_sub_issue.snap

This file was deleted.

30 changes: 0 additions & 30 deletions pkg/github/__toolsnaps__/get_issue.snap

This file was deleted.

41 changes: 0 additions & 41 deletions pkg/github/__toolsnaps__/get_issue_comments.snap

This file was deleted.

52 changes: 52 additions & 0 deletions pkg/github/__toolsnaps__/issue_read.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
{
"annotations": {
"title": "Get issue details",
"readOnlyHint": true
},
"description": "Get information about a specific issue in a GitHub repository.",
"inputSchema": {
"properties": {
"issue_number": {
"description": "The number of the issue",
"type": "number"
},
"method": {
"description": "The read operation to perform on a single issue. \nOptions are: \n1. get - Get details of a specific issue.\n2. get_comments - Get issue comments.\n3. get_sub_issues - Get sub-issues of the issue.\n4. get_labels - Get labels assigned to the issue.\n",
"enum": [
"get",
"get_comments",
"get_sub_issues",
"get_labels"
],
"type": "string"
},
"owner": {
"description": "The owner of the repository",
"type": "string"
},
"page": {
"description": "Page number for pagination (min 1)",
"minimum": 1,
"type": "number"
},
"perPage": {
"description": "Results per page for pagination (min 1, max 100)",
"maximum": 100,
"minimum": 1,
"type": "number"
},
"repo": {
"description": "The name of the repository",
"type": "string"
}
},
"required": [
"method",
"owner",
"repo",
"issue_number"
],
"type": "object"
},
"name": "issue_read"
}
Loading
Loading