Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Léo-Paul Géneau
gitlab-ce
Commits
fc4108b3
Commit
fc4108b3
authored
Jan 11, 2016
by
Tomasz Maczukin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Modify CI features in projects API
parent
ba9799b4
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
17 additions
and
51 deletions
+17
-51
doc/api/projects.md
doc/api/projects.md
+1
-20
lib/api/entities.rb
lib/api/entities.rb
+1
-3
lib/api/helpers.rb
lib/api/helpers.rb
+1
-1
lib/api/projects.rb
lib/api/projects.rb
+14
-27
No files found.
doc/api/projects.md
View file @
fc4108b3
...
...
@@ -79,11 +79,7 @@ Parameters:
"avatar_url"
:
"http://example.com/uploads/project/avatar/4/uploads/avatar.png"
,
"shared_runners_enabled"
:
true
,
"forks_count"
:
0
,
"star_count"
:
0
,
"build_allow_git_fetch"
:
true
,
"build_coverage_regex"
:
null
,
"build_timeout"
:
3600
,
"runners_token"
:
"4f9e77be0eed5ef29548fccda3b371"
"star_count"
:
0
},
{
"id"
:
6
,
...
...
@@ -140,9 +136,6 @@ Parameters:
"shared_runners_enabled"
:
true
,
"forks_count"
:
0
,
"star_count"
:
0
,
"build_allow_git_fetch"
:
true
,
"build_coverage_regex"
:
null
,
"build_timeout"
:
3600
,
"runners_token"
:
"b8547b1dc37721d05889db52fa2f02"
}
]
...
...
@@ -262,9 +255,6 @@ Parameters:
"shared_runners_enabled"
:
true
,
"forks_count"
:
0
,
"star_count"
:
0
,
"build_allow_git_fetch"
:
true
,
"build_coverage_regex"
:
null
,
"build_timeout"
:
3600
,
"runners_token"
:
"b8bc4a7a29eb76ea83cf79e4908c2b"
}
```
...
...
@@ -430,9 +420,6 @@ Parameters:
-
`public`
(optional) - if
`true`
same as setting visibility_level = 20
-
`visibility_level`
(optional)
-
`import_url`
(optional)
-
`build_allow_git_fetch`
(optional)
-
`build_timeout`
(optional)
-
`build_coverage_regex`
(optional)
### Create project for user
...
...
@@ -455,9 +442,6 @@ Parameters:
-
`public`
(optional) - if
`true`
same as setting visibility_level = 20
-
`visibility_level`
(optional)
-
`import_url`
(optional)
-
`build_allow_git_fetch`
(optional)
-
`build_timeout`
(optional)
-
`build_coverage_regex`
(optional)
### Edit project
...
...
@@ -481,9 +465,6 @@ Parameters:
-
`snippets_enabled`
(optional)
-
`public`
(optional) - if
`true`
same as setting visibility_level = 20
-
`visibility_level`
(optional)
-
`build_allow_git_fetch`
(optional)
-
`build_timeout`
(optional)
-
`build_coverage_regex`
(optional)
On success, method returns 200 with the updated project. If parameters are
invalid, 400 is returned.
...
...
lib/api/entities.rb
View file @
fc4108b3
...
...
@@ -71,9 +71,7 @@ module API
expose
:avatar_url
expose
:star_count
,
:forks_count
expose
:open_issues_count
,
if:
lambda
{
|
project
,
options
|
project
.
issues_enabled?
&&
project
.
default_issues_tracker?
}
expose
:build_allow_git_fetch
,
:build_timeout
,
:build_coverage_regex
expose
:runners_token
expose
:runners_token
,
if:
lambda
{
|
_project
,
options
|
options
[
:user_can_admin_project
]
}
end
class
ProjectMember
<
UserBasic
...
...
lib/api/helpers.rb
View file @
fc4108b3
...
...
@@ -157,7 +157,7 @@ module API
def
attributes_for_keys
(
keys
,
custom_params
=
nil
)
attrs
=
{}
keys
.
each
do
|
key
|
if
params
[
key
].
present?
or
(
params
.
has_key?
(
key
)
and
(
params
[
key
].
empty?
or
params
[
key
]
==
false
)
)
if
params
[
key
].
present?
or
(
params
.
has_key?
(
key
)
and
params
[
key
]
==
false
)
attrs
[
key
]
=
params
[
key
]
end
end
...
...
lib/api/projects.rb
View file @
fc4108b3
...
...
@@ -69,7 +69,8 @@ module API
# Example Request:
# GET /projects/:id
get
":id"
do
present
user_project
,
with:
Entities
::
ProjectWithAccess
,
user:
current_user
present
user_project
,
with:
Entities
::
ProjectWithAccess
,
user:
current_user
,
user_can_admin_project:
can?
(
current_user
,
:admin_project
,
user_project
)
end
# Get events for a single project
...
...
@@ -98,9 +99,6 @@ module API
# public (optional) - if true same as setting visibility_level = 20
# visibility_level (optional) - 0 by default
# import_url (optional)
# build_allow_git_fetch (optional)
# build_timeout (optional)
# build_coverage_regex (optional)
# Example Request
# POST /projects
post
do
...
...
@@ -117,14 +115,12 @@ module API
:namespace_id
,
:public
,
:visibility_level
,
:import_url
,
:build_allow_git_fetch
,
:build_timeout
,
:build_coverage_regex
]
:import_url
]
attrs
=
map_public_to_visibility_level
(
attrs
)
@project
=
::
Projects
::
CreateService
.
new
(
current_user
,
attrs
).
execute
if
@project
.
saved?
present
@project
,
with:
Entities
::
Project
present
@project
,
with:
Entities
::
Project
,
user_can_admin_project:
can?
(
current_user
,
:admin_project
,
@project
)
else
if
@project
.
errors
[
:limit_reached
].
present?
error!
(
@project
.
errors
[
:limit_reached
],
403
)
...
...
@@ -149,9 +145,6 @@ module API
# public (optional) - if true same as setting visibility_level = 20
# visibility_level (optional)
# import_url (optional)
# build_allow_git_fetch (optional)
# build_timeout (optional)
# build_coverage_regex (optional)
# Example Request
# POST /projects/user/:user_id
post
"user/:user_id"
do
...
...
@@ -168,14 +161,12 @@ module API
:shared_runners_enabled
,
:public
,
:visibility_level
,
:import_url
,
:build_allow_git_fetch
,
:build_timeout
,
:build_coverage_regex
]
:import_url
]
attrs
=
map_public_to_visibility_level
(
attrs
)
@project
=
::
Projects
::
CreateService
.
new
(
user
,
attrs
).
execute
if
@project
.
saved?
present
@project
,
with:
Entities
::
Project
present
@project
,
with:
Entities
::
Project
,
user_can_admin_project:
can?
(
current_user
,
:admin_project
,
@project
)
else
render_validation_error!
(
@project
)
end
...
...
@@ -194,8 +185,9 @@ module API
if
@forked_project
.
errors
.
any?
conflict!
(
@forked_project
.
errors
.
messages
)
else
present
@forked_project
,
with:
Entities
::
Project
end
present
@forked_project
,
with:
Entities
::
Project
,
user_can_admin_project:
can?
(
current_user
,
:admin_project
,
@forked_project
)
end
end
# Update an existing project
...
...
@@ -213,9 +205,6 @@ module API
# shared_runners_enabled (optional)
# public (optional) - if true same as setting visibility_level = 20
# visibility_level (optional) - visibility level of a project
# build_allow_git_fetch (optional)
# build_timeout (optional)
# build_coverage_regex (optional)
# Example Request
# PUT /projects/:id
put
':id'
do
...
...
@@ -230,10 +219,7 @@ module API
:snippets_enabled
,
:shared_runners_enabled
,
:public
,
:visibility_level
,
:build_allow_git_fetch
,
:build_timeout
,
:build_coverage_regex
]
:visibility_level
]
attrs
=
map_public_to_visibility_level
(
attrs
)
authorize_admin_project
authorize!
:rename_project
,
user_project
if
attrs
[
:name
].
present?
...
...
@@ -247,7 +233,8 @@ module API
if
user_project
.
errors
.
any?
render_validation_error!
(
user_project
)
else
present
user_project
,
with:
Entities
::
Project
present
user_project
,
with:
Entities
::
Project
,
user_can_admin_project:
can?
(
current_user
,
:admin_project
,
user_project
)
end
end
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment