BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
e43c4060
Commit
e43c4060
authored
Aug 02, 2016
by
Ben Boeckel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
api: expose web_url for project entities
This allows web hooks to have a URL back to entities without having to generate it themselves.
parent
9b470aeb
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
54 additions
and
18 deletions
+54
-18
CHANGELOG
CHANGELOG
+1
-0
issues.md
doc/api/issues.md
+21
-10
merge_requests.md
doc/api/merge_requests.md
+15
-7
project_snippets.md
doc/api/project_snippets.md
+2
-1
entities.rb
lib/api/entities.rb
+12
-0
issues_spec.rb
spec/requests/api/issues_spec.rb
+1
-0
merge_requests_spec.rb
spec/requests/api/merge_requests_spec.rb
+1
-0
project_snippets_spec.rb
spec/requests/api/project_snippets_spec.rb
+1
-0
No files found.
CHANGELOG
View file @
e43c4060
...
...
@@ -2,6 +2,7 @@ Please view this file on the master branch, on stable branches it's out of date.
v 8.12.0 (unreleased)
- Change merge_error column from string to text type
- Add `web_url` field to issue, merge request, and snippet API objects (Ben Boeckel)
- Optimistic locking for Issues and Merge Requests (title and description overriding prevention)
- Added tests for diff notes
...
...
doc/api/issues.md
View file @
e43c4060
...
...
@@ -79,7 +79,8 @@ Example response:
"labels"
:
[],
"subscribed"
:
false
,
"user_notes_count"
:
1
,
"due_date"
:
"2016-07-22"
"due_date"
:
"2016-07-22"
,
"web_url"
:
"http://example.com/example/example/issues/6"
}
]
```
...
...
@@ -156,7 +157,8 @@ Example response:
"created_at"
:
"2016-01-04T15:31:46.176Z"
,
"subscribed"
:
false
,
"user_notes_count"
:
1
,
"due_date"
:
null
"due_date"
:
null
,
"web_url"
:
"http://example.com/example/example/issues/1"
}
]
```
...
...
@@ -235,7 +237,8 @@ Example response:
"created_at"
:
"2016-01-04T15:31:46.176Z"
,
"subscribed"
:
false
,
"user_notes_count"
:
1
,
"due_date"
:
"2016-07-22"
"due_date"
:
"2016-07-22"
,
"web_url"
:
"http://example.com/example/example/issues/1"
}
]
```
...
...
@@ -299,7 +302,8 @@ Example response:
"created_at"
:
"2016-01-04T15:31:46.176Z"
,
"subscribed"
:
false
,
"user_notes_count"
:
1
,
"due_date"
:
null
"due_date"
:
null
,
"web_url"
:
"http://example.com/example/example/issues/1"
}
```
...
...
@@ -357,7 +361,8 @@ Example response:
"milestone"
:
null
,
"subscribed"
:
true
,
"user_notes_count"
:
0
,
"due_date"
:
null
"due_date"
:
null
,
"web_url"
:
"http://example.com/example/example/issues/14"
}
```
...
...
@@ -418,7 +423,8 @@ Example response:
"milestone"
:
null
,
"subscribed"
:
true
,
"user_notes_count"
:
0
,
"due_date"
:
"2016-07-22"
"due_date"
:
"2016-07-22"
,
"web_url"
:
"http://example.com/example/example/issues/15"
}
```
...
...
@@ -496,7 +502,8 @@ Example response:
"avatar_url"
:
"http://www.gravatar.com/avatar/7a190fecbaa68212a4b68aeb6e3acd10?s=80&d=identicon"
,
"web_url"
:
"https://gitlab.example.com/u/solon.cremin"
},
"due_date"
:
null
"due_date"
:
null
,
"web_url"
:
"http://example.com/example/example/issues/11"
}
```
...
...
@@ -551,7 +558,8 @@ Example response:
"avatar_url"
:
"http://www.gravatar.com/avatar/7a190fecbaa68212a4b68aeb6e3acd10?s=80&d=identicon"
,
"web_url"
:
"https://gitlab.example.com/u/solon.cremin"
},
"due_date"
:
null
"due_date"
:
null
,
"web_url"
:
"http://example.com/example/example/issues/11"
}
```
...
...
@@ -607,7 +615,8 @@ Example response:
"web_url"
:
"https://gitlab.example.com/u/orville"
},
"subscribed"
:
false
,
"due_date"
:
null
"due_date"
:
null
,
"web_url"
:
"http://example.com/example/example/issues/12"
}
```
...
...
@@ -693,7 +702,9 @@ Example response:
"subscribed"
:
true
,
"user_notes_count"
:
7
,
"upvotes"
:
0
,
"downvotes"
:
0
"downvotes"
:
0
,
"due_date"
:
null
,
"web_url"
:
"http://example.com/example/example/issues/110"
},
"target_url"
:
"https://gitlab.example.com/gitlab-org/gitlab-ci/issues/10"
,
"body"
:
"Vel voluptas atque dicta mollitia adipisci qui at."
,
...
...
doc/api/merge_requests.md
View file @
e43c4060
...
...
@@ -70,7 +70,8 @@ Parameters:
"subscribed"
:
false
,
"user_notes_count"
:
1
,
"should_remove_source_branch"
:
true
,
"force_remove_source_branch"
:
false
"force_remove_source_branch"
:
false
,
"web_url"
:
"http://example.com/example/example/merge_requests/1"
}
]
```
...
...
@@ -136,7 +137,8 @@ Parameters:
"subscribed"
:
true
,
"user_notes_count"
:
1
,
"should_remove_source_branch"
:
true
,
"force_remove_source_branch"
:
false
"force_remove_source_branch"
:
false
,
"web_url"
:
"http://example.com/example/example/merge_requests/1"
}
```
...
...
@@ -239,6 +241,7 @@ Parameters:
"user_notes_count"
:
1
,
"should_remove_source_branch"
:
true
,
"force_remove_source_branch"
:
false
,
"web_url"
:
"http://example.com/example/example/merge_requests/1"
,
"changes"
:
[
{
"old_path"
:
"VERSION"
,
...
...
@@ -321,7 +324,8 @@ Parameters:
"subscribed"
:
true
,
"user_notes_count"
:
0
,
"should_remove_source_branch"
:
true
,
"force_remove_source_branch"
:
false
"force_remove_source_branch"
:
false
,
"web_url"
:
"http://example.com/example/example/merge_requests/1"
}
```
...
...
@@ -395,7 +399,8 @@ Parameters:
"subscribed"
:
true
,
"user_notes_count"
:
1
,
"should_remove_source_branch"
:
true
,
"force_remove_source_branch"
:
false
"force_remove_source_branch"
:
false
,
"web_url"
:
"http://example.com/example/example/merge_requests/1"
}
```
...
...
@@ -496,7 +501,8 @@ Parameters:
"subscribed"
:
true
,
"user_notes_count"
:
1
,
"should_remove_source_branch"
:
true
,
"force_remove_source_branch"
:
false
"force_remove_source_branch"
:
false
,
"web_url"
:
"http://example.com/example/example/merge_requests/1"
}
```
...
...
@@ -565,7 +571,8 @@ Parameters:
"subscribed"
:
true
,
"user_notes_count"
:
1
,
"should_remove_source_branch"
:
true
,
"force_remove_source_branch"
:
false
"force_remove_source_branch"
:
false
,
"web_url"
:
"http://example.com/example/example/merge_requests/1"
}
```
...
...
@@ -886,7 +893,8 @@ Example response:
"subscribed"
:
true
,
"user_notes_count"
:
7
,
"should_remove_source_branch"
:
true
,
"force_remove_source_branch"
:
false
"force_remove_source_branch"
:
false
,
"web_url"
:
"http://example.com/example/example/merge_requests/1"
},
"target_url"
:
"https://gitlab.example.com/gitlab-org/gitlab-ci/merge_requests/7"
,
"body"
:
"Et voluptas laudantium minus nihil recusandae ut accusamus earum aut non."
,
...
...
doc/api/project_snippets.md
View file @
e43c4060
...
...
@@ -53,7 +53,8 @@ Parameters:
},
"expires_at"
:
null
,
"updated_at"
:
"2012-06-28T10:52:04Z"
,
"created_at"
:
"2012-06-28T10:52:04Z"
"created_at"
:
"2012-06-28T10:52:04Z"
,
"web_url"
:
"http://example.com/example/example/snippets/1"
}
```
...
...
lib/api/entities.rb
View file @
e43c4060
...
...
@@ -177,6 +177,10 @@ module API
# TODO (rspeicher): Deprecated; remove in 9.0
expose
(
:expires_at
)
{
|
snippet
|
nil
}
expose
:web_url
do
|
snippet
,
options
|
Gitlab
::
UrlBuilder
.
build
(
snippet
)
end
end
class
ProjectEntity
<
Grape
::
Entity
...
...
@@ -206,6 +210,10 @@ module API
expose
:user_notes_count
expose
:upvotes
,
:downvotes
expose
:due_date
expose
:web_url
do
|
issue
,
options
|
Gitlab
::
UrlBuilder
.
build
(
issue
)
end
end
class
ExternalIssue
<
Grape
::
Entity
...
...
@@ -229,6 +237,10 @@ module API
expose
:user_notes_count
expose
:should_remove_source_branch?
,
as: :should_remove_source_branch
expose
:force_remove_source_branch?
,
as: :force_remove_source_branch
expose
:web_url
do
|
merge_request
,
options
|
Gitlab
::
UrlBuilder
.
build
(
merge_request
)
end
end
class
MergeRequestChanges
<
MergeRequest
...
...
spec/requests/api/issues_spec.rb
View file @
e43c4060
...
...
@@ -61,6 +61,7 @@ describe API::API, api: true do
expect
(
response
).
to
have_http_status
(
200
)
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
.
first
[
'title'
]).
to
eq
(
issue
.
title
)
expect
(
json_response
.
last
).
to
have_key
(
'web_url'
)
end
it
"adds pagination headers and keep query params"
do
...
...
spec/requests/api/merge_requests_spec.rb
View file @
e43c4060
...
...
@@ -33,6 +33,7 @@ describe API::API, api: true do
expect
(
json_response
).
to
be_an
Array
expect
(
json_response
.
length
).
to
eq
(
3
)
expect
(
json_response
.
last
[
'title'
]).
to
eq
(
merge_request
.
title
)
expect
(
json_response
.
last
).
to
have_key
(
'web_url'
)
end
it
"returns an array of all merge_requests"
do
...
...
spec/requests/api/project_snippets_spec.rb
View file @
e43c4060
...
...
@@ -30,6 +30,7 @@ describe API::API, api: true do
expect
(
response
).
to
have_http_status
(
200
)
expect
(
json_response
.
size
).
to
eq
(
3
)
expect
(
json_response
.
map
{
|
snippet
|
snippet
[
'id'
]}
).
to
include
(
public_snippet
.
id
,
internal_snippet
.
id
,
private_snippet
.
id
)
expect
(
json_response
.
last
).
to
have_key
(
'web_url'
)
end
it
'hides private snippets from regular user'
do
...
...
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