Module: PactBroker::Contracts::Service
- Extended by:
- Service, Messages, Repositories, Services
- Includes:
- Logging
- Included in:
- Service
- Defined in:
- lib/pact_broker/contracts/service.rb
Defined Under Namespace
Classes: TriggeredWebhooksCreatedListener
Constant Summary
Constants included from Services
Instance Method Summary collapse
- #conflict_notices(parsed_contracts) ⇒ Object
- #publish(parsed_contracts, base_url:) ⇒ Object
- #triggered_webhook_notices(listener, pact) ⇒ Object
Methods included from Repositories
branch_version_repository, integration_repository, label_repository, matrix_repository, pact_repository, pacticipant_repository, tag_repository, verification_repository, version_repository, webhook_repository
Methods included from Services
badge_service, branch_service, certificate_service, contract_service, deployed_version_service, environment_service, get, group_service, index_service, integration_service, label_service, matrix_service, metrics_service, pact_service, pacticipant_service, register_default_services, register_service, released_version_service, tag_service, verification_service, version_service, webhook_service, webhook_trigger_service
Methods included from Messages
message, pluralize, potential_duplicate_pacticipant_message, validation_message
Methods included from Logging
included, #log_error, #log_with_tag
Instance Method Details
#conflict_notices(parsed_contracts) ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/pact_broker/contracts/service.rb', line 46 def conflict_notices(parsed_contracts) notices = [] parsed_contracts.contracts.collect do | contract_to_publish | pact_params = create_pact_params(parsed_contracts, contract_to_publish) existing_pact = pact_service.find_pact(pact_params) if existing_pact && pact_service.disallowed_modification?(existing_pact, contract_to_publish.decoded_content) add_conflict_notice(notices, parsed_contracts, contract_to_publish, existing_pact.json_content, contract_to_publish.decoded_content) end end notices end |
#publish(parsed_contracts, base_url:) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/pact_broker/contracts/service.rb', line 32 def publish(parsed_contracts, base_url: ) version, version_notices = create_version(parsed_contracts) = (parsed_contracts, version) pacts, pact_notices = create_pacts(parsed_contracts, base_url) notices = version_notices + pact_notices ContractsPublicationResults.from_hash( pacticipant: version.pacticipant, version: version, tags: , contracts: pacts, notices: notices ) end |
#triggered_webhook_notices(listener, pact) ⇒ Object
261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 |
# File 'lib/pact_broker/contracts/service.rb', line 261 def triggered_webhook_notices(listener, pact) triggered_webhooks = listener.detected_events.flat_map(&:triggered_webhooks) if triggered_webhooks.any? triggered_webhooks.collect do | triggered_webhook | base_url = triggered_webhook.event_context[:base_url] triggered_webhooks_notices_url = url_for_triggered_webhook(triggered_webhook, base_url) text_2_params = { webhook_description: triggered_webhook.webhook.description&.inspect || triggered_webhook.webhook_uuid, event_name: triggered_webhook.event_name } text_1 = ("messages.webhooks.webhook_triggered_for_event", text_2_params) text_2 = ("messages.webhooks.triggered_webhook_see_logs", url: triggered_webhooks_notices_url) Notice.debug(" #{text_1}\n #{text_2}") end else if webhook_service.any_webhooks_configured_for_pact?(pact) # There are some webhooks, just not any for this particular event [Notice.debug(" " + ("messages.webhooks.no_webhooks_enabled_for_event"))] else [] end end end |