Extend project web hooks with more data
* add git_http_url and git_ssh_url to project web hook * add visibility_level to project web hook * add documentation about project visibility_level in API
This commit is contained in:
parent
1f617c3c5f
commit
92434b29cc
5 changed files with 39 additions and 6 deletions
|
@ -65,6 +65,7 @@ v 7.8.0 (unreleased)
|
|||
- Show projects user contributed to on user page. Show stars near project on user page.
|
||||
- Improve database performance for GitLab
|
||||
- Add Asana service (Jeremy Benoist)
|
||||
- Improve project web hooks with extra data
|
||||
|
||||
v 7.7.2
|
||||
- Update GitLab Shell to version 2.4.2 that fixes a bug when developers can push to protected branch
|
||||
|
|
|
@ -1,5 +1,23 @@
|
|||
# Projects
|
||||
|
||||
|
||||
### Project visibility level
|
||||
|
||||
Project in GitLab has be either private, internal or public.
|
||||
You can determine it by `visibility_level` field in project.
|
||||
|
||||
Constants for project visibility levels are next:
|
||||
|
||||
* Private. `visibility_level` is `0`.
|
||||
Project access must be granted explicitly for each user.
|
||||
|
||||
* Internal. `visibility_level` is `10`.
|
||||
The project can be cloned by any logged in user.
|
||||
|
||||
* Public. `visibility_level` is `20`.
|
||||
The project can be cloned without any authentication.
|
||||
|
||||
|
||||
## List projects
|
||||
|
||||
Get a list of projects accessible by the authenticated user.
|
||||
|
|
|
@ -24,16 +24,19 @@ Triggered when you push to the repository except when pushing tags.
|
|||
"project_id": 15,
|
||||
"repository": {
|
||||
"name": "Diaspora",
|
||||
"url": "git@example.com:diaspora.git",
|
||||
"url": "git@example.com:mike/diasporadiaspora.git",
|
||||
"description": "",
|
||||
"homepage": "http://example.com/diaspora"
|
||||
"homepage": "http://example.com/mike/diaspora",
|
||||
"git_http_url":"http://example.com/mike/diaspora.git",
|
||||
"git_ssh_url":"git@example.com:mike/diaspora.git",
|
||||
"visibility_level":0
|
||||
},
|
||||
"commits": [
|
||||
{
|
||||
"id": "b6568db1bc1dcd7f8b4d5a946b0b91f9dacd7327",
|
||||
"message": "Update Catalan translation to e38cb41.",
|
||||
"timestamp": "2011-12-12T14:27:31+02:00",
|
||||
"url": "http://example.com/diaspora/commits/b6568db1bc1dcd7f8b4d5a946b0b91f9dacd7327",
|
||||
"url": "http://example.com/mike/diaspora/commit/b6568db1bc1dcd7f8b4d5a946b0b91f9dacd7327",
|
||||
"author": {
|
||||
"name": "Jordi Mallach",
|
||||
"email": "jordi@softcatala.org"
|
||||
|
@ -43,7 +46,7 @@ Triggered when you push to the repository except when pushing tags.
|
|||
"id": "da1560886d4f094c3e6c9ef40349f7d38b5d27d7",
|
||||
"message": "fixed readme",
|
||||
"timestamp": "2012-01-03T23:36:29+02:00",
|
||||
"url": "http://example.com/diaspora/commits/da1560886d4f094c3e6c9ef40349f7d38b5d27d7",
|
||||
"url": "http://example.com/mike/diaspora/commit/da1560886d4f094c3e6c9ef40349f7d38b5d27d7",
|
||||
"author": {
|
||||
"name": "GitLab dev user",
|
||||
"email": "gitlabdev@dv6700.(none)"
|
||||
|
@ -72,8 +75,13 @@ Triggered when you create (or delete) tags to the repository.
|
|||
"name": "jsmith",
|
||||
"url": "ssh://git@example.com/jsmith/example.git",
|
||||
"description": "",
|
||||
"homepage": "http://example.com/jsmith/example"
|
||||
}
|
||||
"homepage": "http://example.com/jsmith/example",
|
||||
"git_http_url":"http://example.com/jsmith/example.git",
|
||||
"git_ssh_url":"git@example.com:jsmith/example.git",
|
||||
"visibility_level":0
|
||||
},
|
||||
"commits": [],
|
||||
"total_commits_count": 0
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -41,6 +41,9 @@ module Gitlab
|
|||
url: project.url_to_repo,
|
||||
description: project.description,
|
||||
homepage: project.web_url,
|
||||
git_http_url: project.http_url_to_repo,
|
||||
git_ssh_url: project.ssh_url_to_repo,
|
||||
visibility_level: project.visibility_level
|
||||
},
|
||||
commits: [],
|
||||
total_commits_count: commits_count
|
||||
|
|
|
@ -13,6 +13,9 @@ describe 'Gitlab::PushDataBuilder' do
|
|||
it { expect(data[:after]).to eq('5937ac0a7beb003549fc5fd26fc247adbce4a52e') }
|
||||
it { expect(data[:ref]).to eq('refs/heads/master') }
|
||||
it { expect(data[:commits].size).to eq(3) }
|
||||
it { expect(data[:repository][:git_http_url]).to eq(project.http_url_to_repo) }
|
||||
it { expect(data[:repository][:git_ssh_url]).to eq(project.ssh_url_to_repo) }
|
||||
it { expect(data[:repository][:visibility_level]).to eq(project.visibility_level) }
|
||||
it { expect(data[:total_commits_count]).to eq(3) }
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue