Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
d0cdc2ee
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
d0cdc2ee
编写于
4月 07, 2016
作者:
R
Robert Schilling
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
API: Ability to update a group
上级
734df1bb
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
146 addition
and
2 deletion
+146
-2
CHANGELOG
CHANGELOG
+1
-0
doc/api/groups.md
doc/api/groups.md
+81
-0
lib/api/groups.rb
lib/api/groups.rb
+28
-2
spec/requests/api/groups_spec.rb
spec/requests/api/groups_spec.rb
+36
-0
未找到文件。
CHANGELOG
浏览文件 @
d0cdc2ee
...
...
@@ -12,6 +12,7 @@ v 8.7.0 (unreleased)
- Make HTTP(s) label consistent on clone bar (Stan Hu)
- Expose label description in API (Mariusz Jachimowicz)
- Allow back dating on issues when created through the API
- API: Ability to update a group (Robert Schilling)
- Fix Error 500 after renaming a project path (Stan Hu)
- Fix avatar stretching by providing a cropping feature
- API: Expose `subscribed` for issues and merge requests (Robert Schilling)
...
...
doc/api/groups.md
浏览文件 @
d0cdc2ee
...
...
@@ -126,6 +126,87 @@ Parameters:
-
`id`
(required) - The ID or path of a group
-
`project_id`
(required) - The ID of a project
## Update group
Updates the project group. Only available to group owners and administrators.
```
PUT /groups/:id
```
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
|
`id`
| integer | yes | The ID of the group |
|
`name`
| string | no | The name of the group |
|
`path`
| string | no | The path 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. |
```
bash
curl
-X
PUT
-H
"PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK"
"https://gitlab.example.com/api/v3/groups/5?name=Experimental"
```
Example response:
```
json
{
"id"
:
5
,
"name"
:
"Experimental"
,
"path"
:
"h5bp"
,
"description"
:
"foo"
,
"visibility_level"
:
10
,
"avatar_url"
:
null
,
"web_url"
:
"http://gitlab.example.com/groups/h5bp"
,
"projects"
:
[
{
"id"
:
9
,
"description"
:
"foo"
,
"default_branch"
:
"master"
,
"tag_list"
:
[],
"public"
:
false
,
"archived"
:
false
,
"visibility_level"
:
10
,
"ssh_url_to_repo"
:
"git@gitlab.example.com/html5-boilerplate.git"
,
"http_url_to_repo"
:
"http://gitlab.example.com/h5bp/html5-boilerplate.git"
,
"web_url"
:
"http://gitlab.example.com/h5bp/html5-boilerplate"
,
"name"
:
"Html5 Boilerplate"
,
"name_with_namespace"
:
"Experimental / Html5 Boilerplate"
,
"path"
:
"html5-boilerplate"
,
"path_with_namespace"
:
"h5bp/html5-boilerplate"
,
"issues_enabled"
:
true
,
"merge_requests_enabled"
:
true
,
"wiki_enabled"
:
true
,
"builds_enabled"
:
true
,
"snippets_enabled"
:
true
,
"created_at"
:
"2016-04-05T21:40:50.169Z"
,
"last_activity_at"
:
"2016-04-06T16:52:08.432Z"
,
"shared_runners_enabled"
:
true
,
"creator_id"
:
1
,
"namespace"
:
{
"id"
:
5
,
"name"
:
"Experimental"
,
"path"
:
"h5bp"
,
"owner_id"
:
null
,
"created_at"
:
"2016-04-05T21:40:49.152Z"
,
"updated_at"
:
"2016-04-07T08:07:48.466Z"
,
"description"
:
"foo"
,
"avatar"
:
{
"url"
:
null
},
"share_with_group_lock"
:
false
,
"visibility_level"
:
10
},
"avatar_url"
:
null
,
"star_count"
:
1
,
"forks_count"
:
0
,
"open_issues_count"
:
3
,
"public_builds"
:
true
}
]
}
```
## Remove group
Removes group with all projects inside.
...
...
lib/api/groups.rb
浏览文件 @
d0cdc2ee
...
...
@@ -23,8 +23,10 @@ module API
# Create group. Available only for users who can create groups.
#
# Parameters:
# name (required) - The name of the group
# path (required) - The path of the group
# name (required) - The name of the group
# path (required) - The path of the group
# description (optional) - The description of the group
# visibility_level (optional) - The visibility level of the group
# Example Request:
# POST /groups
post
do
...
...
@@ -42,6 +44,30 @@ module API
end
end
# Update group. Available only for users who can administrate groups.
#
# Parameters:
# id (required) - The ID of a group
# path (optional) - The path of the group
# description (optional) - The description of the group
# visibility_level (optional) - The visibility level of the group
# Example Request:
# PUT /groups/:id
put
':id'
do
group
=
find_group
(
params
[
:id
])
authorize!
:admin_group
,
group
attrs
=
attributes_for_keys
[
:name
,
:path
,
:description
,
:visibility_level
]
::
Groups
::
UpdateService
.
new
(
group
,
current_user
,
attrs
).
execute
if
group
.
errors
.
any?
render_validation_error!
(
group
)
else
present
group
,
with:
Entities
::
GroupDetail
end
end
# Get a single group, with containing projects
#
# Parameters:
...
...
spec/requests/api/groups_spec.rb
浏览文件 @
d0cdc2ee
...
...
@@ -97,6 +97,42 @@ describe API::API, api: true do
end
end
describe
'PUT /groups/:id'
do
let
(
:new_group_name
)
{
'New Group'
}
context
"when authenticated the group owner"
do
it
'updates the group'
do
put
api
(
"/groups/
#{
group1
.
id
}
"
,
user1
),
name:
new_group_name
expect
(
response
.
status
).
to
eq
(
200
)
expect
(
json_response
[
'name'
]).
to
eq
(
new_group_name
)
end
it
'returns 404 for a non existing group'
do
put
api
(
'/groups/1328'
,
user1
)
expect
(
response
.
status
).
to
eq
(
404
)
end
end
context
"when authenticated the admin"
do
it
'updates the group'
do
put
api
(
"/groups/
#{
group1
.
id
}
"
,
admin
),
name:
new_group_name
expect
(
response
.
status
).
to
eq
(
200
)
expect
(
json_response
[
'name'
]).
to
eq
(
new_group_name
)
end
end
context
"when authenticated an user"
do
it
'updates the group'
do
put
api
(
"/groups/
#{
group1
.
id
}
"
,
user2
),
name:
new_group_name
expect
(
response
.
status
).
to
eq
(
403
)
end
end
end
describe
"GET /groups/:id/projects"
do
context
"when authenticated as user"
do
it
"should return the group's projects"
do
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录