Project and group milestone CRUD plus associated issues/MRs and burndown events.
!!! note "Feature toggle"
Opt-in. Enable via GITLAB_TOOLSETS=milestones (or GITLAB_TOOLSETS=all), or use the legacy USE_MILESTONE=true flag for backward compatibility.
list_milestones— 📖 Read-onlyget_milestone— 📖 Read-onlycreate_milestone— ✏️ Writesedit_milestone— ✏️ Writesdelete_milestone— ✏️ Writesget_milestone_issue— 📖 Read-onlyget_milestone_merge_requests— 📖 Read-onlypromote_milestone— ✏️ Writesget_milestone_burndown_events— 📖 Read-onlylist_group_milestones— 📖 Read-onlyget_group_milestone— 📖 Read-onlycreate_group_milestone— ✏️ Writesedit_group_milestone— ✏️ Writesdelete_group_milestone— ✏️ Writesget_group_milestone_issue— 📖 Read-onlyget_group_milestone_merge_requests— 📖 Read-onlyget_group_milestone_burndown_events— 📖 Read-only
📖 Read-only
List milestones with filtering options
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id |
string | ✓ | Project ID or complete URL-encoded path to project |
iids |
array | Return only the milestones having the given iid | |
state |
enum (active | closed) |
Return only active or closed milestones | |
title |
string | Return only milestones with a title matching the provided string | |
search |
string | Return only milestones with a title or description matching the provided string | |
include_ancestors |
boolean | Include ancestor groups | |
updated_before |
string | Return milestones updated before the specified date (ISO 8601 format) | |
updated_after |
string | Return milestones updated after the specified date (ISO 8601 format) | |
page |
number | Page number for pagination (default: 1) | |
per_page |
number | Number of items per page (max: 100, default: 20) |
📖 Read-only
Get details of a specific milestone
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id |
string | ✓ | Project ID or complete URL-encoded path to project |
milestone_id |
string | ✓ | The ID of a project milestone |
✏️ Writes
Create a new milestone
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id |
string | ✓ | Project ID or complete URL-encoded path to project |
title |
string | ✓ | The title of the milestone |
description |
string | The description of the milestone | |
due_date |
string | The due date of the milestone (YYYY-MM-DD) | |
start_date |
string | The start date of the milestone (YYYY-MM-DD) |
✏️ Writes
Edit an existing milestone
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id |
string | ✓ | Project ID or complete URL-encoded path to project |
milestone_id |
string | ✓ | The ID of a project milestone |
title |
string | The title of the milestone | |
description |
string | The description of the milestone | |
due_date |
string | The due date of the milestone (YYYY-MM-DD) | |
start_date |
string | The start date of the milestone (YYYY-MM-DD) | |
state_event |
enum (close | activate) |
The state event of the milestone |
✏️ Writes
Delete a milestone
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id |
string | ✓ | Project ID or complete URL-encoded path to project |
milestone_id |
string | ✓ | The ID of a project milestone |
📖 Read-only
Get issues associated with a specific milestone
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id |
string | ✓ | Project ID or complete URL-encoded path to project |
milestone_id |
string | ✓ | The ID of a project milestone |
page |
number | Page number for pagination (default: 1) | |
per_page |
number | Number of items per page (max: 100, default: 20) |
📖 Read-only
Get merge requests associated with a specific milestone
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id |
string | ✓ | Project ID or complete URL-encoded path to project |
milestone_id |
string | ✓ | The ID of a project milestone |
page |
number | Page number for pagination (default: 1) | |
per_page |
number | Number of items per page (max: 100, default: 20) |
✏️ Writes
Promote a milestone to the next stage
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id |
string | ✓ | Project ID or complete URL-encoded path to project |
milestone_id |
string | ✓ | The ID of a project milestone |
📖 Read-only
Get burndown events for a specific milestone
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id |
string | ✓ | Project ID or complete URL-encoded path to project |
milestone_id |
string | ✓ | The ID of a project milestone |
page |
number | Page number for pagination (default: 1) | |
per_page |
number | Number of items per page (max: 100, default: 20) |
📖 Read-only
List group milestones with filtering options
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
group_id |
string | ✓ | Group ID or URL-encoded path |
iids |
array | Return only the milestones having the given iid | |
state |
enum (active | closed) |
Return only active or closed milestones | |
title |
string | Return only milestones with a title matching the provided string | |
search |
string | Return only milestones with a title or description matching the provided string | |
include_ancestors |
boolean | Include ancestor groups | |
include_descendants |
boolean | Include descendant groups | |
updated_before |
string | Return milestones updated before the specified date (ISO 8601 format) | |
updated_after |
string | Return milestones updated after the specified date (ISO 8601 format) | |
page |
number | Page number for pagination (default: 1) | |
per_page |
number | Number of items per page (max: 100, default: 20) |
📖 Read-only
Get details of a specific group milestone
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
group_id |
string | ✓ | Group ID or URL-encoded path |
milestone_id |
string | ✓ | The ID of a group milestone |
✏️ Writes
Create a new group milestone
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
group_id |
string | ✓ | Group ID or URL-encoded path |
title |
string | ✓ | The title of the milestone |
description |
string | The description of the milestone | |
due_date |
string | The due date of the milestone (YYYY-MM-DD) | |
start_date |
string | The start date of the milestone (YYYY-MM-DD) |
✏️ Writes
Edit an existing group milestone
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
group_id |
string | ✓ | Group ID or URL-encoded path |
milestone_id |
string | ✓ | The ID of a group milestone |
title |
string | The title of the milestone | |
description |
string | The description of the milestone | |
due_date |
string | The due date of the milestone (YYYY-MM-DD) | |
start_date |
string | The start date of the milestone (YYYY-MM-DD) | |
state_event |
enum (close | activate) |
The state event of the milestone |
✏️ Writes
Delete a group milestone
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
group_id |
string | ✓ | Group ID or URL-encoded path |
milestone_id |
string | ✓ | The ID of a group milestone |
📖 Read-only
Get issues associated with a specific group milestone
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
group_id |
string | ✓ | Group ID or URL-encoded path |
milestone_id |
string | ✓ | The ID of a group milestone |
page |
number | Page number for pagination (default: 1) | |
per_page |
number | Number of items per page (max: 100, default: 20) |
📖 Read-only
Get merge requests associated with a specific group milestone
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
group_id |
string | ✓ | Group ID or URL-encoded path |
milestone_id |
string | ✓ | The ID of a group milestone |
page |
number | Page number for pagination (default: 1) | |
per_page |
number | Number of items per page (max: 100, default: 20) |
📖 Read-only
Get burndown events for a specific group milestone
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
group_id |
string | ✓ | Group ID or URL-encoded path |
milestone_id |
string | ✓ | The ID of a group milestone |
page |
number | Page number for pagination (default: 1) | |
per_page |
number | Number of items per page (max: 100, default: 20) |