Class: PivotaltrackerService
- Inherits:
-
Service
show all
- Defined in:
- app/models/project_services/pivotaltracker_service.rb
Constant Summary
collapse
- API_ENDPOINT =
'https://www.pivotaltracker.com/services/v5/source_commits'
Constants inherited
from Service
Service::DEV_SERVICE_NAMES, Service::SERVICE_NAMES
Instance Attribute Summary
Attributes included from Importable
#imported, #importing
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Service
#activated?, #api_field_names, #async_execute, available_services_names, available_services_types, boolean_accessor, build_from_integration, #can_test?, #category, #configurable_event_actions, #configurable_events, default_integration, dev_services_names, #editable?, #event_channel_names, event_description, #event_field, #event_names, event_names, find_or_create_templates, find_or_initialize_all, find_or_initialize_integration, #global_fields, #help, #initialize_properties, instance_exists_for?, #issue_tracker?, #json_fields, #operating?, prop_accessor, #reset_updated_properties, services_names, services_types, #show_active_box?, supported_event_actions, #supported_events, #supports_data_fields?, #test, #to_data_fields_hash, #to_param, #to_service_hash, #updated_properties
#build_message, #log_error, #log_info, #logger
at_most, id_in, id_not_in, iid_in, pluck_primary_key, primary_key_in, safe_ensure_unique, safe_find_or_create_by, safe_find_or_create_by!, underscore, without_order
Class Method Details
.supported_events ⇒ Object
38
39
40
|
# File 'app/models/project_services/pivotaltracker_service.rb', line 38
def self.supported_events
%w(push)
end
|
.to_param ⇒ Object
17
18
19
|
# File 'app/models/project_services/pivotaltracker_service.rb', line 17
def self.to_param
'pivotaltracker'
end
|
Instance Method Details
#description ⇒ Object
13
14
15
|
# File 'app/models/project_services/pivotaltracker_service.rb', line 13
def description
s_('PivotalTrackerService|Project Management Software (Source Commits Endpoint)')
end
|
#execute(data) ⇒ Object
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
# File 'app/models/project_services/pivotaltracker_service.rb', line 42
def execute(data)
return unless supported_events.include?(data[:object_kind])
return unless allowed_branch?(data[:ref])
data[:commits].each do |commit|
message = {
'source_commit' => {
'commit_id' => commit[:id],
'author' => commit[:author][:name],
'url' => commit[:url],
'message' => commit[:message]
}
}
Gitlab::HTTP.post(
API_ENDPOINT,
body: message.to_json,
headers: {
'Content-Type' => 'application/json',
'X-TrackerToken' => token
}
)
end
end
|
#fields ⇒ Object
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'app/models/project_services/pivotaltracker_service.rb', line 21
def fields
[
{
type: 'text',
name: 'token',
placeholder: s_('PivotalTrackerService|Pivotal Tracker API token.'),
required: true
},
{
type: 'text',
name: 'restrict_to_branch',
placeholder: s_('PivotalTrackerService|Comma-separated list of branches which will be ' \
'automatically inspected. Leave blank to include all branches.')
}
]
end
|
#title ⇒ Object
9
10
11
|
# File 'app/models/project_services/pivotaltracker_service.rb', line 9
def title
'PivotalTracker'
end
|