Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
53c4dec
feat: Add createMilestone tool
google-labs-jules[bot] Aug 23, 2025
ef2a684
Merge pull request #1 from yevheniidehtiar/feature/create-milestone
yevheniidehtiar Aug 24, 2025
6ee1133
fix: Make state parameter required for createMilestone
google-labs-jules[bot] Aug 24, 2025
3bccb43
Merge pull request #2 from yevheniidehtiar/feature/create-milestone
yevheniidehtiar Aug 24, 2025
4c8af52
This commit introduces a new endpoint to edit milestones in a GitHub …
google-labs-jules[bot] Sep 1, 2025
f3e54b4
Merge pull request #3 from yevheniidehtiar/add-edit-milestone-endpoint
yevheniidehtiar Sep 1, 2025
5321b4f
feat: implement delete milestone endpoint
google-labs-jules[bot] Sep 1, 2025
f24a103
feat: implement delete milestone endpoint
google-labs-jules[bot] Sep 1, 2025
f0b99b8
feat: implement delete milestone endpoint
google-labs-jules[bot] Sep 1, 2025
eb35d67
Merge pull request #4 from yevheniidehtiar/delete-milestone-endpoint
yevheniidehtiar Sep 1, 2025
d76a8d5
feat: Implement list_milestones and search_milestones commands
google-labs-jules[bot] Sep 2, 2025
07ddd7c
Merge pull request #5 from yevheniidehtiar/feat/milestone-commands
yevheniidehtiar Sep 2, 2025
b50d040
Merge branch 'main' into main
yevheniidehtiar Sep 2, 2025
75abeea
Merge branch 'main' into main
yevheniidehtiar Sep 2, 2025
acfa445
Merge branch 'main' into main
yevheniidehtiar Sep 9, 2025
c0769dd
Merge branch 'main' into main
yevheniidehtiar Sep 12, 2025
baca9f4
Merge branch 'main' into main
yevheniidehtiar Oct 15, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -657,6 +657,28 @@ The following sets of tools are available:
- `title`: Issue title (string, required)
- `type`: Type of this issue (string, optional)

- **create_milestone** - Create new milestone
- `description`: Milestone description (string, optional)
- `due_on`: Milestone due date in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ) (string, optional)
- `owner`: Repository owner (string, required)
- `repo`: Repository name (string, required)
- `state`: Milestone state (string, required)
- `title`: Milestone title (string, required)

- **delete_milestone** - Delete milestone
- `milestone_number`: The number of the milestone to delete (number, required)
- `owner`: Repository owner (string, required)
- `repo`: Repository name (string, required)

- **edit_milestone** - Edit milestone
- `description`: New milestone description (string, optional)
- `due_on`: New milestone due date in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ) (string, optional)
- `milestone_number`: The number of the milestone to edit (number, required)
- `owner`: Repository owner (string, required)
- `repo`: Repository name (string, required)
- `state`: New milestone state (string, optional)
- `title`: New milestone title (string, optional)

- **get_issue** - Get issue details
- `issue_number`: The number of the issue (number, required)
- `owner`: The owner of the repository (string, required)
Expand Down Expand Up @@ -688,6 +710,15 @@ 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_milestones** - List milestones
- `direction`: Sort direction (string, optional)
- `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)
- `sort`: Sort field (string, optional)
- `state`: Filter by state (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)
Expand Down Expand Up @@ -723,6 +754,12 @@ 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)

- **search_milestones** - Search milestones
- `owner`: Repository owner (string, required)
- `query`: Search query to filter milestones by title or description (string, required)
- `repo`: Repository name (string, required)
- `state`: Filter by state (string, optional)

- **update_issue** - Edit issue
- `assignees`: New assignees (string[], optional)
- `body`: New description (string, optional)
Expand Down
47 changes: 47 additions & 0 deletions pkg/github/__toolsnaps__/create_milestone.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{
"annotations": {
"title": "Create new milestone",
"readOnlyHint": false
},
"description": "Create a new milestone in a GitHub repository.",
"inputSchema": {
"properties": {
"description": {
"description": "Milestone description",
"type": "string"
},
"due_on": {
"description": "Milestone due date in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ)",
"type": "string"
},
"owner": {
"description": "Repository owner",
"type": "string"
},
"repo": {
"description": "Repository name",
"type": "string"
},
"state": {
"description": "Milestone state",
"enum": [
"open",
"closed"
],
"type": "string"
},
"title": {
"description": "Milestone title",
"type": "string"
}
},
"required": [
"owner",
"repo",
"title",
"state"
],
"type": "object"
},
"name": "create_milestone"
}
30 changes: 30 additions & 0 deletions pkg/github/__toolsnaps__/delete_milestone.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"annotations": {
"title": "Delete milestone",
"readOnlyHint": false
},
"description": "Delete a milestone from a GitHub repository.",
"inputSchema": {
"properties": {
"milestone_number": {
"description": "The number of the milestone to delete",
"type": "number"
},
"owner": {
"description": "Repository owner",
"type": "string"
},
"repo": {
"description": "Repository name",
"type": "string"
}
},
"required": [
"owner",
"repo",
"milestone_number"
],
"type": "object"
},
"name": "delete_milestone"
}
50 changes: 50 additions & 0 deletions pkg/github/__toolsnaps__/edit_milestone.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
{
"annotations": {
"title": "Edit milestone",
"readOnlyHint": false
},
"description": "Edit an existing milestone in a GitHub repository.",
"inputSchema": {
"properties": {
"description": {
"description": "New milestone description",
"type": "string"
},
"due_on": {
"description": "New milestone due date in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ)",
"type": "string"
},
"milestone_number": {
"description": "The number of the milestone to edit",
"type": "number"
},
"owner": {
"description": "Repository owner",
"type": "string"
},
"repo": {
"description": "Repository name",
"type": "string"
},
"state": {
"description": "New milestone state",
"enum": [
"open",
"closed"
],
"type": "string"
},
"title": {
"description": "New milestone title",
"type": "string"
}
},
"required": [
"owner",
"repo",
"milestone_number"
],
"type": "object"
},
"name": "edit_milestone"
}
61 changes: 61 additions & 0 deletions pkg/github/__toolsnaps__/list_milestones.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
{
"annotations": {
"title": "List milestones",
"readOnlyHint": true
},
"description": "List milestones for a repository.",
"inputSchema": {
"properties": {
"direction": {
"description": "Sort direction",
"enum": [
"asc",
"desc"
],
"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"
},
"sort": {
"description": "Sort field",
"enum": [
"due_on",
"completeness"
],
"type": "string"
},
"state": {
"description": "Filter by state",
"enum": [
"open",
"closed",
"all"
],
"type": "string"
}
},
"required": [
"owner",
"repo"
],
"type": "object"
},
"name": "list_milestones"
}
39 changes: 39 additions & 0 deletions pkg/github/__toolsnaps__/search_milestones.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
"annotations": {
"title": "Search milestones",
"readOnlyHint": true
},
"description": "Search for milestones in a repository.",
"inputSchema": {
"properties": {
"owner": {
"description": "Repository owner",
"type": "string"
},
"query": {
"description": "Search query to filter milestones by title or description",
"type": "string"
},
"repo": {
"description": "Repository name",
"type": "string"
},
"state": {
"description": "Filter by state",
"enum": [
"open",
"closed",
"all"
],
"type": "string"
}
},
"required": [
"owner",
"repo",
"query"
],
"type": "object"
},
"name": "search_milestones"
}
Loading