Skip to content

Commit

Permalink
Merge branch '2-group-milestones'
Browse files Browse the repository at this point in the history
  • Loading branch information
jdalrymple committed Nov 26, 2017
2 parents 84eef70 + 583f2a4 commit 3048a39
Show file tree
Hide file tree
Showing 18 changed files with 566 additions and 92 deletions.
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,11 @@ This started off as a fork from [node-gitlab](https://github.com/node-gitlab/nod

## Changelog

[1.3.0](https://github.com/jdalrymple/node-gitlab-api/) (2017-11-25)
------------------
- Extending the Groups API, see docs for a full overview.


[1.2.0](https://github.com/jdalrymple/node-gitlab-api/b08779a321fb25668df1e0f7e001394679cc47ba) (2017-11-25)
------------------
- Adding fix to the API constructor to include the [missing oauthToken](https://github.com/jdalrymple/node-gitlab-api/pulls?q=is%3Apr+is%3Aclosed) thanks to [Salim Benabbou](https://github.com/Salimlou).
Expand Down
53 changes: 53 additions & 0 deletions docs/group-access-requests.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
## Group Milestones

* [List all group access-requests](#list-all-group-access-requests)
* [Request access to a group](#request-access-to-a-group)
* [Approve a group access request](#approve-a-group-access-request)
* [Deny a group access request](#deny-a-group-access-request)

### List all group access requests

Gets a list of access requests viewable by the authenticated user.

```javascript
let milestones = GitlabAPI.group.accessRequests.all(groupId);
```
**Parameters**: [List all access requests](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/access_requests.md#list-access-requests-for-a-group-or-project)

**Extra Parameters**

| Argument | Description | Type | Required | Default |
|---------------|--------------------------|----------|----------|-------------------|
| max_pages |Limits the amount of pages returned | Number | No | All pages |


### Request access to a group

Requests access for the authenticated user to a group or project.

```javascript
let milestone = GitlabAPI.groups.accessRequest.request(groupId);
```
**Parameters**: [Get a milestone](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/access_requests.md#request-access-to-a-group-or-project)


### Approve a group access request

Approves an access request for the given user.


```javascript
let milestone = GitlabAPI.groups.accessRequest.approve(groupId, userId);
```
**Parameters**: [Approve an access request](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/access_requests.md#approve-an-access-request)


### Deny a group access request

Deny an access request for the given user.


```javascript
let milestone = GitlabAPI.groups.accessRequest.deny(groupId, userId);
```
**Parameters**: [Deny an access request](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/access_requests.md#deny-an-access-request)
66 changes: 66 additions & 0 deletions docs/group-members.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
## Group Members

* [List all members](#list-all-members)
* [Get a member](#get-a-member)
* [Add a member](#add-a-member)
* [Edit a member](#edit-a-member)
* [Remove a member](#remove-a-member)

### List all members

Gets a list of group members viewable by the authenticated user.

```javascript
let members = GitlabAPI.group.members.all(groupId);
```
**Parameters**: [List all members](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/members.md#list-all-members-of-a-group-or-project)

**Extra Parameters**

| Argument | Description | Type | Required | Default |
|---------------|--------------------------|----------|----------|-------------------|
| max_pages |Limits the amount of pages returned | Number | No | All pages |


### Get a member

Gets a member of a group.

```javascript
let member = GitlabAPI.groups.members.show(groupId, memberId);
```
**Parameters**: [Get a member](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/members.md#get-a-member-of-a-group-or-project)


### Add a member

Gets a member of a group.

```javascript
let member = GitlabAPI.groups.members.add(groupId, {
// params
});
```
**Parameters**: [Add a member](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/members.md#add-a-member-to-a-group-or-project)


### Edit a member

Edits a member of a group.

```javascript
let member = GitlabAPI.groups.members.edit(groupId, {
// params
});
```
**Parameters**: [Add a member](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/members.md#add-a-member-to-a-group-or-project)


### Remove a member

Removes a member of a group.

```javascript
GitlabAPI.groups.members.remove(groupId, memberId);
```
**Parameters**: [Remove a member](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/members.md#remove-a-member-to-a-group-or-project)
18 changes: 18 additions & 0 deletions docs/group-milestone-issues.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
## Group Milestones Issues

* [List all group milestone issues](#list-all-group-milestone-issues)

### List all group milestone issues

Gets a list of all of issues associated with a specific group milestone viewable by the authenticated user.

```javascript
let milestones = GitlabAPI.group.milestones.issues.all(groupId);
```
**Parameters**: [List all group milestone issues](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/group_milestones.md#get-all-issues-assigned-to-a-single-milestone)

**Extra Parameters**

| Argument | Description | Type | Required | Default |
|---------------|--------------------------|----------|----------|-------------------|
| max_pages |Limits the amount of pages returned | Number | No | All pages |
18 changes: 18 additions & 0 deletions docs/group-milestone-merge-requests.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
## Group Milestones Merge Requests

* [List all group milestone merge requests](#list-all-group-milestone-merge-requests)

### List all group milestone merge requests

Gets a list of all of issues associated with a specific group milestone viewable by the authenticated user.

```javascript
let milestones = GitlabAPI.group.milestones.mergeRequests.all(groupId);
```
**Parameters**: [List all group milestone issues](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/group_milestones.md#get-all-merge-requests-assigned-to-a-single-milestone)

**Extra Parameters**

| Argument | Description | Type | Required | Default |
|---------------|--------------------------|----------|----------|-------------------|
| max_pages |Limits the amount of pages returned | Number | No | All pages |
55 changes: 55 additions & 0 deletions docs/group-milestones.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
## Group Milestones

* [List all group milestones](#list-all-group-milestones)
* [Get a group milestone](#get-a-group-milestone)
* [Create a group milestone](#create-a-group-milestone)
* [Edit a group milestone](#edit-a-group-milestone)

### List all group milestones

Gets a list of group milestones viewable by the authenticated user.

```javascript
let milestones = GitlabAPI.group.milestones.all(groupId);
```
**Parameters**: [List all milestones](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/group_milestones.md#list-group-milestones)

**Extra Parameters**

| Argument | Description | Type | Required | Default |
|---------------|--------------------------|----------|----------|-------------------|
| max_pages |Limits the amount of pages returned | Number | No | All pages |


### Get a group milestone

Gets a group milestone.

```javascript
let milestone = GitlabAPI.groups.milestones.show(groupId, milestoneId);
```
**Parameters**: [Get a milestone](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/group_milestones.md#get-single-milestone)


### Create a group milestone

Creates a group milestone.

```javascript
let milestone = GitlabAPI.groups.milestones.create(groupId, {
// params
});
```
**Parameters**: [Create a milestone](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/group_milestones.md#create-new-milestone)


### Edit a group milestone

Edits a group milestone.

```javascript
let milestone = GitlabAPI.groups.milestones.edit(groupId, {
// params
});
```
**Parameters**: [Edit a milestone](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/group_milestones.md#edit-milestone)
29 changes: 29 additions & 0 deletions docs/group-projects.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
## Group Projects

* [List all group projects](#list-all-group-projects)
* [Add a project to a group](#add-a-project-to-a-group)

### List all group projects

Gets a list of group projects viewable by the authenticated user.

```javascript
let milestones = GitlabAPI.group.projects.all(groupId);
```
**Parameters**: [List all a group projects](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/groups.md#list-a-groups-projects)

**Extra Parameters**

| Argument | Description | Type | Required | Default |
|---------------|--------------------------|----------|----------|-------------------|
| max_pages |Limits the amount of pages returned | Number | No | All pages |


### Add a project to a group

Adds a project to a group.

```javascript
let milestone = GitlabAPI.groups.projects.add(groupId, projectId);
```
**Parameters**: [Transfer project to group](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/groups.md#transfer-project-to-group)
110 changes: 110 additions & 0 deletions docs/groups.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
# Groups API

* [Groups](#Groups)
* [List all groups](#list-all-groups)
* [List all group's subgroups](#list-all-groups-subgroups)
* [Get a single group](#get-a-single-group)
* [Create a group](#create-a-group)
* [Edit a group](#edit-a-group)
* [Search for a group](#edit-a-group)
* [Group Members](https://github.com/jdalrymple/node-gitlab-api/blob/master/docs/group-members.md)
* [Group Milestones](https://github.com/jdalrymple/node-gitlab-api/blob/master/docs/group-milestones.md)
* [Group Milestones Issues](https://github.com/jdalrymple/node-gitlab-api/blob/master/docs/group-milestone-issues.md)
* [Group Milestones Merge Requests](https://github.com/jdalrymple/node-gitlab-api/blob/master/docs/group-milestone-merge-requests.md)
* [Group Projects](https://github.com/jdalrymple/node-gitlab-api/blob/master/docs/group-projects.md)
* [Group Access Requests](https://github.com/jdalrymple/node-gitlab-api/blob/master/docs/group-access-requests.md)

## Groups

### List all groups

Get a list of visible Groups for authenticated user. When accessed without authentication, only public Groups are returned.

```javascript
let groups = GitlabAPI.groups.all();
```

**Parameters**: [List all Groups](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/groups.md#list-groups)

**Extra Parameters**

| Argument | Description | Type | Required | Default |
|---------------|--------------------------|----------|----------|-------------------|
| max_pages |Limits the amount of pages returned | Number | No | All pages |


### List all groups subgroups

Get a list of visible Groups for authenticated user. When accessed without authentication, only public Groups are returned.

```javascript
let groups = GitlabAPI.groups.allSubgroups(groupId, { //params });
```
**Parameters**: [List all Groups](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/groups.md#list-a-groupss-subgroups)
**Extra Parameters**
| Argument | Description | Type | Required | Default |
|---------------|--------------------------|----------|----------|-------------------|
| max_pages |Limits the amount of pages returned | Number | No | All pages |
### Get a single group
Get a specific group. This endpoint can be accessed without authentication if
the group is publicly accessible.
```javascript
// From a group ID
let groupA = GitlabAPI.groups.show(21);

// From a Groups url
let groupB = GitlabAPI.groups.show('diaspora/diaspora');
```
**Parameters**: [Get a single group](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/groups.md#details-of-a-group)
### Create a group
Creates a new group owned by the authenticated user.
```javascript
let groupA = GitlabAPI.groups.create({
// params
});
```
**Parameters**: [Create a group](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/groups.md#new-group)
### Edit a group
Creates a new group owned by the specified user. Available only for admins.
```javascript
let groupA = GitlabAPI.groups.edit(groupId, {
// params
});
```
**Parameters**: [Edit a group](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/groups.md#update-group)
### Remove a group
Removes a group including all associated resources (issues, merge requests etc.)
```javascript
GitlabAPI.groups.remove(groupId);
```
**Parameters**: [Remove a group](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/groups.md#remove-group)
### Search for a group
Searches for a group and returns a group including all associated resources (issues, merge requests etc.)
```javascript
GitlabAPI.groups.search(query);
```
**Parameters**: [Search for a group](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/groups.md#search-for-group)
Loading

0 comments on commit 3048a39

Please sign in to comment.