185 lines
7 KiB
Markdown
185 lines
7 KiB
Markdown
---
|
|
stage: Plan
|
|
group: Project Management
|
|
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
|
---
|
|
|
|
# Group milestones API **(FREE)**
|
|
|
|
Use the group [milestones](../user/project/milestones/index.md) using the REST API.
|
|
There's a separate [project milestones API](milestones.md) page.
|
|
|
|
## List group milestones
|
|
|
|
Returns a list of group milestones.
|
|
|
|
```plaintext
|
|
GET /groups/:id/milestones
|
|
GET /groups/:id/milestones?iids[]=42
|
|
GET /groups/:id/milestones?iids[]=42&iids[]=43
|
|
GET /groups/:id/milestones?state=active
|
|
GET /groups/:id/milestones?state=closed
|
|
GET /groups/:id/milestones?title=1.0
|
|
GET /groups/:id/milestones?search=version
|
|
GET /groups/:id/milestones?updated_before=2013-10-02T09%3A24%3A18Z
|
|
GET /groups/:id/milestones?updated_after=2013-10-02T09%3A24%3A18Z
|
|
```
|
|
|
|
Parameters:
|
|
|
|
| Attribute | Type | Required | Description |
|
|
| --------- | ------ | -------- | ----------- |
|
|
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-path-encoding) owned by the authenticated user |
|
|
| `iids[]` | integer array | no | Return only the milestones having the given `iid` (Note: ignored if `include_parent_milestones` is set as `true`) |
|
|
| `state` | string | no | Return only `active` or `closed` milestones |
|
|
| `title` | string | no | Return only the milestones having the given `title` |
|
|
| `search` | string | no | Return only milestones with a title or description matching the provided string |
|
|
| `include_parent_milestones` | boolean | no | Include milestones from parent group and its ancestors. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/196066) in GitLab 13.4 |
|
|
| `updated_before` | datetime | no | Return only milestones updated before the given datetime. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`). Introduced in GitLab 15.10 |
|
|
| `updated_after` | datetime | no | Return only milestones updated after the given datetime. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`). Introduced in GitLab 15.10 |
|
|
|
|
```shell
|
|
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/milestones"
|
|
```
|
|
|
|
Example Response:
|
|
|
|
```json
|
|
[
|
|
{
|
|
"id": 12,
|
|
"iid": 3,
|
|
"group_id": 16,
|
|
"title": "10.0",
|
|
"description": "Version",
|
|
"due_date": "2013-11-29",
|
|
"start_date": "2013-11-10",
|
|
"state": "active",
|
|
"updated_at": "2013-10-02T09:24:18Z",
|
|
"created_at": "2013-10-02T09:24:18Z",
|
|
"expired": false,
|
|
"web_url": "https://gitlab.com/groups/gitlab-org/-/milestones/42"
|
|
}
|
|
]
|
|
```
|
|
|
|
## Get single milestone
|
|
|
|
Gets a single group milestone.
|
|
|
|
```plaintext
|
|
GET /groups/:id/milestones/:milestone_id
|
|
```
|
|
|
|
Parameters:
|
|
|
|
| Attribute | Type | Required | Description |
|
|
| --------- | ------ | -------- | ----------- |
|
|
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-path-encoding) owned by the authenticated user |
|
|
| `milestone_id` | integer | yes | The ID of the group milestone |
|
|
|
|
## Create new milestone
|
|
|
|
Creates a new group milestone.
|
|
|
|
```plaintext
|
|
POST /groups/:id/milestones
|
|
```
|
|
|
|
Parameters:
|
|
|
|
| Attribute | Type | Required | Description |
|
|
| --------- | ------ | -------- | ----------- |
|
|
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-path-encoding) owned by the authenticated user |
|
|
| `title` | string | yes | The title of a milestone |
|
|
| `description` | string | no | The description of the milestone |
|
|
| `due_date` | date | no | The due date of the milestone, in ISO 8601 format (`YYYY-MM-DD`) |
|
|
| `start_date` | date | no | The start date of the milestone, in ISO 8601 format (`YYYY-MM-DD`) |
|
|
|
|
## Edit milestone
|
|
|
|
Updates an existing group milestone.
|
|
|
|
```plaintext
|
|
PUT /groups/:id/milestones/:milestone_id
|
|
```
|
|
|
|
Parameters:
|
|
|
|
| Attribute | Type | Required | Description |
|
|
| --------- | ------ | -------- | ----------- |
|
|
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-path-encoding) owned by the authenticated user |
|
|
| `milestone_id` | integer | yes | The ID of a group milestone |
|
|
| `title` | string | no | The title of a milestone |
|
|
| `description` | string | no | The description of a milestone |
|
|
| `due_date` | date | no | The due date of the milestone, in ISO 8601 format (`YYYY-MM-DD`) |
|
|
| `start_date` | date | no | The start date of the milestone, in ISO 8601 format (`YYYY-MM-DD`) |
|
|
| `state_event` | string | no | The state event of the milestone _(`close` or `activate`)_ |
|
|
|
|
## Delete group milestone
|
|
|
|
Only for users with the Developer role in the group.
|
|
|
|
```plaintext
|
|
DELETE /groups/:id/milestones/:milestone_id
|
|
```
|
|
|
|
Parameters:
|
|
|
|
| Attribute | Type | Required | Description |
|
|
| --------- | ------ | -------- | ----------- |
|
|
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-path-encoding) owned by the authenticated user |
|
|
| `milestone_id` | integer | yes | The ID of the group's milestone |
|
|
|
|
## Get all issues assigned to a single milestone
|
|
|
|
Gets all issues assigned to a single group milestone.
|
|
|
|
```plaintext
|
|
GET /groups/:id/milestones/:milestone_id/issues
|
|
```
|
|
|
|
Parameters:
|
|
|
|
| Attribute | Type | Required | Description |
|
|
| --------- | ------ | -------- | ----------- |
|
|
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-path-encoding) owned by the authenticated user |
|
|
| `milestone_id` | integer | yes | The ID of a group milestone |
|
|
|
|
Currently, this API endpoint doesn't return issues from any subgroups.
|
|
If you want to get all the milestones' issues, you can instead use the
|
|
[List issues API](issues.md#list-issues) and filter for a
|
|
particular milestone (for example, `GET /issues?milestone=1.0.0&state=opened`).
|
|
|
|
## Get all merge requests assigned to a single milestone
|
|
|
|
Gets all merge requests assigned to a single group milestone.
|
|
|
|
```plaintext
|
|
GET /groups/:id/milestones/:milestone_id/merge_requests
|
|
```
|
|
|
|
Parameters:
|
|
|
|
| Attribute | Type | Required | Description |
|
|
| --------- | ------ | -------- | ----------- |
|
|
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-path-encoding) owned by the authenticated user |
|
|
| `milestone_id` | integer | yes | The ID of a group milestone |
|
|
|
|
## Get all burndown chart events for a single milestone **(PREMIUM)**
|
|
|
|
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/4737) in GitLab 12.1
|
|
> - Moved to GitLab Premium in 13.9.
|
|
|
|
Get all burndown chart events for a single milestone.
|
|
|
|
```plaintext
|
|
GET /groups/:id/milestones/:milestone_id/burndown_events
|
|
```
|
|
|
|
Parameters:
|
|
|
|
| Attribute | Type | Required | Description |
|
|
| --------- | ------ | -------- | ----------- |
|
|
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-path-encoding) owned by the authenticated user |
|
|
| `milestone_id` | integer | yes | The ID of a group milestone |
|