Add option to confidential issues events to trigger services
This commit is contained in:
parent
a103a5d9cc
commit
dd64f8aaf8
7 changed files with 37 additions and 18 deletions
|
@ -13,7 +13,7 @@ module ServiceParams
|
|||
# `issue_events` and `merge_request_events` (singular!)
|
||||
# See app/helpers/services_helper.rb for how we
|
||||
# make those event names plural as special case.
|
||||
:issues_events, :merge_requests_events,
|
||||
:issues_events, :confidential_issues_events, :merge_requests_events,
|
||||
:notify_only_broken_builds, :notify_only_broken_pipelines,
|
||||
:add_pusher, :send_from_committer_email, :disable_diffs,
|
||||
:external_wiki_url, :notify, :color,
|
||||
|
|
|
@ -8,7 +8,9 @@ module ServicesHelper
|
|||
when "note"
|
||||
"Event will be triggered when someone adds a comment"
|
||||
when "issue"
|
||||
"Event will be triggered when an issue is created/updated/merged"
|
||||
"Event will be triggered when an issue is created/updated/closed"
|
||||
when "confidential_issue"
|
||||
"Event will be triggered when a confidential issue is created/updated/closed"
|
||||
when "merge_request"
|
||||
"Event will be triggered when a merge request is created/updated/merged"
|
||||
when "build"
|
||||
|
@ -19,7 +21,7 @@ module ServicesHelper
|
|||
end
|
||||
|
||||
def service_event_field_name(event)
|
||||
event = event.pluralize if %w[merge_request issue].include?(event)
|
||||
event = event.pluralize if %w[merge_request issue confidential_issue].include?(event)
|
||||
"#{event}_events"
|
||||
end
|
||||
end
|
||||
|
|
|
@ -39,7 +39,7 @@ class HipchatService < Service
|
|||
end
|
||||
|
||||
def supported_events
|
||||
%w(push issue merge_request note tag_push build)
|
||||
%w(push issue confidential_issue merge_request note tag_push build)
|
||||
end
|
||||
|
||||
def execute(data)
|
||||
|
|
|
@ -44,7 +44,7 @@ class SlackService < Service
|
|||
end
|
||||
|
||||
def supported_events
|
||||
%w(push issue merge_request note tag_push build wiki_page)
|
||||
%w(push issue confidential_issue merge_request note tag_push build wiki_page)
|
||||
end
|
||||
|
||||
def execute(data)
|
||||
|
|
|
@ -7,6 +7,7 @@ class Service < ActiveRecord::Base
|
|||
default_value_for :active, false
|
||||
default_value_for :push_events, true
|
||||
default_value_for :issues_events, true
|
||||
default_value_for :confidential_issues_events, true
|
||||
default_value_for :merge_requests_events, true
|
||||
default_value_for :tag_push_events, true
|
||||
default_value_for :note_events, true
|
||||
|
@ -100,7 +101,7 @@ class Service < ActiveRecord::Base
|
|||
end
|
||||
|
||||
def supported_events
|
||||
%w(push tag_push issue merge_request wiki_page)
|
||||
%w(push tag_push issue confidential_issue merge_request wiki_page)
|
||||
end
|
||||
|
||||
def execute(data)
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
class AddConfidentialIssuesEventsToServices < ActiveRecord::Migration
|
||||
include Gitlab::Database::MigrationHelpers
|
||||
|
||||
DOWNTIME = false
|
||||
|
||||
disable_ddl_transaction!
|
||||
|
||||
def up
|
||||
add_column_with_default :services, :confidential_issues_events, :boolean, default: true, allow_null: false
|
||||
end
|
||||
|
||||
def down
|
||||
remove_column :services, :confidential_issues_events
|
||||
end
|
||||
end
|
25
db/schema.rb
25
db/schema.rb
|
@ -901,19 +901,20 @@ ActiveRecord::Schema.define(version: 20160830232601) do
|
|||
t.integer "project_id"
|
||||
t.datetime "created_at"
|
||||
t.datetime "updated_at"
|
||||
t.boolean "active", default: false, null: false
|
||||
t.boolean "active", default: false, null: false
|
||||
t.text "properties"
|
||||
t.boolean "template", default: false
|
||||
t.boolean "push_events", default: true
|
||||
t.boolean "issues_events", default: true
|
||||
t.boolean "merge_requests_events", default: true
|
||||
t.boolean "tag_push_events", default: true
|
||||
t.boolean "note_events", default: true, null: false
|
||||
t.boolean "build_events", default: false, null: false
|
||||
t.string "category", default: "common", null: false
|
||||
t.boolean "default", default: false
|
||||
t.boolean "wiki_page_events", default: true
|
||||
t.boolean "pipeline_events", default: false, null: false
|
||||
t.boolean "template", default: false
|
||||
t.boolean "push_events", default: true
|
||||
t.boolean "issues_events", default: true
|
||||
t.boolean "merge_requests_events", default: true
|
||||
t.boolean "tag_push_events", default: true
|
||||
t.boolean "note_events", default: true, null: false
|
||||
t.boolean "build_events", default: false, null: false
|
||||
t.string "category", default: "common", null: false
|
||||
t.boolean "default", default: false
|
||||
t.boolean "wiki_page_events", default: true
|
||||
t.boolean "pipeline_events", default: false, null: false
|
||||
t.boolean "confidential_issues_events", default: true, null: false
|
||||
end
|
||||
|
||||
add_index "services", ["project_id"], name: "index_services_on_project_id", using: :btree
|
||||
|
|
Loading…
Reference in a new issue