summaryrefslogtreecommitdiff
path: root/spec/models
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'process-commit-worker-improvements' into 'master' Douwe Maan2016-12-021-0/+17
|\ | | | | | | | | | | | | Pass commit data to ProcessCommitWorker This changes `ProcessCommitWorker` so that it takes a Hash containing commit data instead of a commit SHA. This means the worker doesn't have to access Git just to process a commit message (and other data it may use). This in turn should solve the problem of ending up with 15 000-something jobs in the `process_commit` queue that take forever to process. See merge request !7744
| * Pass commit data to ProcessCommitWorkerprocess-commit-worker-improvementsYorick Peterse2016-12-011-0/+17
| | | | | | | | | | | | | | | | | | | | | | By passing commit data to this worker we remove the need for querying the Git repository for every job. This in turn reduces the time spent processing each job. The migration included migrates jobs from the old format to the new format. For this to work properly it requires downtime as otherwise workers may start producing errors until they're using a newer version of the worker code.
* | Merge branch 'use-st-commits-where-possible' into 'master' Yorick Peterse2016-12-013-26/+45
|\ \ | |/ |/| | | | | Replace references to MergeRequestDiff#commits with st_commits when we care only about the number of commits See merge request !7668
| * Replace references to MergeRequestDiff#commits with st_commitsuse-st-commits-where-possibleAdam Niedzielski2016-12-013-26/+45
| | | | | | | | | | | | when we care only about the number of commits We do not have to instantiate all objects in this case.
* | Merge branch 'rs-include-emailhelpers' into 'master' Rémy Coutable2016-12-012-0/+4
|\ \ | | | | | | | | | | | | Only include EmailHelpers in mailer specs and specs using them See merge request !7836
| * | Only include EmailHelpers in mailer specs and specs using themrs-include-emailhelpersRobert Speicher2016-12-012-0/+4
| |/
* | Refactor JiraService by moving code out of JiraService#execute methodclean-up-jira-serviceAdam Niedzielski2016-12-011-14/+26
|/ | | | | | | | | | The implicit interface of project services states that the "execute" method is meant to be called when project hooks are executed. Currently JiraService does not support any project events even though JiraService#supported_events says that "commit" and "merge_request" are supported. They are only used to render correct options in JIRA configuration screen, but they are not supported. Because of that, this commit makes "execute" method a no-op.
* Rename `MergeRequest#pipeline` to `head_pipeline`fix/rename-merge-request-head-pipelineGrzegorz Bizon2016-11-291-9/+9
|
* Merge branch 'hoopes/gitlab-ce-21027-add-diff-hunks-to-notification-emails' ↵Douwe Maan2016-11-291-0/+19
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into 'master' Add diff hunks to notification emails Add diff hunks to notification emails. Continued from https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5855 - thanks @hoopes! This also fixes an issue where the + / - prefixes were missing from diffs in emails. Screenshots (from my browser) of the HTML emails, along with text screenshots :stuck_out_tongue: ![image](/uploads/cb31400becf5149d40c8bb98a655aa93/image.png) ``` New comment for Merge Request !1 on app/views/admin/builds/index.html.haml: http://localhost:3000/gitlab-org/gitlab-ce/merge_requests/1#note_1023 > Finished This is a comment at the top of a match section. ``` ![image](/uploads/704dd3845797530697a27f5c1953c053/image.png) ``` New comment for Merge Request !1 on app/views/admin/builds/index.html.haml: http://localhost:3000/gitlab-org/gitlab-ce/merge_requests/1#note_1022 > Finished > %span.badge.js-running-count= @all_builds.finished.count(:id) > > - %li{class: ('active' if @scope == 'all')} > - = link_to admin_builds_path(scope: :all) do > - All > - %span.badge.js-totalbuilds-count= @all_builds.count(:id) > - > .gray-content-block > #{(@scope || 'running').capitalize} builds > This is a comment at the bottom of a match section. ``` ![image](/uploads/4063f3d9738aea8ebf3c0e690d0eddee/image.png) ``` New comment for Merge Request !1 on app/views/admin/builds/index.html.haml: http://localhost:3000/gitlab-org/gitlab-ce/merge_requests/1#note_1024 > = link_to 'Cancel all', cancel_all_admin_builds_path, data: { confirm: 'Are you sure?' }, class: 'btn btn-danger', method: :post > > %ul.center-top-menu > - %li{class: ('active' if @scope.nil?)} > + %li{class: ('active' if @scope == 'all')} > = link_to admin_builds_path do > + All This is a comment with some deleted and added lines above it. ``` Closes #21027, closes #24340. See merge request !7660
| * Fix spec styleSean McGivern2016-11-281-10/+4
| |
| * Add keyword arguments to truncated_diff methodhhoopes2016-11-251-2/+2
| | | | | | | | | | * Added keyword arguments to truncated_diff_lines method to allow for using highlighting or not (html templates vs. text) * Tweaked templates for consistency and format appropriateness
| * Change diff highlight/truncate for reusabilityhhoopes2016-11-251-0/+25
| | | | | | | | | | | | Previously the `truncated_diff_lines` method for outputting a discussion diff took in already highlighted lines, which meant it wasn't reuseable for truncating ANY lines. In the way it was used, it also meant that for any email truncation, the whole diff was being highlighted before being truncated, meaning wasted time highlighting lines that wouldn't even be used (granted, they were being memoized, so perhaps this wasn't that great of an issue). I refactored truncation away from highlighting, in order to truncate formatted diffs for text templates in email, using `>`s to designate each line, but otherwise retaining the parsing already done to create `diff_lines`. Additionally, while notes on merge requests or commits had already been tested, there was no existing test for notes on a diff on an MR or commit. Added mailer tests for such, and a unit test for truncating diff lines.
* | Merge branch 'jej-use-issuable-finder-instead-of-access-check' into 'security' Douwe Maan2016-11-281-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace issue access checks with use of IssuableFinder Split from !2024 to partially solve https://gitlab.com/gitlab-org/gitlab-ce/issues/23867 ## Which fixes are in this MR? :warning: - Potentially untested :bomb: - No test coverage :traffic_light: - Test coverage of some sort exists (a test failed when error raised) :vertical_traffic_light: - Test coverage of return value (a test failed when nil used) :white_check_mark: - Permissions check tested ### Issue lookup with access check Using `visible_to_user` likely makes these security issues too. See [Code smells](#code-smells). - [x] :vertical_traffic_light: app/finders/notes_finder.rb:15 [`visible_to_user`] - [x] :traffic_light: app/views/layouts/nav/_project.html.haml:73 [`visible_to_user`] [`.count`] - [x] :white_check_mark: app/services/merge_requests/build_service.rb:84 [`issue.try(:confidential?)`] - [x] :white_check_mark: lib/api/issues.rb:112 [`visible_to_user`] - CHANGELOG: Prevented API returning issues set to 'Only team members' to everyone - [x] :white_check_mark: lib/api/helpers.rb:126 [`can?(current_user, :read_issue, issue)`] Maybe here too? - [x] :white_check_mark: lib/gitlab/search_results.rb:53 [`visible_to_user`] ### Previous discussions - [ ] https://dev.gitlab.org/gitlab/gitlabhq/merge_requests/2024/diffs#b2ff264eddf9819d7693c14ae213d941494fe2b3_128_126 - [ ] https://dev.gitlab.org/gitlab/gitlabhq/merge_requests/2024/diffs#7b6375270d22f880bdcb085e47b519b426a5c6c7_87_87 See merge request !2031
* | Merge branch 'jej-fix-missing-access-check-on-issues' into 'security'Douwe Maan2016-11-288-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix missing access checks on issue lookup using IssuableFinder Split from !2024 to partially solve https://gitlab.com/gitlab-org/gitlab-ce/issues/23867 :warning: - Potentially untested :bomb: - No test coverage :traffic_light: - Test coverage of some sort exists (a test failed when error raised) :vertical_traffic_light: - Test coverage of return value (a test failed when nil used) :white_check_mark: - Permissions check tested - [x] :white_check_mark: app/controllers/projects/branches_controller.rb:39 - `before_action :authorize_push_code!` helpes limit/prevent exploitation. Always checks for reporter access so fine with confidential issues, issues only visible to team, etc. - [x] :traffic_light: app/models/cycle_analytics/summary.rb:9 [`.count`] - [x] :white_check_mark: app/controllers/projects/todos_controller.rb:19 - [x] Potential double render in app/controllers/projects/todos_controller.rb - https://dev.gitlab.org/gitlab/gitlabhq/merge_requests/2024/diffs#cedccb227af9bfdf88802767cb58d43c2b977439_24_24 See merge request !2030
* | Pass tag SHA to post-receive hook when tag is created via UI24813-project-members-with-developer-access-can-no-longer-create-tagsAdam Niedzielski2016-11-281-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We only know the tag SHA after we create the tag. This means that we pass a different value to the hooks that happen before creating the tag, and a different value to the hooks that happen after creating the tag. This is not an ideal situation, but it is a trade-off we decided to make. For discussion of the alternatives please refer to https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7700#note_18982873 "pre-receive" and "update" hooks always get the SHA of the commit that the tag points to. "post-receive" gets the tag SHA if it is an annotated tag or the commit SHA if it is an lightweight tag. Currently we always create annotated tags if UI is used.
* | Revert "Pass correct tag target to post-receive hook when creating tag via UI"Adam Niedzielski2016-11-281-22/+0
| | | | | | | | This reverts commit ae51774bc45d2e15ccc61b01a30d1b588f179f85.
* | Merge branch 'refresh-authorizations-with-lease' into 'master' Douwe Maan2016-11-281-0/+27
|\ \ | | | | | | | | | | | | | | | | | | Refresh project authorizations using a Redis lease This MR changes `User#refresh_authorized_projects` so it uses a Redis lease instead of relying on serializable transactions. See the commit message(s) for more details. See merge request !7733
| * | Refresh project authorizations using a Redis leaserefresh-authorizations-with-leaseYorick Peterse2016-11-251-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When I proposed using serializable transactions I was hoping we would be able to refresh data of individual users concurrently. Unfortunately upon closer inspection it was revealed this was not the case. This could result in a lot of queries failing due to serialization errors, overloading the database in the process (given enough workers trying to update the target table). To work around this we're now using a Redis lease that is cancelled upon completion. This ensures we can update the data of different users concurrently without overloading the database. The code will try to obtain the lease until it succeeds, waiting at least 1 second between retries. This is necessary as we may otherwise end up _not_ updating the data which is not an option.
* | | Merge branch 'events-cache-invalidation' into 'master' Douwe Maan2016-11-281-0/+18
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | Remove caching of events data This MR removes the caching of events data as this was deemed unnecessary while increasing load on the database. See https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/6578#note_18864037 and 5371da341e9d7768ebab8e159b3e2cc8fad1d827 for more information. See merge request !6578
| * | Removed data-user-is view codeevents-cache-invalidationYorick Peterse2016-11-251-0/+18
| | | | | | | | | | | | With events no longer being cached this is no longer needed.
* | | Merge branch 'fix-cancelling-pipelines' into 'master' Kamil Trzciński2016-11-252-0/+250
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve how we could cancel pipelines: Improve how we could cancel pipelines: * Introduce `HasStatus.cancelable` which we might be able to cancel * Cancel and check upon `cancelable` * Also cancel on `CommitStatus` rather than just `Ci::Build` Fixes #23635 Fixes #17845 See merge request !7508
| * | | Expand the loop and reduce overlapped conditionsLin Jen-Shin2016-11-221-12/+30
| | | | | | | | | | | | | | | | | | | | Feedback: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7508#note_18794681
| * | | Passing a user to retry_failed in testsLin Jen-Shin2016-11-221-3/+3
| | | | | | | | | | | | | | | | | | | | Feedback: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7508#note_18794547
| * | | Merge remote-tracking branch 'upstream/master' into fix-cancelling-pipelinesLin Jen-Shin2016-11-223-192/+299
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * upstream/master: (133 commits) Restructure steps for MM slash commands service Add Changelog entry for CI linter validation fix Fix entry lookup in CI config inheritance rules Extend specs for global ci configuration entry Remove unnecessary require_relative calls from service classes Use single quote for strings Ue svg from SVGs object Dont trigger CI builds [ci skip] Revert "Test only migrations" Add custom copy for each empty stage Refactor Mattermost slash commands docs Fetch only one revision Highlight nav item on hover Test only migrations Fix migration paths tests Scroll CA stage panel on mobile Fix CSS declaration administer to administrator Move SVGs to JS objects for easy reuse Improve deploy command message ...
| * | | | Test against all possible cases, feedback:Lin Jen-Shin2016-11-221-14/+17
| | | | | | | | | | | | | | | | | | | | https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7508#note_18755739
| * | | | Test against all types and more status:Lin Jen-Shin2016-11-211-37/+45
| | | | | | | | | | | | | | | | | | | | | | | | | Feedback: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7508#note_18748231
| * | | | Merge remote-tracking branch 'upstream/master' into fix-cancelling-pipelinesLin Jen-Shin2016-11-2115-16/+464
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * upstream/master: (302 commits) Fix a wrong "The build for this merge request failed" message Add documentation about todos and failed builds Add Changelog entry for failed builds todos fix Do not create TODO when build is allowed to fail Fix 404 on some group pages when name contains dot Grapify the users API Remove duplicate sidekiq throttling parameters Fix regression in Merge request form Fix wrong link Fix test Fix broken test Changes for stop url to path fix typo in gitlab_flow.md ('munch'->'much') Fix spec Backport some changes done from Time Tracking feature in EE. Use build instead create in BroadcastMessage model spec Try to fix tests Remove unnecessary self from user model Expose stop_path for environment to not construct that in frontend Bring back the `commit_url` as it's used by CycleAnalytics ...
| * | | | | Prefer a description for it and split the case:Lin Jen-Shin2016-11-212-32/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Feedback: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7508#note_18730091
| * | | | | Allow to retry failed or canceled builds and fix cancel running specs failureKamil Trzcinski2016-11-191-3/+60
| | | | | |
| * | | | | Add a test for Ci::Pipeline#cancel_running:Lin Jen-Shin2016-11-191-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Feedback: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7508#note_18622559 I didn't write an exhaustive one because we already have it on HasStatus, from: https://gitlab.com/gitlab-org/gitlab-ce/commit/b6a7a4783435a7fa34f26dbf3b16ab8e7ed21b88
| * | | | | Add a lot of tests for scopes, feedback:Lin Jen-Shin2016-11-191-0/+77
| | | | | | | | | | | | | | | | | | | | | | | | https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7508#note_18622499
| * | | | | Add tests against two jobs having different statusLin Jen-Shin2016-11-181-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Feedback: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7508#note_18622469
| * | | | | Merge remote-tracking branch 'upstream/master' into fix-cancelling-pipelinesLin Jen-Shin2016-11-1812-76/+282
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * upstream/master: (162 commits) Grapify the repository API Fix wrong link URL Add note pointing to limitations section in environments.md Clarify the limitation for special chars is for Review Apps Change order of limitations list in environments.md Add an example of invalid characters to branches for review apps Grammar fix in environments.md: s/base/basis Add changelog entry for #24276 / !7500 Allow registering users where the username contains dots (.). bump rouge to 2.0.7 Fix indentation Update copy.md with issue guideline updates and merge request guidelines Refactor github import to reduce number of API calls Fix missing URL from environments docs Check all namespaces on validation of new username. Allow sorting groups in API Use the public CE repo URL instead of the one used in the runner Fix typos Fix wrong changelog item Add missing item for 8.13.6 ...
| * | | | | | Improve how we could cancel pipelines:Lin Jen-Shin2016-11-171-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Introduce `HasStatus.cancelable` which we might be able to cancel * Cancel and check upon `cancelable` * Also cancel on `CommitStatus` rather than just `Ci::Build` Fixes #23635 Fixes #17845
* | | | | | | Merge branch 'rephrase-system-notes' into 'master' Robert Speicher2016-11-251-1/+1
|\ \ \ \ \ \ \ | |_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | Rephrase some system notes to be compatible with new system note style See merge request !7692
| * | | | | | Rephrase some system notes to be compatible with new system note stylerephrase-system-notesDouwe Maan2016-11-241-1/+1
| | | | | | |
* | | | | | | Merge branch 'dz-allow-nested-group-routing' into 'master' Douwe Maan2016-11-241-0/+11
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add nested groups support to the routing ## What does this MR do? It allows routing with `/` in namespace name ## Why was this MR needed? For nested groups feature(https://gitlab.com/gitlab-org/gitlab-ce/issues/2772). We need URI like `/group/subgroup/project` be routed correctly ## Does this MR meet the acceptance criteria? - [x] [Changelog entry](https://docs.gitlab.com/ce/development/changelog.html) added - ~~[Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md)~~ - ~~API support added~~ - Tests - [x] Added for this feature/bug - [x] All builds are passing - [x] Conform by the [merge request performance guides](http://docs.gitlab.com/ce/development/merge_request_performance_guidelines.html) - [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [x] Branch has no merge conflicts with `master` (if it does - rebase it please) - [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) ## What are the relevant issue numbers? https://gitlab.com/gitlab-org/gitlab-ce/issues/2772 See merge request !7459
| * | | | | | | Add nested groups support to the routingdz-allow-nested-group-routingDmitriy Zaporozhets2016-11-231-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
* | | | | | | | Merge branch '24863-mrs-without-discussions-are-mergeable' into 'master' Sean McGivern2016-11-231-0/+54
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/24863 See merge request !7698
| * | | | | | | | Correctly determine mergeability of MR with no discussions24863-mrs-without-discussions-are-mergeableDouwe Maan2016-11-231-0/+54
| | |/ / / / / / | |/| | | | | |
* | | | | | | | Merge branch 'milestone_start_date' into 'master' Sean McGivern2016-11-232-17/+46
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a starting date to milestones Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/23704 See merge request !7484
| * | | | | | | | Add a starting date to milestonesmilestone_start_dateValery Sizov2016-11-232-17/+46
| | |_|_|_|_|_|/ | |/| | | | | |
* | | | | | | | Update ProjectTeam#fetch_members to use project authorizationsfix/drop-project-authorized-for-userAhmad Sherif2016-11-231-1/+1
| | | | | | | |
* | | | | | | | Update ProjectTeam#max_member_access_for_user_ids to use project authorizationsAhmad Sherif2016-11-231-6/+6
| | | | | | | |
* | | | | | | | Drop Project#authorized_for_user? in favor of ProjectTeam#member?Ahmad Sherif2016-11-233-52/+52
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | Closes #23938
* | | | | | | Merge branch 'remove-empty-describe-block' into 'master' Rémy Coutable2016-11-231-3/+0
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | Remove empty describe block in service spec See merge request !7669
| * | | | | | Remove empty describe block in service specSemyon Pupkov2016-11-221-3/+0
| |/ / / / /
* | | | | | Merge branch 'rs-project-team-helpers' into 'master' Sean McGivern2016-11-222-17/+24
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add shortcuts for adding users to a project team with a specific role Closes #20944 See merge request !7565
| * | | | | Add shortcuts for adding users to a project team with a specific rolers-project-team-helpersRobert Speicher2016-11-182-17/+24
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This also updates _some_ specs to use these new methods, just to serve as an example for others going forward, but by no means is this exhaustive. Original implementations at !5992 and !6012. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/20944
* | | | | Merge branch 'fix-failed-email-for-external-jobs' into 'master' Kamil Trzciński2016-11-221-0/+3
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | External jobs do not have show page nor traces Fixes #24677 See merge request !7617