Commit cf5d3bb0add2344ea6fd31520535fd2f382ff637

Authored by Dmitriy Zaporozhets
1 parent 887c0c67

Improve help page for Project web hooks

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
app/helpers/application_helper.rb
... ... @@ -207,4 +207,12 @@ module ApplicationHelper
207 207 def broadcast_message
208 208 BroadcastMessage.current
209 209 end
  210 +
  211 + def highlight_js(&block)
  212 + string = capture(&block)
  213 +
  214 + content_tag :div, class: user_color_scheme_class do
  215 + Pygments::Lexer[:js].highlight(string).html_safe
  216 + end
  217 + end
210 218 end
... ...
app/views/help/web_hooks.html.haml
... ... @@ -4,21 +4,68 @@
4 4 Project web hooks allow you to trigger url if new code is pushed or new issue is created
5 5 %hr
6 6  
7   - %p
  7 + %p.slead
8 8 You can configure web hook to listen for specific events like pushes, issues, merge requests.
9 9 %br
10 10 GitLab will send POST request with data to web hook url.
11 11 %br
12 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   -
  13 + %hr
14 14  
15 15 %h4 Push events
16   - = render "projects/hooks/data_ex"
  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 + };
17 60  
18 61  
19   - %h4 Issues events
20   - %pre
21   - :preserve
  62 + %h4.prepend-top-20 Issues events
  63 + %p.light
  64 + Triggered when new issue created or existing issue was closed.
  65 + %br
  66 + Request body:
  67 + = highlight_js do
  68 + :erb
22 69 {
23 70 "object_kind":"issue",
24 71 "object_attributes":{
... ... @@ -37,9 +84,13 @@
37 84 "iid":23
38 85 }
39 86 }
40   - %h4 Merge request events
41   - %pre
42   - :preserve
  87 + %h4.prepend-top-20 Merge request events
  88 + %p.light
  89 + Triggered when new merge request created or existing merge request was merged/closed.
  90 + %br
  91 + Request body:
  92 + = highlight_js do
  93 + :erb
43 94 {
44 95 "object_kind":"merge_request",
45 96 "object_attributes":{
... ...
app/views/projects/hooks/_data_ex.html.erb
... ... @@ -1,44 +0,0 @@
1   -<% data_ex_str = <<eos
2   -{
3   - "before": "95790bf891e76fee5e1747ab589903a6a1f80f22",
4   - "after": "da1560886d4f094c3e6c9ef40349f7d38b5d27d7",
5   - "ref": "refs/heads/master",
6   - "user_id": 4,
7   - "user_name": "John Smith",
8   - "project_id": 15,
9   - "repository": {
10   - "name": "Diaspora",
11   - "url": "git@localhost:diaspora.git",
12   - "description": "",
13   - "homepage": "http://localhost/diaspora",
14   - },
15   - "commits": [
16   - {
17   - "id": "b6568db1bc1dcd7f8b4d5a946b0b91f9dacd7327",
18   - "message": "Update Catalan translation to e38cb41.",
19   - "timestamp": "2011-12-12T14:27:31+02:00",
20   - "url": "http://localhost/diaspora/commits/b6568db1bc1dcd7f8b4d5a946b0b91f9dacd7327",
21   - "author": {
22   - "name": "Jordi Mallach",
23   - "email": "jordi@softcatala.org",
24   - }
25   - },
26   - // ...
27   - {
28   - "id": "da1560886d4f094c3e6c9ef40349f7d38b5d27d7",
29   - "message": "fixed readme",
30   - "timestamp": "2012-01-03T23:36:29+02:00",
31   - "url": "http://localhost/diaspora/commits/da1560886d4f094c3e6c9ef40349f7d38b5d27d7",
32   - "author": {
33   - "name": "GitLab dev user",
34   - "email": "gitlabdev@dv6700.(none)",
35   - },
36   - },
37   - ],
38   - "total_commits_count": 4,
39   -};
40   -eos
41   -%>
42   -<div class="<%= user_color_scheme_class%>">
43   - <%= raw Pygments::Lexer[:js].highlight(data_ex_str) %>
44   -</div>