Commit a9dcfd851f80c35522ac844b316af783d0db7e64
Exists in
spb-stable
and in
3 other branches
Merge pull request #6308 from jvanbaarsen/help-to-markdown
Convert all help files to markdown files in doc directory
Showing
13 changed files
with
348 additions
and
563 deletions
Show diff stats
app/views/admin/hooks/_data_ex.html.haml
... | ... | @@ -1,67 +0,0 @@ |
1 | -= highlight_js do | |
2 | - :erb | |
3 | - 1. Project created: | |
4 | - { | |
5 | - "created_at": "2012-07-21T07:30:54Z", | |
6 | - "event_name": "project_create", | |
7 | - "name": "StoreCloud", | |
8 | - "owner_email": "johnsmith@gmail.com" | |
9 | - "owner_name": "John Smit", | |
10 | - "path": "stormcloud", | |
11 | - "path_with_namespace": "jsmith/stormcloud", | |
12 | - "project_id": 74, | |
13 | - } | |
14 | - | |
15 | - 2. Project destroyed: | |
16 | - { | |
17 | - "created_at": "2012-07-21T07:30:58Z", | |
18 | - "event_name": "project_destroy", | |
19 | - "name": "Underscore", | |
20 | - "owner_email": "johnsmith@gmail.com" | |
21 | - "owner_name": "John Smith", | |
22 | - "path": "underscore", | |
23 | - "path_with_namespace": "jsmith/underscore", | |
24 | - "project_id": 73, | |
25 | - } | |
26 | - | |
27 | - 3. New Team Member: | |
28 | - { | |
29 | - "created_at": "2012-07-21T07:30:56Z", | |
30 | - "event_name": "user_add_to_team", | |
31 | - "project_access": "Master", | |
32 | - "project_id": 74, | |
33 | - "project_name": "StoreCloud", | |
34 | - "project_path": "storecloud", | |
35 | - "user_email": "johnsmith@gmail.com", | |
36 | - "user_name": "John Smith", | |
37 | - } | |
38 | - | |
39 | - 4. Team Member Removed: | |
40 | - { | |
41 | - "created_at": "2012-07-21T07:30:56Z", | |
42 | - "event_name": "user_remove_from_team", | |
43 | - "project_access": "Master", | |
44 | - "project_id": 74, | |
45 | - "project_name": "StoreCloud", | |
46 | - "project_path": "storecloud", | |
47 | - "user_email": "johnsmith@gmail.com", | |
48 | - "user_name": "John Smith", | |
49 | - } | |
50 | - | |
51 | - 5. User created: | |
52 | - { | |
53 | - "created_at": "2012-07-21T07:44:07Z", | |
54 | - "email": "js@gitlabhq.com", | |
55 | - "event_name": "user_create", | |
56 | - "name": "John Smith", | |
57 | - "user_id": 41 | |
58 | - } | |
59 | - | |
60 | - 6. User removed: | |
61 | - { | |
62 | - "created_at": "2012-07-21T07:44:07Z", | |
63 | - "email": "js@gitlabhq.com", | |
64 | - "event_name": "user_destroy", | |
65 | - "name": "John Smith", | |
66 | - "user_id": 41 | |
67 | - } |
app/views/help/permissions.html.haml
1 | 1 | = render layout: 'help/layout' do |
2 | - %h3.page-title Permissions | |
3 | - %p.light Users have different abilities depending on the access level they have in particular group or project. | |
4 | - %p.light If a user is both in a project group and in the project itself the highest permission level is used. | |
5 | - %p.light If a user is a GitLab administrator they receive all permissions. | |
6 | - %hr | |
2 | + %h3.page-title Permissions | |
7 | 3 | |
8 | - %h4 Project: | |
9 | - %table.table | |
10 | - %thead | |
11 | - %tr | |
12 | - %th Action | |
13 | - %th Guest | |
14 | - %th Reporter | |
15 | - %th Developer | |
16 | - %th Master | |
17 | - %th Owner | |
18 | - %tbody | |
19 | - %tr | |
20 | - %td Create new issue | |
21 | - %td.permission-x ✓ | |
22 | - %td.permission-x ✓ | |
23 | - %td.permission-x ✓ | |
24 | - %td.permission-x ✓ | |
25 | - %td.permission-x ✓ | |
26 | - %tr | |
27 | - %td Leave comments | |
28 | - %td.permission-x ✓ | |
29 | - %td.permission-x ✓ | |
30 | - %td.permission-x ✓ | |
31 | - %td.permission-x ✓ | |
32 | - %td.permission-x ✓ | |
33 | - %tr | |
34 | - %td Write on project wall | |
35 | - %td.permission-x ✓ | |
36 | - %td.permission-x ✓ | |
37 | - %td.permission-x ✓ | |
38 | - %td.permission-x ✓ | |
39 | - %td.permission-x ✓ | |
40 | - %tr | |
41 | - %td Pull project code | |
42 | - %td | |
43 | - %td.permission-x ✓ | |
44 | - %td.permission-x ✓ | |
45 | - %td.permission-x ✓ | |
46 | - %td.permission-x ✓ | |
47 | - %tr | |
48 | - %td Download project | |
49 | - %td | |
50 | - %td.permission-x ✓ | |
51 | - %td.permission-x ✓ | |
52 | - %td.permission-x ✓ | |
53 | - %td.permission-x ✓ | |
54 | - %tr | |
55 | - %td Create code snippets | |
56 | - %td | |
57 | - %td.permission-x ✓ | |
58 | - %td.permission-x ✓ | |
59 | - %td.permission-x ✓ | |
60 | - %td.permission-x ✓ | |
61 | - %tr | |
62 | - %td Create new merge request | |
63 | - %td | |
64 | - %td | |
65 | - %td.permission-x ✓ | |
66 | - %td.permission-x ✓ | |
67 | - %td.permission-x ✓ | |
68 | - %tr | |
69 | - %td Create new branches | |
70 | - %td | |
71 | - %td | |
72 | - %td.permission-x ✓ | |
73 | - %td.permission-x ✓ | |
74 | - %td.permission-x ✓ | |
75 | - %tr | |
76 | - %td Push to non-protected branches | |
77 | - %td | |
78 | - %td | |
79 | - %td.permission-x ✓ | |
80 | - %td.permission-x ✓ | |
81 | - %td.permission-x ✓ | |
82 | - %tr | |
83 | - %td Remove non-protected branches | |
84 | - %td | |
85 | - %td | |
86 | - %td.permission-x ✓ | |
87 | - %td.permission-x ✓ | |
88 | - %td.permission-x ✓ | |
89 | - %tr | |
90 | - %td Add tags | |
91 | - %td | |
92 | - %td | |
93 | - %td.permission-x ✓ | |
94 | - %td.permission-x ✓ | |
95 | - %td.permission-x ✓ | |
96 | - %tr | |
97 | - %td Write a wiki | |
98 | - %td | |
99 | - %td | |
100 | - %td.permission-x ✓ | |
101 | - %td.permission-x ✓ | |
102 | - %td.permission-x ✓ | |
103 | - %tr | |
104 | - %td Manage issue tracker | |
105 | - %td | |
106 | - %td | |
107 | - %td.permission-x ✓ | |
108 | - %td.permission-x ✓ | |
109 | - %td.permission-x ✓ | |
110 | - %tr | |
111 | - %td Add new team members | |
112 | - %td | |
113 | - %td | |
114 | - %td | |
115 | - %td.permission-x ✓ | |
116 | - %td.permission-x ✓ | |
117 | - %tr | |
118 | - %td Push to protected branches | |
119 | - %td | |
120 | - %td | |
121 | - %td | |
122 | - %td.permission-x ✓ | |
123 | - %td.permission-x ✓ | |
124 | - %tr | |
125 | - %td Remove protected branches | |
126 | - %td | |
127 | - %td | |
128 | - %td | |
129 | - %td.permission-x ✓ | |
130 | - %td.permission-x ✓ | |
131 | - %tr | |
132 | - %td Edit project | |
133 | - %td | |
134 | - %td | |
135 | - %td | |
136 | - %td.permission-x ✓ | |
137 | - %td.permission-x ✓ | |
138 | - %tr | |
139 | - %td Add Deploy Keys to project | |
140 | - %td | |
141 | - %td | |
142 | - %td | |
143 | - %td.permission-x ✓ | |
144 | - %td.permission-x ✓ | |
145 | - %tr | |
146 | - %td Configure Project Hooks | |
147 | - %td | |
148 | - %td | |
149 | - %td | |
150 | - %td.permission-x ✓ | |
151 | - %td.permission-x ✓ | |
152 | - %tr | |
153 | - %td Switch visibility level | |
154 | - %td | |
155 | - %td | |
156 | - %td | |
157 | - %td | |
158 | - %td.permission-x ✓ | |
159 | - %tr | |
160 | - %td Transfer project to another namespace | |
161 | - %td | |
162 | - %td | |
163 | - %td | |
164 | - %td | |
165 | - %td.permission-x ✓ | |
166 | - %tr | |
167 | - %td Remove project | |
168 | - %td | |
169 | - %td | |
170 | - %td | |
171 | - %td | |
172 | - %td.permission-x ✓ | |
173 | - | |
174 | - %h4 Group | |
175 | - %table.table | |
176 | - %thead | |
177 | - %tr | |
178 | - %th Action | |
179 | - %th Guest | |
180 | - %th Reporter | |
181 | - %th Developer | |
182 | - %th Master | |
183 | - %th Owner | |
184 | - %tbody | |
185 | - %tr | |
186 | - %td Browse group | |
187 | - %td.permission-x ✓ | |
188 | - %td.permission-x ✓ | |
189 | - %td.permission-x ✓ | |
190 | - %td.permission-x ✓ | |
191 | - %td.permission-x ✓ | |
192 | - %tr | |
193 | - %td Edit group | |
194 | - %td | |
195 | - %td | |
196 | - %td | |
197 | - %td | |
198 | - %td.permission-x ✓ | |
199 | - %tr | |
200 | - %td Create project in group | |
201 | - %td | |
202 | - %td | |
203 | - %td | |
204 | - %td | |
205 | - %td.permission-x ✓ | |
206 | - %tr | |
207 | - %td Manage group members | |
208 | - %td | |
209 | - %td | |
210 | - %td | |
211 | - %td | |
212 | - %td.permission-x ✓ | |
213 | - %tr | |
214 | - %td Remove group | |
215 | - %td | |
216 | - %td | |
217 | - %td | |
218 | - %td | |
219 | - %td.permission-x ✓ | |
220 | - %p.light Any user can remove himself from a group, unless he is the last Owner of the group. | |
4 | + .help_body | |
5 | + = preserve do | |
6 | + = markdown File.read(Rails.root.join("doc", "permissions", "permissions.md")) | ... | ... |
app/views/help/public_access.html.haml
1 | 1 | = render layout: 'help/layout' do |
2 | - %h3.page-title Public Access | |
2 | + %h3.page-title Public Access | |
3 | 3 | |
4 | - %p.slead | |
5 | - GitLab allows you to open selected projects to be accessed | |
6 | - %strong publicly | |
7 | - or | |
8 | - %strong internally | |
9 | - \. | |
10 | - %br | |
11 | - Projects with either of these visibility levels will be listed in the #{link_to "public access directory", public_root_path}. | |
12 | - %br | |
13 | - Internal projects will only be available to authenticated users. | |
14 | - | |
15 | - .clearfix | |
16 | - .dashboard-intro-icon | |
17 | - = public_icon | |
18 | - %h4 | |
19 | - Public projects | |
20 | - %p | |
21 | - Public project can be cloned | |
22 | - %strong without any | |
23 | - authentication. | |
24 | - %br | |
25 | - It will also be listed on the #{link_to "public access directory", public_root_path}. | |
26 | - %br | |
27 | - %strong Any logged in user | |
28 | - will have #{link_to "Guest", help_permissions_path} permissions on the repository. | |
29 | - | |
30 | - .clearfix | |
31 | - .dashboard-intro-icon | |
32 | - = internal_icon | |
33 | - %h4 | |
34 | - Internal projects | |
35 | - %p | |
36 | - Internal project can be cloned by any logged in user. | |
37 | - %br | |
38 | - It will also be listed on the #{link_to "public access directory", public_root_path} for logged in users. | |
39 | - %br | |
40 | - Any logged in user will have #{link_to "Guest", help_permissions_path} permissions on the repository. | |
41 | - | |
42 | - %h4 How to change project visibility | |
43 | - %ol | |
44 | - %li Go to your project dashboard | |
45 | - %li Click on the "Edit" tab | |
46 | - %li Change "Visibility Level" | |
47 | - | |
48 | - %h4 Visibility of users | |
49 | - The public page of users, located at | |
50 | - = succeed "," do | |
51 | - %code u/username | |
52 | - is visible if either: | |
53 | - %ul | |
54 | - %li | |
55 | - You are logged in. | |
56 | - %li | |
57 | - %p | |
58 | - You are logged out, and the target user is authorized to (is Guest, Reporter, etc.) | |
59 | - at least one public project. | |
60 | - %p Otherwise, you will be redirected to the sign in page. | |
61 | - When visiting the public page of an user, you will only see listed projects which you can view yourself. | |
4 | + .help_body | |
5 | + = preserve do | |
6 | + = markdown File.read(Rails.root.join("doc", "public_access", "public_access.md")) | ... | ... |
app/views/help/ssh.html.haml
1 | 1 | = render layout: 'help/layout' do |
2 | - %h3.page-title SSH Keys | |
2 | + %h3.page-title SSH Keys | |
3 | 3 | |
4 | - %p.slead | |
5 | - SSH key allows you to establish a secure connection between your computer and GitLab | |
6 | - | |
7 | - %p.slead | |
8 | - Before generating an SSH key, check if your system already has one by running cat ~/.ssh/id_rsa.pub | |
9 | - If your see a long string starting with 'ssh-rsa' or 'ssh-dsa', you can skip the ssh-keygen step. | |
10 | - | |
11 | - %p.slead | |
12 | - To generate a new SSH key just open your terminal and use code below. The ssh-keygen command prompts you for a location and filename to store the key pair and for a password. | |
13 | - When prompted for the location and filename you can press enter to use the default. | |
14 | - It is a best practice to use a password for an SSH key but it is not required and you can skip creating a password by pressing enter. | |
15 | - Note that the password you choose here can't be altered or retrieved. | |
16 | - | |
17 | - %pre.dark | |
18 | - ssh-keygen -t rsa -C "#{current_user.email}" | |
19 | - | |
20 | - %p.slead | |
21 | - Use code below to show your public key. | |
22 | - | |
23 | - %pre.dark | |
24 | - cat ~/.ssh/id_rsa.pub | |
25 | - | |
26 | - %p.slead | |
27 | - Copy-paste the key to the 'My SSH Keys' section under the 'SSH' tab in your user profile. | |
28 | - Please copy the complete key starting with 'ssh-' and ending with your username and host. | |
4 | + .help_body | |
5 | + = preserve do | |
6 | + = markdown File.read(Rails.root.join("doc", "ssh", "ssh.md")) | ... | ... |
app/views/help/system_hooks.html.haml
1 | 1 | = render layout: 'help/layout' do |
2 | - %h3.page-title System hooks | |
2 | + %h3.page-title System hooks | |
3 | 3 | |
4 | - %p.slead | |
5 | - Your GitLab instance can perform HTTP POST requests on the following events: create_project, delete_project, create_user, delete_user, change_team_member. | |
6 | - %br | |
7 | - %br | |
8 | - System Hooks can be used, e.g. for logging or changing information in a LDAP server. | |
9 | - %br | |
10 | - %h5 Hooks request example: | |
11 | - = render "admin/hooks/data_ex" | |
4 | + .help_body | |
5 | + = preserve do | |
6 | + = markdown File.read(Rails.root.join("doc", "system_hooks", "system_hooks.md")) | ... | ... |
app/views/help/web_hooks.html.haml
1 | 1 | = render layout: 'help/layout' do |
2 | - %h3.page-title Project web hooks | |
3 | - %p.light | |
4 | - Project web hooks allow you to trigger url if new code is pushed or new issue is created | |
5 | - %hr | |
2 | + %h3.page-title Project web hooks | |
6 | 3 | |
7 | - %p.slead | |
8 | - You can configure web hook to listen for specific events like pushes, issues, merge requests. | |
9 | - %br | |
10 | - GitLab will send POST request with data to web hook url. | |
11 | - %br | |
12 | - Web Hooks can be used to update an external issue tracker, trigger CI builds, update a backup mirror, or even deploy to your production server. | |
13 | - %hr | |
14 | - | |
15 | - %h4 Push events | |
16 | - %p.light | |
17 | - Triggered when you push to the repository except pushing tags. | |
18 | - %br | |
19 | - Request body: | |
20 | - = highlight_js do | |
21 | - :erb | |
22 | - { | |
23 | - "before": "95790bf891e76fee5e1747ab589903a6a1f80f22", | |
24 | - "after": "da1560886d4f094c3e6c9ef40349f7d38b5d27d7", | |
25 | - "ref": "refs/heads/master", | |
26 | - "user_id": 4, | |
27 | - "user_name": "John Smith", | |
28 | - "project_id": 15, | |
29 | - "repository": { | |
30 | - "name": "Diaspora", | |
31 | - "url": "git@localhost:diaspora.git", | |
32 | - "description": "", | |
33 | - "homepage": "http://localhost/diaspora", | |
34 | - }, | |
35 | - "commits": [ | |
36 | - { | |
37 | - "id": "b6568db1bc1dcd7f8b4d5a946b0b91f9dacd7327", | |
38 | - "message": "Update Catalan translation to e38cb41.", | |
39 | - "timestamp": "2011-12-12T14:27:31+02:00", | |
40 | - "url": "http://localhost/diaspora/commits/b6568db1bc1dcd7f8b4d5a946b0b91f9dacd7327", | |
41 | - "author": { | |
42 | - "name": "Jordi Mallach", | |
43 | - "email": "jordi@softcatala.org", | |
44 | - } | |
45 | - }, | |
46 | - // ... | |
47 | - { | |
48 | - "id": "da1560886d4f094c3e6c9ef40349f7d38b5d27d7", | |
49 | - "message": "fixed readme", | |
50 | - "timestamp": "2012-01-03T23:36:29+02:00", | |
51 | - "url": "http://localhost/diaspora/commits/da1560886d4f094c3e6c9ef40349f7d38b5d27d7", | |
52 | - "author": { | |
53 | - "name": "GitLab dev user", | |
54 | - "email": "gitlabdev@dv6700.(none)", | |
55 | - }, | |
56 | - }, | |
57 | - ], | |
58 | - "total_commits_count": 4, | |
59 | - }; | |
60 | - | |
61 | - | |
62 | - %h4.prepend-top-20 Issues events | |
63 | - %p.light | |
64 | - Triggered when new issue created or existing issue was updated/closed/reopened. | |
65 | - %br | |
66 | - Request body: | |
67 | - = highlight_js do | |
68 | - :erb | |
69 | - { | |
70 | - "object_kind":"issue", | |
71 | - "object_attributes":{ | |
72 | - "id":301, | |
73 | - "title":"New API: create/update/delete file", | |
74 | - "assignee_id":51, | |
75 | - "author_id":51, | |
76 | - "project_id":14, | |
77 | - "created_at":"2013-12-03T17:15:43Z", | |
78 | - "updated_at":"2013-12-03T17:15:43Z", | |
79 | - "position":0, | |
80 | - "branch_name":null, | |
81 | - "description":"Create new API for manipulations with repository", | |
82 | - "milestone_id":null, | |
83 | - "state":"opened", | |
84 | - "iid":23 | |
85 | - } | |
86 | - } | |
87 | - %h4.prepend-top-20 Merge request events | |
88 | - %p.light | |
89 | - Triggered when new merge request created or existing merge request was updated/merged/closed. | |
90 | - %br | |
91 | - Request body: | |
92 | - = highlight_js do | |
93 | - :erb | |
94 | - { | |
95 | - "object_kind":"merge_request", | |
96 | - "object_attributes":{ | |
97 | - "id":99, | |
98 | - "target_branch":"master", | |
99 | - "source_branch":"ms-viewport", | |
100 | - "source_project_id":14, | |
101 | - "author_id":51, | |
102 | - "assignee_id":6, | |
103 | - "title":"MS-Viewport", | |
104 | - "created_at":"2013-12-03T17:23:34Z", | |
105 | - "updated_at":"2013-12-03T17:23:34Z", | |
106 | - "st_commits":null, | |
107 | - "st_diffs":null, | |
108 | - "milestone_id":null, | |
109 | - "state":"opened", | |
110 | - "merge_status":"unchecked", | |
111 | - "target_project_id":14, | |
112 | - "iid":1, | |
113 | - "description":"" | |
114 | - } | |
115 | - } | |
4 | + .help_body | |
5 | + = preserve do | |
6 | + = markdown File.read(Rails.root.join("doc", "web_hooks", "web_hooks.md")) | ... | ... |
app/views/help/workflow.html.haml
1 | 1 | = render layout: 'help/layout' do |
2 | - %h3.page-title Workflow | |
2 | + %h3.page-title Workflow | |
3 | 3 | |
4 | - %h4 Summary | |
5 | - | |
6 | - %ol.help | |
7 | - %li | |
8 | - %p Clone project | |
9 | - .bash | |
10 | - %pre.dark | |
11 | - git clone git@example.com:project-name.git | |
12 | - | |
13 | - %li | |
14 | - %p Create branch with your feature | |
15 | - .bash | |
16 | - %pre.dark | |
17 | - git checkout -b $feature_name | |
18 | - | |
19 | - %li | |
20 | - %p Write code. Commit changes | |
21 | - .bash | |
22 | - %pre.dark | |
23 | - git commit -am "My feature is ready" | |
24 | - | |
25 | - %li | |
26 | - %p Push your branch to GitLab | |
27 | - .bash | |
28 | - %pre.dark | |
29 | - git push origin $feature_name | |
30 | - | |
31 | - %li | |
32 | - %p Review your code on Commits page | |
33 | - | |
34 | - %li | |
35 | - %p Create a merge request | |
36 | - | |
37 | - %li | |
38 | - %p Your team lead will review code & merge it to main branch | |
39 | - | |
40 | - %h3 Authorization for Merge Requests | |
41 | - %p | |
42 | - There are two main ways to have a merge request flow with GitLab: working with protected branches in a single repository, or working with forks of an authoritative project. | |
43 | - | |
44 | - %h4 Protected branch flow | |
45 | - %p | |
46 | - With the protected branch flow everybody works within the same GitLab project. | |
47 | - The project maintainers get Master access and the regular developers get Developer access. | |
48 | - The maintainers mark the authoritative branches as 'Protected'. | |
49 | - The developers push feature branches to the project and create merge requests to have their feature branches reviewed and merged into one of the protected branches. | |
50 | - Only users with Master access can merge changes into a protected branch. | |
51 | - | |
52 | - %h5 Advantages | |
53 | - %ul | |
54 | - %li fewer projects means less clutter | |
55 | - %li developers need to consider only one remote repository | |
56 | - | |
57 | - %h5 Disadvantages | |
58 | - %ul | |
59 | - %li manual setup of protected branch required for each new project | |
60 | - | |
61 | - %h4 Forking workflow | |
62 | - %p | |
63 | - With the forking workflow the maintainers get Master access and the regular developers get Reporter access to the authoritative repository, which prohibits them from pushing any changes to it. | |
64 | - Developers create forks of the authoritative project and push their feature branches to their own forks. | |
65 | - To get their changes into master they need to create a merge request across forks. | |
66 | - | |
67 | - %h5 Advantages | |
68 | - %ul | |
69 | - %li in an appropriately configured GitLab group, new projects automatically get the required access restrictions for regular developers: fewer manual steps to configure authorization for new projects | |
70 | - | |
71 | - %h5 Disadvantages | |
72 | - %ul | |
73 | - %li all developers on the project need to keep their forks up to date, which requires more advanced Git skills (managing multiple remotes) | |
4 | + .help_body | |
5 | + = preserve do | |
6 | + = markdown File.read(Rails.root.join("doc", "workflow", "workflow.md")) | ... | ... |
... | ... | @@ -0,0 +1,45 @@ |
1 | +Users have different abilities depending on the access level they have in a particular group or project. | |
2 | +If a user is both in a project group and in the project itself, the highest permission level is used. | |
3 | +If a user is a GitLab administrator they receive all permissions. | |
4 | + | |
5 | +--- | |
6 | + | |
7 | +#### Project: | |
8 | + | |
9 | + | |
10 | +| Action| Guest | Reporter | Developer | Master | Owner| | |
11 | +|-------|-------|----------|-----------|--------|------| | |
12 | +|Create new issue|✓|✓|✓|✓|✓| | |
13 | +|Leave comments|✓|✓|✓|✓|✓| | |
14 | +|Write on project wall|✓|✓|✓|✓|✓| | |
15 | +|Pull project code| |✓|✓|✓|✓| | |
16 | +|Download project| |✓|✓|✓|✓| | |
17 | +|Create code snippets| |✓|✓|✓|✓| | |
18 | +|Create new merge request| ||✓|✓|✓| | |
19 | +|Create new branches| ||✓|✓|✓| | |
20 | +|Push to non-protected branches| ||✓|✓|✓| | |
21 | +|Remove non-protected branches| ||✓|✓|✓| | |
22 | +|Add tags| ||✓|✓|✓| | |
23 | +|Write a wiki| ||✓|✓|✓| | |
24 | +|Manage issue tracker| ||✓|✓|✓| | |
25 | +|Add new team members| |||✓|✓| | |
26 | +|Push to protected branches| |||✓|✓| | |
27 | +|Remove protected branches| |||✓|✓| | |
28 | +|Edit project| |||✓|✓| | |
29 | +|Add Deploy Keys to project| |||✓|✓| | |
30 | +|Confiure Project Hooks| |||✓|✓| | |
31 | +|Switch visibility level| ||||✓| | |
32 | +|Transfer project to another namespace| ||||✓| | |
33 | +|Remove project| ||||✓| | |
34 | + | |
35 | +#### Group | |
36 | + | |
37 | +|Action|Guest|Reporter|Developer|Master|Owner| | |
38 | +|------|-----|--------|---------|------|-----| | |
39 | +|Browse group|✓|✓|✓|✓|✓| | |
40 | +|Edit group|||||✓| | |
41 | +|create project in group|||||✓| | |
42 | +|Manage group members|||||✓| | |
43 | +|Remove group|||||✓| | |
44 | + | |
45 | +Any user can remove himself from a group, unless he is the last Owner of the group. | ... | ... |
... | ... | @@ -0,0 +1,28 @@ |
1 | +Gitlab allows you to open selected projects to be accessed **publicly** or **internally**. | |
2 | +Projects with either of these visibility levels will be listen in the [public access directory](/public). | |
3 | +Internal projects will only be available to authenticated users. | |
4 | + | |
5 | +#### Public projects | |
6 | +Public projects can be cloned **without any** authentication. | |
7 | +It will also be listen on the [public access directory](/public). | |
8 | +**Any logged in user** will have [Guest](/help/permissions) permissions on the repository. | |
9 | + | |
10 | +#### Internal projects | |
11 | +Internal projects can be cloned by any logged in user. | |
12 | +It will also be listed on the [public access directory](/public) for logged in users. | |
13 | +Any logged in user will have [Guest](/help/permissions) permissions on the repository. | |
14 | + | |
15 | +#### How to change project visibility | |
16 | +1. Go to your project dashboard | |
17 | +2. Click on the "Edit" tab | |
18 | +3. Change "Visibility Level" | |
19 | + | |
20 | +#### Visibility of users | |
21 | +The public page of users, located at `/u/username` is visible if either: | |
22 | + | |
23 | +* You are logged in. | |
24 | +* You are logged out, and the target user is authorized to (is Guest, Reporter, etc.) at least one public project. | |
25 | + | |
26 | +Otherwise, you will be redirected to the sign in page. | |
27 | + | |
28 | +When visiting the public page of an user, you will only see listed projects which you can view yourself. | ... | ... |
... | ... | @@ -0,0 +1,24 @@ |
1 | +SSH key allows you to establish a secure connection between your computer and GitLab | |
2 | + | |
3 | + | |
4 | +Before generating an SSH key, check if your system already has one by running `cat ~/.ssh/id_rsa.pub` | |
5 | +If your see a long string starting with `ssh-rsa` or `ssh-dsa`, you can skip the ssh-keygen step. | |
6 | + | |
7 | + | |
8 | +To generate a new SSH key just open your terminal and use code below. The ssh-keygen command prompts you for a location and filename to store the key pair and for a password. | |
9 | +When prompted for the location and filename you can press enter to use the default. | |
10 | +It is a best practice to use a password for an SSH key but it is not required and you can skip creating a password by pressing enter. | |
11 | +Note that the password you choose here can't be altered or retrieved. | |
12 | + | |
13 | +```bash | |
14 | +ssh-keygen -t rsa -C "$your_email" | |
15 | +``` | |
16 | + | |
17 | +Use the code below to show your public key. | |
18 | + | |
19 | +```bash | |
20 | +cat ~/.ssh/id_rsa.pub | |
21 | +``` | |
22 | + | |
23 | +Copy-paste the key to the 'My SSH Keys' section under the 'SSH' tab in your user profile. | |
24 | +Please copy the complete key starting with `ssh-` and ending with your username and host. | ... | ... |
... | ... | @@ -0,0 +1,89 @@ |
1 | +Your GitLab instance can perform HTTP POST requests on the following events: `create_project`, `delete_project`, `create_user`, `delete_user` and `change_team_member`. | |
2 | + | |
3 | +System hooks can be used, e.g. for logging or changing information in a LDAP server. | |
4 | + | |
5 | +#### Hooks request example: | |
6 | + | |
7 | +**Project created:** | |
8 | + | |
9 | +```json | |
10 | +{ | |
11 | + "created_at": "2012-07-21T07:30:54Z", | |
12 | + "event_name": "project_create", | |
13 | + "name": "StoreCloud", | |
14 | + "owner_email": "johnsmith@gmail.com" | |
15 | + "owner_name": "John Smit", | |
16 | + "path": "stormcloud", | |
17 | + "path_with_namespace": "jsmith/stormcloud", | |
18 | + "project_id": 74, | |
19 | +} | |
20 | +``` | |
21 | + | |
22 | +**Project destroyed:** | |
23 | + | |
24 | +```json | |
25 | +{ | |
26 | + "created_at": "2012-07-21T07:30:58Z", | |
27 | + "event_name": "project_destroy", | |
28 | + "name": "Underscore", | |
29 | + "owner_email": "johnsmith@gmail.com" | |
30 | + "owner_name": "John Smith", | |
31 | + "path": "underscore", | |
32 | + "path_with_namespace": "jsmith/underscore", | |
33 | + "project_id": 73, | |
34 | +} | |
35 | +``` | |
36 | + | |
37 | +**New Team Member:** | |
38 | + | |
39 | +```ruby | |
40 | +{ | |
41 | + "created_at": "2012-07-21T07:30:56Z", | |
42 | + "event_name": "user_add_to_team", | |
43 | + "project_access": "Master", | |
44 | + "project_id": 74, | |
45 | + "project_name": "StoreCloud", | |
46 | + "project_path": "storecloud", | |
47 | + "user_email": "johnsmith@gmail.com", | |
48 | + "user_name": "John Smith", | |
49 | +} | |
50 | +``` | |
51 | + | |
52 | +**Team Member Removed:** | |
53 | + | |
54 | +```json | |
55 | +{ | |
56 | + "created_at": "2012-07-21T07:30:56Z", | |
57 | + "event_name": "user_remove_from_team", | |
58 | + "project_access": "Master", | |
59 | + "project_id": 74, | |
60 | + "project_name": "StoreCloud", | |
61 | + "project_path": "storecloud", | |
62 | + "user_email": "johnsmith@gmail.com", | |
63 | + "user_name": "John Smith", | |
64 | +} | |
65 | +``` | |
66 | + | |
67 | +**User created:** | |
68 | + | |
69 | +```json | |
70 | +{ | |
71 | + "created_at": "2012-07-21T07:44:07Z", | |
72 | + "email": "js@gitlabhq.com", | |
73 | + "event_name": "user_create", | |
74 | + "name": "John Smith", | |
75 | + "user_id": 41 | |
76 | +} | |
77 | +``` | |
78 | + | |
79 | +**User removed:** | |
80 | + | |
81 | +```json | |
82 | +{ | |
83 | + "created_at": "2012-07-21T07:44:07Z", | |
84 | + "email": "js@gitlabhq.com", | |
85 | + "event_name": "user_destroy", | |
86 | + "name": "John Smith", | |
87 | + "user_id": 41 | |
88 | +} | |
89 | +``` | ... | ... |
... | ... | @@ -0,0 +1,112 @@ |
1 | +Project web hooks allow you to trihher an url if new code is pushed or a new issue is created. | |
2 | + | |
3 | +--- | |
4 | + | |
5 | +You can configure web hook to listen for specific events like pushes, issues, merge requests. | |
6 | +GitLab will send POST request with data to web hook url. | |
7 | +Web Hooks can be used to update an external issue tracker, trigger CI builds, update a backup mirror, or even deploy to your production server. | |
8 | + | |
9 | +--- | |
10 | + | |
11 | +#### Push events | |
12 | +Triggered when you push to the repository except pushing tags. | |
13 | + | |
14 | +**Request body:** | |
15 | + | |
16 | +```json | |
17 | +{ | |
18 | + "before": "95790bf891e76fee5e1747ab589903a6a1f80f22", | |
19 | + "after": "da1560886d4f094c3e6c9ef40349f7d38b5d27d7", | |
20 | + "ref": "refs/heads/master", | |
21 | + "user_id": 4, | |
22 | + "user_name": "John Smith", | |
23 | + "project_id": 15, | |
24 | + "repository": { | |
25 | + "name": "Diaspora", | |
26 | + "url": "git@localhost:diaspora.git", | |
27 | + "description": "", | |
28 | + "homepage": "http://localhost/diaspora" | |
29 | + }, | |
30 | + "commits": [ | |
31 | + { | |
32 | + "id": "b6568db1bc1dcd7f8b4d5a946b0b91f9dacd7327", | |
33 | + "message": "Update Catalan translation to e38cb41.", | |
34 | + "timestamp": "2011-12-12T14:27:31+02:00", | |
35 | + "url": "http://localhost/diaspora/commits/b6568db1bc1dcd7f8b4d5a946b0b91f9dacd7327", | |
36 | + "author": { | |
37 | + "name": "Jordi Mallach", | |
38 | + "email": "jordi@softcatala.org" | |
39 | + } | |
40 | + }, | |
41 | + { | |
42 | + "id": "da1560886d4f094c3e6c9ef40349f7d38b5d27d7", | |
43 | + "message": "fixed readme", | |
44 | + "timestamp": "2012-01-03T23:36:29+02:00", | |
45 | + "url": "http://localhost/diaspora/commits/da1560886d4f094c3e6c9ef40349f7d38b5d27d7", | |
46 | + "author": { | |
47 | + "name": "GitLab dev user", | |
48 | + "email": "gitlabdev@dv6700.(none)" | |
49 | + } | |
50 | + } | |
51 | + ], | |
52 | + "total_commits_count": 4 | |
53 | +} | |
54 | +``` | |
55 | + | |
56 | +#### Issues events | |
57 | + | |
58 | +Triggered when a new issue is created or an existing issue was updated/closed/reopened. | |
59 | + | |
60 | +**Request body:** | |
61 | + | |
62 | +```json | |
63 | +{ | |
64 | + "object_kind": "issue", | |
65 | + "object_attributes": { | |
66 | + "id": 301, | |
67 | + "title": "New API: create/update/delete file", | |
68 | + "assignee_id": 51, | |
69 | + "author_id": 51, | |
70 | + "project_id": 14, | |
71 | + "created_at": "2013-12-03T17:15:43Z", | |
72 | + "updated_at": "2013-12-03T17:15:43Z", | |
73 | + "position": 0, | |
74 | + "branch_name": null, | |
75 | + "description": "Create new API for manipulations with repository", | |
76 | + "milestone_id": null, | |
77 | + "state": "opened", | |
78 | + "iid": 23 | |
79 | + } | |
80 | +} | |
81 | +``` | |
82 | + | |
83 | +#### Merge request events | |
84 | + | |
85 | +Triggered when a new merge request is created or an existing merge request was updated/merges/closed. | |
86 | + | |
87 | +**Request body:** | |
88 | + | |
89 | +```json | |
90 | +{ | |
91 | + "object_kind": "merge_request", | |
92 | + "object_attributes": { | |
93 | + "id": 99, | |
94 | + "target_branch": "master", | |
95 | + "source_branch": "ms-viewport", | |
96 | + "source_project_id": 14, | |
97 | + "author_id": 51, | |
98 | + "assignee_id": 6, | |
99 | + "title": "MS-Viewport", | |
100 | + "created_at": "2013-12-03T17:23:34Z", | |
101 | + "updated_at": "2013-12-03T17:23:34Z", | |
102 | + "st_commits": null, | |
103 | + "st_diffs": null, | |
104 | + "milestone_id": null, | |
105 | + "state": "opened", | |
106 | + "merge_status": "unchecked", | |
107 | + "target_project_id": 14, | |
108 | + "iid": 1, | |
109 | + "description": "" | |
110 | + } | |
111 | +} | |
112 | +``` | ... | ... |
... | ... | @@ -0,0 +1,26 @@ |
1 | +1. Clone project | |
2 | + | |
3 | + ```bash | |
4 | + git clone git@example.com:project-name.git | |
5 | + ``` | |
6 | +2. Create branch with your feature | |
7 | + | |
8 | + ```bash | |
9 | + git checkout -b $feature_name | |
10 | + ``` | |
11 | + | |
12 | +3. Write code. Comit changes | |
13 | + | |
14 | + ```bash | |
15 | + git commit -am "My feature is ready" | |
16 | + ``` | |
17 | + | |
18 | +4. Push your branch to GitLab | |
19 | + | |
20 | + ```bash | |
21 | + git push origin $feature_name | |
22 | + ``` | |
23 | + | |
24 | +5. Review your code on Commits page | |
25 | +6. Create a merge request | |
26 | +7. Your team lead will review the code & merge it to the main branch | ... | ... |