Remove Gemnasium service
This commit is contained in:
parent
9e7bc3fe0b
commit
4d7d4a0c16
3
Gemfile
3
Gemfile
|
@ -214,9 +214,6 @@ gem 'jira-ruby', '~> 1.4'
|
|||
# Flowdock integration
|
||||
gem 'gitlab-flowdock-git-hook', '~> 1.0.1'
|
||||
|
||||
# Gemnasium integration
|
||||
gem 'gemnasium-gitlab-service', '~> 0.2'
|
||||
|
||||
# Slack integration
|
||||
gem 'slack-notifier', '~> 1.5.1'
|
||||
|
||||
|
|
|
@ -269,8 +269,6 @@ GEM
|
|||
fuubar (2.2.0)
|
||||
rspec-core (~> 3.0)
|
||||
ruby-progressbar (~> 1.4)
|
||||
gemnasium-gitlab-service (0.2.6)
|
||||
rugged (~> 0.21)
|
||||
gemojione (3.3.0)
|
||||
json
|
||||
get_process_mem (0.2.0)
|
||||
|
@ -1040,7 +1038,6 @@ DEPENDENCIES
|
|||
font-awesome-rails (~> 4.7)
|
||||
foreman (~> 0.84.0)
|
||||
fuubar (~> 2.2.0)
|
||||
gemnasium-gitlab-service (~> 0.2)
|
||||
gemojione (~> 3.3)
|
||||
gettext (~> 3.2.2)
|
||||
gettext_i18n_rails (~> 1.8.0)
|
||||
|
|
|
@ -272,8 +272,6 @@ GEM
|
|||
fuubar (2.2.0)
|
||||
rspec-core (~> 3.0)
|
||||
ruby-progressbar (~> 1.4)
|
||||
gemnasium-gitlab-service (0.2.6)
|
||||
rugged (~> 0.21)
|
||||
gemojione (3.3.0)
|
||||
json
|
||||
get_process_mem (0.2.0)
|
||||
|
@ -1052,7 +1050,6 @@ DEPENDENCIES
|
|||
font-awesome-rails (~> 4.7)
|
||||
foreman (~> 0.84.0)
|
||||
fuubar (~> 2.2.0)
|
||||
gemnasium-gitlab-service (~> 0.2)
|
||||
gemojione (~> 3.3)
|
||||
gettext (~> 3.2.2)
|
||||
gettext_i18n_rails (~> 1.8.0)
|
||||
|
|
|
@ -141,7 +141,6 @@ class Project < ActiveRecord::Base
|
|||
has_one :flowdock_service
|
||||
has_one :assembla_service
|
||||
has_one :asana_service
|
||||
has_one :gemnasium_service
|
||||
has_one :mattermost_slash_commands_service
|
||||
has_one :mattermost_service
|
||||
has_one :slack_slash_commands_service
|
||||
|
|
|
@ -1,62 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require "gemnasium/gitlab_service"
|
||||
|
||||
class GemnasiumService < Service
|
||||
prop_accessor :token, :api_key
|
||||
validates :token, :api_key, presence: true, if: :activated?
|
||||
validate :deprecation_validation
|
||||
|
||||
def title
|
||||
'Gemnasium'
|
||||
end
|
||||
|
||||
def description
|
||||
'Gemnasium monitors your project dependencies and alerts you about updates and security vulnerabilities.'
|
||||
end
|
||||
|
||||
def self.to_param
|
||||
'gemnasium'
|
||||
end
|
||||
|
||||
def fields
|
||||
[
|
||||
{ type: 'text', name: 'api_key', placeholder: 'Your personal API KEY on gemnasium.com ', required: true },
|
||||
{ type: 'text', name: 'token', placeholder: 'The project\'s slug on gemnasium.com', required: true }
|
||||
]
|
||||
end
|
||||
|
||||
def self.supported_events
|
||||
%w(push)
|
||||
end
|
||||
|
||||
def deprecated?
|
||||
true
|
||||
end
|
||||
|
||||
def deprecation_message
|
||||
"Gemnasium has been acquired by GitLab in January 2018. Since May 15, 2018, the service provided by Gemnasium is no longer available."
|
||||
end
|
||||
|
||||
def deprecation_validation
|
||||
errors[:base] << deprecation_message
|
||||
end
|
||||
|
||||
def execute(data)
|
||||
return unless supported_events.include?(data[:object_kind])
|
||||
|
||||
# Gitaly: this class will be removed https://gitlab.com/gitlab-org/gitlab-ee/issues/6010
|
||||
repo_path = Gitlab::GitalyClient::StorageSettings.allow_disk_access do
|
||||
project.repository.path_to_repo
|
||||
end
|
||||
|
||||
Gemnasium::GitlabService.execute(
|
||||
ref: data[:ref],
|
||||
before: data[:before],
|
||||
after: data[:after],
|
||||
token: token,
|
||||
api_key: api_key,
|
||||
repo: repo_path
|
||||
)
|
||||
end
|
||||
end
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Remove Gemnasium service
|
||||
merge_request: 21185
|
||||
author:
|
||||
type: removed
|
|
@ -401,48 +401,6 @@ Get Flowdock service settings for a project.
|
|||
GET /projects/:id/services/flowdock
|
||||
```
|
||||
|
||||
## Gemnasium
|
||||
|
||||
Gemnasium monitors your project dependencies and alerts you about updates and security vulnerabilities.
|
||||
|
||||
CAUTION: **Warning:**
|
||||
Gemnasium service integration has been deprecated in GitLab 11.0. Gemnasium has been
|
||||
[acquired by GitLab](https://about.gitlab.com/press/releases/2018-01-30-gemnasium-acquisition.html)
|
||||
in January 2018 and since May 15, 2018, the service provided by Gemnasium is no longer available.
|
||||
You can [migrate from Gemnasium to GitLab](https://docs.gitlab.com/ee/user/project/import/gemnasium.html)
|
||||
to keep monitoring your dependencies.
|
||||
|
||||
### Create/Edit Gemnasium service
|
||||
|
||||
Set Gemnasium service for a project.
|
||||
|
||||
```
|
||||
PUT /projects/:id/services/gemnasium
|
||||
```
|
||||
|
||||
Parameters:
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `api_key` | string | true | Your personal API KEY on gemnasium.com |
|
||||
| `token` | string | true | The project's slug on gemnasium.com |
|
||||
|
||||
### Delete Gemnasium service
|
||||
|
||||
Delete Gemnasium service for a project.
|
||||
|
||||
```
|
||||
DELETE /projects/:id/services/gemnasium
|
||||
```
|
||||
|
||||
### Get Gemnasium service settings
|
||||
|
||||
Get Gemnasium service settings for a project.
|
||||
|
||||
```
|
||||
GET /projects/:id/services/gemnasium
|
||||
```
|
||||
|
||||
## Hangouts Chat
|
||||
|
||||
Google GSuite team collaboration tool.
|
||||
|
|
|
@ -30,7 +30,7 @@ Bitbucket.org account
|
|||
|
||||
## Project services
|
||||
|
||||
Integration with services such as Campfire, Flowdock, Gemnasium, HipChat,
|
||||
Integration with services such as Campfire, Flowdock, HipChat,
|
||||
Pivotal Tracker, and Slack are available in the form of a [Project Service][].
|
||||
|
||||
[Project Service]: ../user/project/integrations/project_services.md
|
||||
|
|
|
@ -34,7 +34,6 @@ Click on the service links to see further configuration instructions and details
|
|||
| [Emails on push](emails_on_push.md) | Email the commits and diff of each push to a list of recipients |
|
||||
| External Wiki | Replaces the link to the internal wiki with a link to an external wiki |
|
||||
| Flowdock | Flowdock is a collaboration web app for technical teams |
|
||||
| Gemnasium _(Has been deprecated in GitLab 11.0)_ | Gemnasium monitors your project dependencies and alerts you about updates and security vulnerabilities |
|
||||
| [Hangouts Chat](hangouts_chat.md) | Receive events notifications in Google Hangouts Chat |
|
||||
| [HipChat](hipchat.md) | Private group chat and IM |
|
||||
| [Irker (IRC gateway)](irker.md) | Send IRC messages, on update, to a list of recipients through an Irker gateway |
|
||||
|
|
|
@ -354,20 +354,6 @@ module API
|
|||
desc: 'Flowdock token'
|
||||
}
|
||||
],
|
||||
'gemnasium' => [
|
||||
{
|
||||
required: true,
|
||||
name: :api_key,
|
||||
type: String,
|
||||
desc: 'Your personal API key on gemnasium.com'
|
||||
},
|
||||
{
|
||||
required: true,
|
||||
name: :token,
|
||||
type: String,
|
||||
desc: "The project's slug on gemnasium.com"
|
||||
}
|
||||
],
|
||||
'hangouts-chat' => [
|
||||
{
|
||||
required: true,
|
||||
|
@ -695,7 +681,6 @@ module API
|
|||
EmailsOnPushService,
|
||||
ExternalWikiService,
|
||||
FlowdockService,
|
||||
GemnasiumService,
|
||||
HangoutsChatService,
|
||||
HipchatService,
|
||||
IrkerService,
|
||||
|
|
|
@ -210,7 +210,6 @@ project:
|
|||
- flowdock_service
|
||||
- assembla_service
|
||||
- asana_service
|
||||
- gemnasium_service
|
||||
- slack_service
|
||||
- microsoft_teams_service
|
||||
- mattermost_service
|
||||
|
|
|
@ -1,74 +0,0 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe GemnasiumService do
|
||||
describe "Associations" do
|
||||
it { is_expected.to belong_to :project }
|
||||
it { is_expected.to have_one :service_hook }
|
||||
end
|
||||
|
||||
describe 'Validations' do
|
||||
context 'when service is active' do
|
||||
before do
|
||||
subject.active = true
|
||||
end
|
||||
|
||||
it { is_expected.to validate_presence_of(:token) }
|
||||
it { is_expected.to validate_presence_of(:api_key) }
|
||||
end
|
||||
|
||||
context 'when service is inactive' do
|
||||
before do
|
||||
subject.active = false
|
||||
end
|
||||
|
||||
it { is_expected.not_to validate_presence_of(:token) }
|
||||
it { is_expected.not_to validate_presence_of(:api_key) }
|
||||
end
|
||||
end
|
||||
|
||||
describe "deprecated?" do
|
||||
let(:project) { create(:project, :repository) }
|
||||
let(:gemnasium_service) { described_class.new }
|
||||
|
||||
before do
|
||||
allow(gemnasium_service).to receive_messages(
|
||||
project_id: project.id,
|
||||
project: project,
|
||||
service_hook: true,
|
||||
token: 'verySecret',
|
||||
api_key: 'GemnasiumUserApiKey'
|
||||
)
|
||||
end
|
||||
|
||||
it "is true" do
|
||||
expect(gemnasium_service.deprecated?).to be true
|
||||
end
|
||||
|
||||
it "can't create a new service" do
|
||||
expect(gemnasium_service.save).to be false
|
||||
expect(gemnasium_service.errors[:base].first)
|
||||
.to eq('Gemnasium has been acquired by GitLab in January 2018. Since May 15, 2018, the service provided by Gemnasium is no longer available.')
|
||||
end
|
||||
end
|
||||
|
||||
describe "Execute" do
|
||||
let(:user) { create(:user) }
|
||||
let(:project) { create(:project, :repository) }
|
||||
let(:gemnasium_service) { described_class.new }
|
||||
let(:sample_data) { Gitlab::DataBuilder::Push.build_sample(project, user) }
|
||||
|
||||
before do
|
||||
allow(gemnasium_service).to receive_messages(
|
||||
project_id: project.id,
|
||||
project: project,
|
||||
service_hook: true,
|
||||
token: 'verySecret',
|
||||
api_key: 'GemnasiumUserApiKey'
|
||||
)
|
||||
end
|
||||
it "calls Gemnasium service" do
|
||||
expect(Gemnasium::GitlabService).to receive(:execute).with(an_instance_of(Hash)).once
|
||||
gemnasium_service.execute(sample_data)
|
||||
end
|
||||
end
|
||||
end
|
|
@ -42,7 +42,6 @@ describe Project do
|
|||
it { is_expected.to have_one(:assembla_service) }
|
||||
it { is_expected.to have_one(:slack_slash_commands_service) }
|
||||
it { is_expected.to have_one(:mattermost_slash_commands_service) }
|
||||
it { is_expected.to have_one(:gemnasium_service) }
|
||||
it { is_expected.to have_one(:buildkite_service) }
|
||||
it { is_expected.to have_one(:bamboo_service) }
|
||||
it { is_expected.to have_one(:teamcity_service) }
|
||||
|
|
|
@ -615,7 +615,6 @@ function-bind,1.1.1,MIT
|
|||
functional-red-black-tree,1.0.1,MIT
|
||||
fuzzaldrin-plus,0.5.0,MIT
|
||||
gauge,2.7.4,ISC
|
||||
gemnasium-gitlab-service,0.2.6,MIT
|
||||
gemojione,3.3.0,MIT
|
||||
generate-function,2.0.0,MIT
|
||||
generate-object-property,1.2.0,MIT
|
||||
|
|
|
Loading…
Reference in New Issue