Commit 31464745 authored by winniehell's avatar winniehell

use Unix line endings for API documentation

parent e0a858ef
# Groups # Groups
## List groups ## List groups
Get a list of groups. (As user: my groups, as admin: all groups) Get a list of groups. (As user: my groups, as admin: all groups)
``` ```
GET /groups GET /groups
``` ```
```json ```json
[ [
{ {
"id": 1, "id": 1,
"name": "Foobar Group", "name": "Foobar Group",
"path": "foo-bar", "path": "foo-bar",
"description": "An interesting group" "description": "An interesting group"
} }
] ]
``` ```
You can search for groups by name or path, see below. You can search for groups by name or path, see below.
## List a group's projects ## List a group's projects
Get a list of projects in this group. Get a list of projects in this group.
``` ```
GET /groups/:id/projects GET /groups/:id/projects
``` ```
Parameters: Parameters:
- `archived` (optional) - if passed, limit by archived status - `archived` (optional) - if passed, limit by archived status
- `visibility` (optional) - if passed, limit by visibility `public`, `internal`, `private` - `visibility` (optional) - if passed, limit by visibility `public`, `internal`, `private`
- `order_by` (optional) - Return requests ordered by `id`, `name`, `path`, `created_at`, `updated_at` or `last_activity_at` fields. Default is `created_at` - `order_by` (optional) - Return requests ordered by `id`, `name`, `path`, `created_at`, `updated_at` or `last_activity_at` fields. Default is `created_at`
- `sort` (optional) - Return requests sorted in `asc` or `desc` order. Default is `desc` - `sort` (optional) - Return requests sorted in `asc` or `desc` order. Default is `desc`
- `search` (optional) - Return list of authorized projects according to a search criteria - `search` (optional) - Return list of authorized projects according to a search criteria
- `ci_enabled_first` - Return projects ordered by ci_enabled flag. Projects with enabled GitLab CI go first - `ci_enabled_first` - Return projects ordered by ci_enabled flag. Projects with enabled GitLab CI go first
```json ```json
[ [
{ {
"id": 9, "id": 9,
"description": "foo", "description": "foo",
"default_branch": "master", "default_branch": "master",
"tag_list": [], "tag_list": [],
"public": false, "public": false,
"archived": false, "archived": false,
"visibility_level": 10, "visibility_level": 10,
"ssh_url_to_repo": "git@gitlab.example.com/html5-boilerplate.git", "ssh_url_to_repo": "git@gitlab.example.com/html5-boilerplate.git",
"http_url_to_repo": "http://gitlab.example.com/h5bp/html5-boilerplate.git", "http_url_to_repo": "http://gitlab.example.com/h5bp/html5-boilerplate.git",
"web_url": "http://gitlab.example.com/h5bp/html5-boilerplate", "web_url": "http://gitlab.example.com/h5bp/html5-boilerplate",
"name": "Html5 Boilerplate", "name": "Html5 Boilerplate",
"name_with_namespace": "Experimental / Html5 Boilerplate", "name_with_namespace": "Experimental / Html5 Boilerplate",
"path": "html5-boilerplate", "path": "html5-boilerplate",
"path_with_namespace": "h5bp/html5-boilerplate", "path_with_namespace": "h5bp/html5-boilerplate",
"issues_enabled": true, "issues_enabled": true,
"merge_requests_enabled": true, "merge_requests_enabled": true,
"wiki_enabled": true, "wiki_enabled": true,
"builds_enabled": true, "builds_enabled": true,
"snippets_enabled": true, "snippets_enabled": true,
"created_at": "2016-04-05T21:40:50.169Z", "created_at": "2016-04-05T21:40:50.169Z",
"last_activity_at": "2016-04-06T16:52:08.432Z", "last_activity_at": "2016-04-06T16:52:08.432Z",
"shared_runners_enabled": true, "shared_runners_enabled": true,
"creator_id": 1, "creator_id": 1,
"namespace": { "namespace": {
"id": 5, "id": 5,
"name": "Experimental", "name": "Experimental",
"path": "h5bp", "path": "h5bp",
"owner_id": null, "owner_id": null,
"created_at": "2016-04-05T21:40:49.152Z", "created_at": "2016-04-05T21:40:49.152Z",
"updated_at": "2016-04-07T08:07:48.466Z", "updated_at": "2016-04-07T08:07:48.466Z",
"description": "foo", "description": "foo",
"avatar": { "avatar": {
"url": null "url": null
}, },
"share_with_group_lock": false, "share_with_group_lock": false,
"visibility_level": 10 "visibility_level": 10
}, },
"avatar_url": null, "avatar_url": null,
"star_count": 1, "star_count": 1,
"forks_count": 0, "forks_count": 0,
"open_issues_count": 3, "open_issues_count": 3,
"public_builds": true, "public_builds": true,
"shared_with_groups": [] "shared_with_groups": []
} }
] ]
``` ```
## Details of a group ## Details of a group
Get all details of a group. Get all details of a group.
``` ```
GET /groups/:id GET /groups/:id
``` ```
Parameters: Parameters:
| Attribute | Type | Required | Description | | Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- | | --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or path of a group | | `id` | integer/string | yes | The ID or path of a group |
```bash ```bash
curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/groups/4 curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/groups/4
``` ```
Example response: Example response:
```json ```json
{ {
"id": 4, "id": 4,
"name": "Twitter", "name": "Twitter",
"path": "twitter", "path": "twitter",
"description": "Aliquid qui quis dignissimos distinctio ut commodi voluptas est.", "description": "Aliquid qui quis dignissimos distinctio ut commodi voluptas est.",
"visibility_level": 20, "visibility_level": 20,
"avatar_url": null, "avatar_url": null,
"web_url": "https://gitlab.example.com/groups/twitter", "web_url": "https://gitlab.example.com/groups/twitter",
"projects": [ "projects": [
{ {
"id": 7, "id": 7,
"description": "Voluptas veniam qui et beatae voluptas doloremque explicabo facilis.", "description": "Voluptas veniam qui et beatae voluptas doloremque explicabo facilis.",
"default_branch": "master", "default_branch": "master",
"tag_list": [], "tag_list": [],
"public": true, "public": true,
"archived": false, "archived": false,
"visibility_level": 20, "visibility_level": 20,
"ssh_url_to_repo": "git@gitlab.example.com:twitter/typeahead-js.git", "ssh_url_to_repo": "git@gitlab.example.com:twitter/typeahead-js.git",
"http_url_to_repo": "https://gitlab.example.com/twitter/typeahead-js.git", "http_url_to_repo": "https://gitlab.example.com/twitter/typeahead-js.git",
"web_url": "https://gitlab.example.com/twitter/typeahead-js", "web_url": "https://gitlab.example.com/twitter/typeahead-js",
"name": "Typeahead.Js", "name": "Typeahead.Js",
"name_with_namespace": "Twitter / Typeahead.Js", "name_with_namespace": "Twitter / Typeahead.Js",
"path": "typeahead-js", "path": "typeahead-js",
"path_with_namespace": "twitter/typeahead-js", "path_with_namespace": "twitter/typeahead-js",
"issues_enabled": true, "issues_enabled": true,
"merge_requests_enabled": true, "merge_requests_enabled": true,
"wiki_enabled": true, "wiki_enabled": true,
"builds_enabled": true, "builds_enabled": true,
"snippets_enabled": false, "snippets_enabled": false,
"container_registry_enabled": true, "container_registry_enabled": true,
"created_at": "2016-06-17T07:47:25.578Z", "created_at": "2016-06-17T07:47:25.578Z",
"last_activity_at": "2016-06-17T07:47:25.881Z", "last_activity_at": "2016-06-17T07:47:25.881Z",
"shared_runners_enabled": true, "shared_runners_enabled": true,
"creator_id": 1, "creator_id": 1,
"namespace": { "namespace": {
"id": 4, "id": 4,
"name": "Twitter", "name": "Twitter",
"path": "twitter", "path": "twitter",
"owner_id": null, "owner_id": null,
"created_at": "2016-06-17T07:47:24.216Z", "created_at": "2016-06-17T07:47:24.216Z",
"updated_at": "2016-06-17T07:47:24.216Z", "updated_at": "2016-06-17T07:47:24.216Z",
"description": "Aliquid qui quis dignissimos distinctio ut commodi voluptas est.", "description": "Aliquid qui quis dignissimos distinctio ut commodi voluptas est.",
"avatar": { "avatar": {
"url": null "url": null
}, },
"share_with_group_lock": false, "share_with_group_lock": false,
"visibility_level": 20 "visibility_level": 20
}, },
"avatar_url": null, "avatar_url": null,
"star_count": 0, "star_count": 0,
"forks_count": 0, "forks_count": 0,
"open_issues_count": 3, "open_issues_count": 3,
"public_builds": true, "public_builds": true,
"shared_with_groups": [] "shared_with_groups": []
}, },
{ {
"id": 6, "id": 6,
"description": "Aspernatur omnis repudiandae qui voluptatibus eaque.", "description": "Aspernatur omnis repudiandae qui voluptatibus eaque.",
"default_branch": "master", "default_branch": "master",
"tag_list": [], "tag_list": [],
"public": false, "public": false,
"archived": false, "archived": false,
"visibility_level": 10, "visibility_level": 10,
"ssh_url_to_repo": "git@gitlab.example.com:twitter/flight.git", "ssh_url_to_repo": "git@gitlab.example.com:twitter/flight.git",
"http_url_to_repo": "https://gitlab.example.com/twitter/flight.git", "http_url_to_repo": "https://gitlab.example.com/twitter/flight.git",
"web_url": "https://gitlab.example.com/twitter/flight", "web_url": "https://gitlab.example.com/twitter/flight",
"name": "Flight", "name": "Flight",
"name_with_namespace": "Twitter / Flight", "name_with_namespace": "Twitter / Flight",
"path": "flight", "path": "flight",
"path_with_namespace": "twitter/flight", "path_with_namespace": "twitter/flight",
"issues_enabled": true, "issues_enabled": true,
"merge_requests_enabled": true, "merge_requests_enabled": true,
"wiki_enabled": true, "wiki_enabled": true,
"builds_enabled": true, "builds_enabled": true,
"snippets_enabled": false, "snippets_enabled": false,
"container_registry_enabled": true, "container_registry_enabled": true,
"created_at": "2016-06-17T07:47:24.661Z", "created_at": "2016-06-17T07:47:24.661Z",
"last_activity_at": "2016-06-17T07:47:24.838Z", "last_activity_at": "2016-06-17T07:47:24.838Z",
"shared_runners_enabled": true, "shared_runners_enabled": true,
"creator_id": 1, "creator_id": 1,
"namespace": { "namespace": {
"id": 4, "id": 4,
"name": "Twitter", "name": "Twitter",
"path": "twitter", "path": "twitter",
"owner_id": null, "owner_id": null,
"created_at": "2016-06-17T07:47:24.216Z", "created_at": "2016-06-17T07:47:24.216Z",
"updated_at": "2016-06-17T07:47:24.216Z", "updated_at": "2016-06-17T07:47:24.216Z",
"description": "Aliquid qui quis dignissimos distinctio ut commodi voluptas est.", "description": "Aliquid qui quis dignissimos distinctio ut commodi voluptas est.",
"avatar": { "avatar": {
"url": null "url": null
}, },
"share_with_group_lock": false, "share_with_group_lock": false,
"visibility_level": 20 "visibility_level": 20
}, },
"avatar_url": null, "avatar_url": null,
"star_count": 0, "star_count": 0,
"forks_count": 0, "forks_count": 0,
"open_issues_count": 8, "open_issues_count": 8,
"public_builds": true, "public_builds": true,
"shared_with_groups": [] "shared_with_groups": []
} }
], ],
"shared_projects": [ "shared_projects": [
{ {
"id": 8, "id": 8,
"description": "Velit eveniet provident fugiat saepe eligendi autem.", "description": "Velit eveniet provident fugiat saepe eligendi autem.",
"default_branch": "master", "default_branch": "master",
"tag_list": [], "tag_list": [],
"public": false, "public": false,
"archived": false, "archived": false,
"visibility_level": 0, "visibility_level": 0,
"ssh_url_to_repo": "git@gitlab.example.com:h5bp/html5-boilerplate.git", "ssh_url_to_repo": "git@gitlab.example.com:h5bp/html5-boilerplate.git",
"http_url_to_repo": "https://gitlab.example.com/h5bp/html5-boilerplate.git", "http_url_to_repo": "https://gitlab.example.com/h5bp/html5-boilerplate.git",
"web_url": "https://gitlab.example.com/h5bp/html5-boilerplate", "web_url": "https://gitlab.example.com/h5bp/html5-boilerplate",
"name": "Html5 Boilerplate", "name": "Html5 Boilerplate",
"name_with_namespace": "H5bp / Html5 Boilerplate", "name_with_namespace": "H5bp / Html5 Boilerplate",
"path": "html5-boilerplate", "path": "html5-boilerplate",
"path_with_namespace": "h5bp/html5-boilerplate", "path_with_namespace": "h5bp/html5-boilerplate",
"issues_enabled": true, "issues_enabled": true,
"merge_requests_enabled": true, "merge_requests_enabled": true,
"wiki_enabled": true, "wiki_enabled": true,
"builds_enabled": true, "builds_enabled": true,
"snippets_enabled": false, "snippets_enabled": false,
"container_registry_enabled": true, "container_registry_enabled": true,
"created_at": "2016-06-17T07:47:27.089Z", "created_at": "2016-06-17T07:47:27.089Z",
"last_activity_at": "2016-06-17T07:47:27.310Z", "last_activity_at": "2016-06-17T07:47:27.310Z",
"shared_runners_enabled": true, "shared_runners_enabled": true,
"creator_id": 1, "creator_id": 1,
"namespace": { "namespace": {
"id": 5, "id": 5,
"name": "H5bp", "name": "H5bp",
"path": "h5bp", "path": "h5bp",
"owner_id": null, "owner_id": null,
"created_at": "2016-06-17T07:47:26.621Z", "created_at": "2016-06-17T07:47:26.621Z",
"updated_at": "2016-06-17T07:47:26.621Z", "updated_at": "2016-06-17T07:47:26.621Z",
"description": "Id consequatur rem vel qui doloremque saepe.", "description": "Id consequatur rem vel qui doloremque saepe.",
"avatar": { "avatar": {
"url": null "url": null
}, },
"share_with_group_lock": false, "share_with_group_lock": false,
"visibility_level": 20 "visibility_level": 20
}, },
"avatar_url": null, "avatar_url": null,
"star_count": 0, "star_count": 0,
"forks_count": 0, "forks_count": 0,
"open_issues_count": 4, "open_issues_count": 4,
"public_builds": true, "public_builds": true,
"shared_with_groups": [ "shared_with_groups": [
{ {
"group_id": 4, "group_id": 4,
"group_name": "Twitter", "group_name": "Twitter",
"group_access_level": 30 "group_access_level": 30
}, },
{ {
"group_id": 3, "group_id": 3,
"group_name": "Gitlab Org", "group_name": "Gitlab Org",
"group_access_level": 10 "group_access_level": 10
} }
] ]
} }
] ]
} }
``` ```
## New group ## New group
Creates a new project group. Available only for users who can create groups. Creates a new project group. Available only for users who can create groups.
``` ```
POST /groups POST /groups
``` ```
Parameters: Parameters:
- `name` (required) - The name of the group - `name` (required) - The name of the group
- `path` (required) - The path of the group - `path` (required) - The path of the group
- `description` (optional) - The group's description - `description` (optional) - The group's description
- `visibility_level` (optional) - The group's visibility. 0 for private, 10 for internal, 20 for public. - `visibility_level` (optional) - The group's visibility. 0 for private, 10 for internal, 20 for public.
## Transfer project to group ## Transfer project to group
Transfer a project to the Group namespace. Available only for admin Transfer a project to the Group namespace. Available only for admin
``` ```
POST /groups/:id/projects/:project_id POST /groups/:id/projects/:project_id
``` ```
Parameters: Parameters:
- `id` (required) - The ID or path of a group - `id` (required) - The ID or path of a group
- `project_id` (required) - The ID of a project - `project_id` (required) - The ID of a project
## Update group ## Update group
Updates the project group. Only available to group owners and administrators. Updates the project group. Only available to group owners and administrators.
``` ```
PUT /groups/:id PUT /groups/:id
``` ```
| Attribute | Type | Required | Description | | Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- | | --------- | ---- | -------- | ----------- |
| `id` | integer | yes | The ID of the group | | `id` | integer | yes | The ID of the group |
| `name` | string | no | The name of the group | | `name` | string | no | The name of the group |
| `path` | string | no | The path of the group | | `path` | string | no | The path of the group |
| `description` | string | no | The description of the group | | `description` | string | no | The description of the group |
| `visibility_level` | integer | no | The visibility level of the group. 0 for private, 10 for internal, 20 for public. | | `visibility_level` | integer | no | The visibility level of the group. 0 for private, 10 for internal, 20 for public. |
```bash ```bash
curl --request PUT --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" "https://gitlab.example.com/api/v3/groups/5?name=Experimental" curl --request PUT --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" "https://gitlab.example.com/api/v3/groups/5?name=Experimental"
``` ```
Example response: Example response:
```json ```json
{ {
"id": 5, "id": 5,
"name": "Experimental", "name": "Experimental",
"path": "h5bp", "path": "h5bp",
"description": "foo", "description": "foo",
"visibility_level": 10, "visibility_level": 10,
"avatar_url": null, "avatar_url": null,
"web_url": "http://gitlab.example.com/groups/h5bp", "web_url": "http://gitlab.example.com/groups/h5bp",
"projects": [ "projects": [
{ {
"id": 9, "id": 9,
"description": "foo", "description": "foo",
"default_branch": "master", "default_branch": "master",
"tag_list": [], "tag_list": [],
"public": false, "public": false,
"archived": false, "archived": false,
"visibility_level": 10, "visibility_level": 10,
"ssh_url_to_repo": "git@gitlab.example.com/html5-boilerplate.git", "ssh_url_to_repo": "git@gitlab.example.com/html5-boilerplate.git",
"http_url_to_repo": "http://gitlab.example.com/h5bp/html5-boilerplate.git", "http_url_to_repo": "http://gitlab.example.com/h5bp/html5-boilerplate.git",
"web_url": "http://gitlab.example.com/h5bp/html5-boilerplate", "web_url": "http://gitlab.example.com/h5bp/html5-boilerplate",
"name": "Html5 Boilerplate", "name": "Html5 Boilerplate",
"name_with_namespace": "Experimental / Html5 Boilerplate", "name_with_namespace": "Experimental / Html5 Boilerplate",
"path": "html5-boilerplate", "path": "html5-boilerplate",
"path_with_namespace": "h5bp/html5-boilerplate", "path_with_namespace": "h5bp/html5-boilerplate",
"issues_enabled": true, "issues_enabled": true,
"merge_requests_enabled": true, "merge_requests_enabled": true,
"wiki_enabled": true, "wiki_enabled": true,
"builds_enabled": true, "builds_enabled": true,
"snippets_enabled": true, "snippets_enabled": true,
"created_at": "2016-04-05T21:40:50.169Z", "created_at": "2016-04-05T21:40:50.169Z",
"last_activity_at": "2016-04-06T16:52:08.432Z", "last_activity_at": "2016-04-06T16:52:08.432Z",
"shared_runners_enabled": true, "shared_runners_enabled": true,
"creator_id": 1, "creator_id": 1,
"namespace": { "namespace": {
"id": 5, "id": 5,
"name": "Experimental", "name": "Experimental",
"path": "h5bp", "path": "h5bp",
"owner_id": null, "owner_id": null,
"created_at": "2016-04-05T21:40:49.152Z", "created_at": "2016-04-05T21:40:49.152Z",
"updated_at": "2016-04-07T08:07:48.466Z", "updated_at": "2016-04-07T08:07:48.466Z",
"description": "foo", "description": "foo",
"avatar": { "avatar": {
"url": null "url": null
}, },
"share_with_group_lock": false, "share_with_group_lock": false,
"visibility_level": 10 "visibility_level": 10
}, },
"avatar_url": null, "avatar_url": null,
"star_count": 1, "star_count": 1,
"forks_count": 0, "forks_count": 0,
"open_issues_count": 3, "open_issues_count": 3,
"public_builds": true, "public_builds": true,
"shared_with_groups": [] "shared_with_groups": []
} }
] ]
} }
``` ```
## Remove group ## Remove group
Removes group with all projects inside. Removes group with all projects inside.
``` ```
DELETE /groups/:id DELETE /groups/:id
``` ```
Parameters: Parameters:
- `id` (required) - The ID or path of a user group - `id` (required) - The ID or path of a user group
## Search for group ## Search for group
Get all groups that match your string in their name or path. Get all groups that match your string in their name or path.
``` ```
GET /groups?search=foobar GET /groups?search=foobar
``` ```
```json ```json
[ [
{ {
"id": 1, "id": 1,
"name": "Foobar Group", "name": "Foobar Group",
"path": "foo-bar", "path": "foo-bar",
"description": "An interesting group" "description": "An interesting group"
} }
] ]
``` ```
## Group members ## Group members
**Group access levels** **Group access levels**
The group access levels are defined in the `Gitlab::Access` module. Currently, these levels are recognized: The group access levels are defined in the `Gitlab::Access` module. Currently, these levels are recognized:
``` ```
GUEST = 10 GUEST = 10
REPORTER = 20 REPORTER = 20
DEVELOPER = 30 DEVELOPER = 30
MASTER = 40 MASTER = 40
OWNER = 50 OWNER = 50
``` ```
### List group members ### List group members
Get a list of group members viewable by the authenticated user. Get a list of group members viewable by the authenticated user.
``` ```
GET /groups/:id/members GET /groups/:id/members
``` ```
```json ```json
[ [
{ {
"id": 1, "id": 1,
"username": "raymond_smith", "username": "raymond_smith",
"name": "Raymond Smith", "name": "Raymond Smith",
"state": "active", "state": "active",
"created_at": "2012-10-22T14:13:35Z", "created_at": "2012-10-22T14:13:35Z",
"access_level": 30 "access_level": 30
}, },
{ {
"id": 2, "id": 2,
"username": "john_doe", "username": "john_doe",
"name": "John Doe", "name": "John Doe",
"state": "active", "state": "active",
"created_at": "2012-10-22T14:13:35Z", "created_at": "2012-10-22T14:13:35Z",
"access_level": 30 "access_level": 30
} }
] ]
``` ```
### Add group member ### Add group member
Adds a user to the list of group members. Adds a user to the list of group members.
``` ```
POST /groups/:id/members POST /groups/:id/members
``` ```
Parameters: Parameters:
- `id` (required) - The ID or path of a group - `id` (required) - The ID or path of a group
- `user_id` (required) - The ID of a user to add - `user_id` (required) - The ID of a user to add
- `access_level` (required) - Project access level - `access_level` (required) - Project access level
### Edit group team member ### Edit group team member
Updates a group team member to a specified access level. Updates a group team member to a specified access level.
``` ```
PUT /groups/:id/members/:user_id PUT /groups/:id/members/:user_id
``` ```
Parameters: Parameters:
- `id` (required) - The ID of a group - `id` (required) - The ID of a group
- `user_id` (required) - The ID of a group member - `user_id` (required) - The ID of a group member
- `access_level` (required) - Project access level - `access_level` (required) - Project access level
### Remove user team member ### Remove user team member
Removes user from user team. Removes user from user team.
``` ```
DELETE /groups/:id/members/:user_id DELETE /groups/:id/members/:user_id
``` ```
Parameters: Parameters:
- `id` (required) - The ID or path of a user group - `id` (required) - The ID or path of a user group
- `user_id` (required) - The ID of a group member - `user_id` (required) - The ID of a group member
## Namespaces in groups ## Namespaces in groups
By default, groups only get 20 namespaces at a time because the API results are paginated. By default, groups only get 20 namespaces at a time because the API results are paginated.
To get more (up to 100), pass the following as an argument to the API call: To get more (up to 100), pass the following as an argument to the API call:
``` ```
/groups?per_page=100 /groups?per_page=100
``` ```
And to switch pages add: And to switch pages add:
``` ```
/groups?per_page=100&page=2 /groups?per_page=100&page=2
``` ```
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment