From 68f402e400ff705fd799b03221e7b77a51f462ca Mon Sep 17 00:00:00 2001 From: Vokhmin Alexey V Date: Thu, 16 May 2013 12:45:27 +0400 Subject: [PATCH] #34: added docs for Hooks --- .../projects/hooks/docs/_irc.en.html.haml | 23 +++++++++++++++++++ .../projects/hooks/docs/_irc.ru.html.haml | 23 +++++++++++++++++++ .../projects/hooks/docs/_jabber.en.html.haml | 4 ++++ .../projects/hooks/docs/_jabber.ru.html.haml | 4 ++++ .../projects/hooks/docs/_web.en.html.haml | 3 +++ .../projects/hooks/docs/_web.ru.html.haml | 3 +++ app/views/projects/hooks/edit.html.haml | 5 +++- app/views/projects/hooks/new.html.haml | 3 +++ lib/modules/models/web_hooks.rb | 7 +++--- 9 files changed, 70 insertions(+), 5 deletions(-) create mode 100644 app/views/projects/hooks/docs/_irc.en.html.haml create mode 100644 app/views/projects/hooks/docs/_irc.ru.html.haml create mode 100644 app/views/projects/hooks/docs/_jabber.en.html.haml create mode 100644 app/views/projects/hooks/docs/_jabber.ru.html.haml create mode 100644 app/views/projects/hooks/docs/_web.en.html.haml create mode 100644 app/views/projects/hooks/docs/_web.ru.html.haml diff --git a/app/views/projects/hooks/docs/_irc.en.html.haml b/app/views/projects/hooks/docs/_irc.en.html.haml new file mode 100644 index 000000000..8a4af7cd2 --- /dev/null +++ b/app/views/projects/hooks/docs/_irc.en.html.haml @@ -0,0 +1,23 @@ +:markdown + + 1. `server` - IRC server, IE. irc.freenode.net + 2. `port` - Normally 6667 (No SSL) or 9999 (SSL) (optional). These are the defaults based on whether the value of `ssl` checkbox. + 3. `room` - Supports single or multiple rooms (comma separated). Also supports room passwords (room_name::password). Prefixing '#' to the room is optional. + 4. `password` - Server password (optional) + 5. `nick` - Nickname (optional) + 6. `long_url` - If enabled, displays full compare/commit url's. If disabled uses git.io. + 7. `message_without_join` - If enabled prevents joining and immediately leaving the channel. + 8. `no_colors` - Disables color support for messages + 9. `notice` - Enables notice support. Make sure you configure channel to support notices ("/mode #yourchannelname -n" or "/msg chanserv set mlock -n") + 10. `branch_regexes` - Regular expressions for branch name matching (optional, comma separated). For example, only master => `^master$`, master & starts with bug => `master,^bug`. + 11. Configure your IRC channel to allow external messages (/mode #yourchannelname -n). + + For freenode, try the following: + + # server: irc.freenode.net + # port: 6667 + # room: #yourroom + # message_without_join: checked + # long_url: checked + # notice: checked + # NOTE: Ensure you enable notice support (see above) diff --git a/app/views/projects/hooks/docs/_irc.ru.html.haml b/app/views/projects/hooks/docs/_irc.ru.html.haml new file mode 100644 index 000000000..189a0bcdc --- /dev/null +++ b/app/views/projects/hooks/docs/_irc.ru.html.haml @@ -0,0 +1,23 @@ +:markdown + + 1. `server` - IRC сервер, например irc.freenode.net + 2. `port` - Стандартный 6667 (без SSL) или 9999 (SSL) (опционально). Это значения по умолчанию в зависимости от значения `ssl` чекбокса. + 3. `room` - Поддержка одной или нескольких комнат (через запятую). Также поддерживается пароль к комнате (room_name::password). Префикс '#' у комнаты опционально. + 4. `password` - пароль к серверу (опционально) + 5. `nick` - никнейм (опционально) + 6. `long_url` - Если включено, показывает полные compare/commit url's. Если отключено, использует git.io. + 7. `message_without_join` - Если включено, предварительно заходит на канал и немедленно покидает его. + 8. `no_colors` - Отключает поддержку цветов для сообщений + 9. `notice` - Включает поддержку уведомлений. Убедитесь, что ваш канал поддерживает уведомления ("/mode #yourchannelname -n" или "/msg chanserv set mlock -n") + 10. `branch_regexes` - Регулярное выражение для фильтрации по имении ветки (опционально, через запятую). Например, только master => `^master$`, master & начинающиеся на bug => `master,^bug`. + 11. Сконфигурируйте ваш IRC канал на поддержку внешних сообщений (/mode #yourchannelname -n). + + Для freenode, подходит следующее: + + # server: irc.freenode.net + # port: 6667 + # room: #yourroom + # message_without_join: checked + # long_url: checked + # notice: checked + # ЗАМЕЧАНИЕ: Убедитесь, что поддержка уведомлений включена (см. выше) diff --git a/app/views/projects/hooks/docs/_jabber.en.html.haml b/app/views/projects/hooks/docs/_jabber.en.html.haml new file mode 100644 index 000000000..443e90455 --- /dev/null +++ b/app/views/projects/hooks/docs/_jabber.en.html.haml @@ -0,0 +1,4 @@ +:markdown + + 1. **User** is the Jabber ID (e.g.: myusername@jabber.org). Multiple users can be added by separating them with commas. Currently, there is a maximum of 25 users. + 2. You should add `abf-notification@rosalab.ru` user into your contact list. \ No newline at end of file diff --git a/app/views/projects/hooks/docs/_jabber.ru.html.haml b/app/views/projects/hooks/docs/_jabber.ru.html.haml new file mode 100644 index 000000000..2fb5101ad --- /dev/null +++ b/app/views/projects/hooks/docs/_jabber.ru.html.haml @@ -0,0 +1,4 @@ +:markdown + + 1. **User** это Jabber ID (например: myusername@jabber.org). Несколько пользователей могут быть добавленны через запятую (максимум 25 пользователей). + 2. Вы должны добавить `abf-notification@rosalab.ru` пользователя в ваш список контактов. \ No newline at end of file diff --git a/app/views/projects/hooks/docs/_web.en.html.haml b/app/views/projects/hooks/docs/_web.en.html.haml new file mode 100644 index 000000000..f2bef3247 --- /dev/null +++ b/app/views/projects/hooks/docs/_web.en.html.haml @@ -0,0 +1,3 @@ +:markdown + + We’ll hit these URLs with POST requests when you push to us, passing along information about the push. \ No newline at end of file diff --git a/app/views/projects/hooks/docs/_web.ru.html.haml b/app/views/projects/hooks/docs/_web.ru.html.haml new file mode 100644 index 000000000..de7e66dc4 --- /dev/null +++ b/app/views/projects/hooks/docs/_web.ru.html.haml @@ -0,0 +1,3 @@ +:markdown + + Мы будем отправлять POST запрос на эти URLs когда вы обновите проект, передавая информацию об обновлении. \ No newline at end of file diff --git a/app/views/projects/hooks/edit.html.haml b/app/views/projects/hooks/edit.html.haml index 6a60d0715..67f3288fc 100644 --- a/app/views/projects/hooks/edit.html.haml +++ b/app/views/projects/hooks/edit.html.haml @@ -7,4 +7,7 @@ = form_for @hook, :url => project_hook_path(@project, @hook), :method => :put, :html => { :class => :form } do |f| = render 'form' .actions - = f.submit t('layout.update') \ No newline at end of file + = f.submit t('layout.update') + +%br += render "projects/hooks/docs/#{@hook.name}" \ No newline at end of file diff --git a/app/views/projects/hooks/new.html.haml b/app/views/projects/hooks/new.html.haml index eb3fed54c..927c15caa 100644 --- a/app/views/projects/hooks/new.html.haml +++ b/app/views/projects/hooks/new.html.haml @@ -8,3 +8,6 @@ = render 'form' .actions = f.submit t('layout.create') + +%br += render "projects/hooks/docs/#{@hook.name}" \ No newline at end of file diff --git a/lib/modules/models/web_hooks.rb b/lib/modules/models/web_hooks.rb index c0b06d618..2eaa450b7 100644 --- a/lib/modules/models/web_hooks.rb +++ b/lib/modules/models/web_hooks.rb @@ -46,10 +46,9 @@ module Modules::Models::WebHooks password :password boolean :ssl, :message_without_join, :no_colors, :long_url, :notice end - # temporarily disabled - # add_hook :jabber do - # string :user - # end + add_hook :jabber do + string :user + end SCHEMA.freeze NAMES.freeze