mirror of
https://github.com/github/awesome-copilot.git
synced 2026-08-12 20:29:12 +00:00
111 lines
2.4 KiB
Markdown
111 lines
2.4 KiB
Markdown
# Milestones
|
|
|
|
Use milestones to group related issues into a deliverable unit of work.
|
|
|
|
Milestones can be read and managed through the GitHub REST API.
|
|
|
|
## List Milestones
|
|
|
|
```bash
|
|
gh api "repos/{owner}/{repo}/milestones?state=all&per_page=100" \
|
|
--paginate \
|
|
--jq '.[] | {number, title, state, open_issues, closed_issues, due_on}'
|
|
```
|
|
|
|
## Get Milestone
|
|
|
|
```bash
|
|
gh api repos/{owner}/{repo}/milestones/{milestone_number}
|
|
```
|
|
|
|
## Create Milestone
|
|
|
|
```bash
|
|
gh api repos/{owner}/{repo}/milestones \
|
|
-X POST \
|
|
-f title="Milestone title" \
|
|
-f description="Milestone description"
|
|
```
|
|
|
|
Optional due date:
|
|
|
|
```bash
|
|
gh api repos/{owner}/{repo}/milestones \
|
|
-X POST \
|
|
-f title="Milestone title" \
|
|
-f description="Milestone description" \
|
|
-f due_on="2026-09-01T00:00:00Z"
|
|
```
|
|
|
|
## Update Milestone
|
|
|
|
```bash
|
|
gh api repos/{owner}/{repo}/milestones/{milestone_number} \
|
|
-X PATCH \
|
|
-f title="Updated title" \
|
|
-f description="Updated description"
|
|
```
|
|
|
|
## Close Milestone
|
|
|
|
```bash
|
|
gh api repos/{owner}/{repo}/milestones/{milestone_number} \
|
|
-X PATCH \
|
|
-f state=closed
|
|
```
|
|
|
|
## Reopen Milestone
|
|
|
|
```bash
|
|
gh api repos/{owner}/{repo}/milestones/{milestone_number} \
|
|
-X PATCH \
|
|
-f state=open
|
|
```
|
|
|
|
## List Issues in Milestone
|
|
|
|
Use the milestone number, not the milestone title.
|
|
|
|
```bash
|
|
gh api "repos/{owner}/{repo}/issues?milestone={milestone_number}&state=all&per_page=100" \
|
|
--paginate \
|
|
--jq '.[] | select(.pull_request == null) | {number, title, state}'
|
|
```
|
|
|
|
The Issues REST endpoint can also return pull requests, so exclude entries
|
|
containing `pull_request` when the caller specifically requests milestone issues.
|
|
|
|
## Assign Issue to Milestone
|
|
|
|
```bash
|
|
gh api repos/{owner}/{repo}/issues/{issue_number} \
|
|
-X PATCH \
|
|
-F milestone={milestone_number}
|
|
```
|
|
|
|
## Remove Issue from Milestone
|
|
|
|
```bash
|
|
gh api repos/{owner}/{repo}/issues/{issue_number} \
|
|
-X PATCH \
|
|
-F milestone=null
|
|
```
|
|
|
|
## Delete Milestone
|
|
|
|
Delete a milestone only when explicitly requested.
|
|
|
|
```bash
|
|
gh api repos/{owner}/{repo}/milestones/{milestone_number} \
|
|
-X DELETE
|
|
```
|
|
|
|
## Usage Rules
|
|
|
|
- Use milestone numbers for API operations.
|
|
- A milestone groups work; it does not define issue execution order.
|
|
- Use native issue dependencies for execution ordering.
|
|
- Do not infer dependencies merely because issues belong to the same milestone.
|
|
- Listing a milestone for an automated workflow should include all open and
|
|
closed issues unless the caller explicitly requests otherwise.
|