Skip to content
24 changes: 24 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -821,6 +821,30 @@ The following sets of tools are available:
- `owner`: Repository owner (username or organization name) (string, required)
- `repo`: Repository name (string, required)

- **issue_dependency_read** - Get issue dependencies
- **Required OAuth Scopes**: `repo`
- `issue_number`: The number of the issue (number, required)
- `method`: The read operation to perform on issue dependencies.
Options are:
- 'get_blocked_by' - Get the list of issues that block this issue.
(string, 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)

- **issue_dependency_write** - Manage issue dependencies
- **Required OAuth Scopes**: `repo`
- `blocking_issue_id`: The ID (not number) of the issue that blocks this issue (number, required)
- `issue_number`: The number of the issue that is blocked (number, required)
- `method`: The action to perform on issue dependencies.
Options are:
- 'add' - Add a 'blocked by' relationship, indicating this issue is blocked by another issue.
- 'remove' - Remove a 'blocked by' relationship.
(string, required)
- `owner`: Repository owner (string, required)
- `repo`: Repository name (string, required)

- **issue_read** - Get issue details
- **Required OAuth Scopes**: `repo`
- `issue_number`: The number of the issue (number, required)
Expand Down
49 changes: 49 additions & 0 deletions pkg/github/__toolsnaps__/issue_dependency_read.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
"annotations": {
"readOnlyHint": true,
"title": "Get issue dependencies"
},
"description": "Get information about issue dependencies, such as which issues block this issue.",
"inputSchema": {
"properties": {
"issue_number": {
"description": "The number of the issue",
"type": "number"
},
"method": {
"description": "The read operation to perform on issue dependencies.\nOptions are:\n- 'get_blocked_by' - Get the list of issues that block this issue.\n",
"enum": [
"get_blocked_by"
],
"type": "string"
},
"owner": {
"description": "Repository owner",
"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": "Repository name",
"type": "string"
}
},
"required": [
"method",
"owner",
"repo",
"issue_number"
],
"type": "object"
},
"name": "issue_dependency_read"
}
43 changes: 43 additions & 0 deletions pkg/github/__toolsnaps__/issue_dependency_write.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{
"annotations": {
"title": "Manage issue dependencies"
},
"description": "Manage issue dependencies by adding or removing 'blocked by' relationships between issues.",
"inputSchema": {
"properties": {
"blocking_issue_id": {
"description": "The ID (not number) of the issue that blocks this issue",
"type": "number"
},
"issue_number": {
"description": "The number of the issue that is blocked",
"type": "number"
},
"method": {
"description": "The action to perform on issue dependencies.\nOptions are:\n- 'add' - Add a 'blocked by' relationship, indicating this issue is blocked by another issue.\n- 'remove' - Remove a 'blocked by' relationship.\n",
"enum": [
"add",
"remove"
],
"type": "string"
},
"owner": {
"description": "Repository owner",
"type": "string"
},
"repo": {
"description": "Repository name",
"type": "string"
}
},
"required": [
"method",
"owner",
"repo",
"issue_number",
"blocking_issue_id"
],
"type": "object"
},
"name": "issue_dependency_write"
}
5 changes: 5 additions & 0 deletions pkg/github/helper_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,11 @@ const (
DeleteReposIssuesSubIssueByOwnerByRepoByIssueNumber = "DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue"
PatchReposIssuesSubIssuesPriorityByOwnerByRepoByIssueNumber = "PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority"

// Issue dependency endpoints
GetReposIssuesDependenciesBlockedByByOwnerByRepoByIssueNumber = "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by"
PostReposIssuesDependenciesBlockedByByOwnerByRepoByIssueNumber = "POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by"
DeleteReposIssuesDependenciesBlockedByByOwnerByRepoByIssueNumberByIssueID = "DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}"

// Pull request endpoints
GetReposPullsByOwnerByRepo = "GET /repos/{owner}/{repo}/pulls"
GetReposPullsByOwnerByRepoByPullNumber = "GET /repos/{owner}/{repo}/pulls/{pull_number}"
Expand Down
Loading