Commit Graph

39 Commits

Author SHA1 Message Date
Duana Saskia ece6a1ea6e Filter project hooks by branch
Allow specificying a branch filter for a project hook and only trigger
a project hook if either the branch filter is blank or the branch matches.
Only supported for push_events for now.
2018-08-13 13:20:58 +02:00
Lin Jen-Shin 4ee08b77bc Updates from `rubocop -a` 2018-07-09 21:13:08 +08:00
Yorick Peterse f30089075f
Fixed pagination of web hook logs
For reasons unknown, the logs of a web hook were paginated in memory.
This would result in the "Edit" page of a web hook timing out once it
has more than a few thousand log entries.

This commit makes the following changes:

1. We use LIMIT/OFFSET to paginate the data, instead of doing this in
   memory.

2. We limit the logs to the last two days, just like the documentation
   says (instead of retrieving everything).

3. We change the indexes on "web_hook_logs" so the query to get the data
   can perform a backwards index scan, without the need for a Filter.

These changes combined ensure that Projects::HooksController#edit no
longer times out.
2018-07-03 14:24:17 +02:00
Douwe Maan 8e9c073a14 Merge branch 'feature/merge-request-system-hook' into 'master'
System hooks for Merge Requests

See merge request gitlab-org/gitlab-ce!14387
2018-01-18 11:37:16 +00:00
Alexis Reigel 337ced28bc reference triggers.values for permitted parameters 2018-01-17 09:55:00 +01:00
🙈 jacopo beschi 🙉 729f05f0e3 Adds Rubocop rule for line break around conditionals 2018-01-11 16:34:01 +00:00
Alexander Randa e0ab5618a0 Wrong data type when testing webhooks 2017-07-20 15:12:06 +00:00
Douwe Maan fe13f11041 Create and use project path helpers that only need a project, no namespace 2017-07-05 11:11:59 -05:00
blackst0ne a544e46bb0 Add a rubocop rule to check if a method 'redirect_to' is used without explicitly set 'status' in 'destroy' actions of controllers 2017-06-07 09:45:16 +11:00
Alexander Randa 330789c23c Implement web hooks logging
* implemented logging of project and system web hooks
* implemented UI for user area (project hooks)
* implemented UI for admin area (system hooks)
* implemented retry of logged webhook
* NOT imeplemented log remover
2017-05-25 10:07:52 +03:00
Alexander Randa c504b88f07 Implement ability to update hooks 2017-04-28 11:49:57 +00:00
Z.J. van de Weg e415ad3952 Fix API not accepting job_events for webhooks
When renaming, the argument on the projects hook API was forgotten. Now
one could successfully set it again.

The fix is a little ugly stylewise, but needed as the underlying model
still refers to it as build_events. This commit is to fix it, later we
should migrate the data to a new column. The edit on the spec file makes
sure it passes now, and will fail when we migrate the column.
2017-04-12 10:06:57 +02:00
Jose Ivan Vargas 7b3ea49a44 Fixed tests and a rubocop linter 2017-01-18 15:40:16 -06:00
Jose Ivan Vargas 0af9943314 Removed the index action from both the projects hook and services controllers 2017-01-18 15:19:35 -06:00
Jose Ivan Vargas 9f0d794513 Moved the webhooks and services gear options to a single one called integrations 2017-01-18 15:19:35 -06:00
Douglas Barbosa Alexandre a103a5d9cc Add option to confidential issues events to trigger Webhooks 2016-08-31 18:34:23 -03:00
Lin Jen-Shin 020ea32e76 Implement pipeline hooks, extracted from !5525
Closes #20115
2016-08-02 18:22:24 +08:00
Gabriel Mazetto e3311178a3 Add Admin UI to enable Wiki Page events webhook in projects 2016-05-30 16:12:50 -03:00
Jacob Vosmaer 6957fb7c4f Always mention HTTP status 2016-05-03 13:42:56 +02:00
Jacob Vosmaer 23a3e3756a Inform user about questionable hook success 2016-05-03 13:40:59 +02:00
Jacob Vosmaer f4e0c56279 Improve documentation and web test for web hooks
I wanted to share what I learned trying to debug web hooks using
netcat.
2016-05-03 13:03:10 +02:00
Gabriel Mazetto 00ced598ea Added UI to define secret_token for webhook and systemhook
Codestyle changes to easy EE merge
2016-05-02 10:32:01 -03:00
Kamil Trzcinski 2988e1fbf5 Migrate CI::Services and CI::WebHooks to Services and WebHooks 2015-12-10 16:04:08 +01:00
Stan Hu a120b78940 Handle and report SSL errors in Web hook test. Check for status 200 for success.
If a Web hook test fails due to an SSL error or some other error, report
the result back to the user instead of an Error 500.

Closes #3656

Handle response
2015-12-04 07:13:28 -08:00
Stan Hu 9bfc531ec6 Redirect to a default path if HTTP_REFERER is not set
Safari 9.0 does not yet honor the HTML5 `origin-when-cross-origin` mode,
and it's possible load balancers/proxies strip the HTTP_REFERER from
the request header. In these cases, default to some default path.

Closes #3122

Closes https://github.com/gitlabhq/gitlabhq/issues/9731
2015-10-20 07:45:48 -07:00
Valery Sizov bafffb2d14 Enable SSL verification for Webhooks 2015-08-26 15:48:31 +03:00
Stan Hu deeff56967 Add support for Webhook note events
Closes https://github.com/gitlabhq/gitlabhq/issues/6745
2015-05-21 23:48:16 -04:00
Jeroen van Baarsen 5a4ebfb47a Fixed the Rails/ActionFilter cop
Signed-off-by: Jeroen van Baarsen <jeroenvanbaarsen@gmail.com>
2015-04-20 15:39:37 +02:00
Vinnie Okada 76aad9b76e Upgrade to Rails 4.1.9
Make the following changes to deal with new behavior in Rails 4.1.2:

* Use nested resources to avoid slashes in arguments to path helpers.
2015-02-14 11:09:23 -07:00
Dmitriy Zaporozhets db2edff937
Handle web hook exception
Write to log if web hook cant be executed. This prevents 500 error when
test web hook with invalid URL and prevent exceptions and retries in
sidekiq

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-12-04 15:07:01 +02:00
Robert Schilling 7cefdb49eb Prevent 500 if hook url is down, fixes #7376 2014-07-29 11:49:46 +02:00
Robert Schilling 062ff17b1c Do not execute hooks on empty projects, fixes #6108 2014-07-27 23:48:53 +02:00
Dmitriy Zaporozhets 2acde87e0d
Project hook, milestone, snippet strong params
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-06-26 18:51:11 +03:00
Dmitriy Zaporozhets e382c8dfc7
team member and hook strong params
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-06-26 18:45:33 +03:00
skv 4cc2afdf2e Fix url generation error on hook invalid create 2014-04-06 19:42:24 +04:00
Dmitriy Zaporozhets 8bfc62fb8b
Convert TestHookContext into TestHookService. Added tests
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-01-15 14:38:50 +02:00
skv d89527839e fix most of warnings 2013-12-15 00:05:10 +04:00
Dmitriy Zaporozhets 573d367be5 Modify permissions for project and group
* Hooks and team pages allowed only for masters/owners
* Group page allowed for admin
* Corrent authentication for Projects controller
* Hide some project elements from visitor
2013-09-25 14:05:35 +03:00
Dmitriy Zaporozhets 2ed7cbfba4 Move projects controllers/views in Projects module 2013-06-23 19:47:22 +03:00