Zammad: Plugins

module CoreExtensions module TicketPatch def custom_method "Extended #self.number" end end end Zammad::Plugin.after_load do Ticket.include(CoreExtensions::TicketPatch) end In config/routes.rb :

# test/integration/plugin_test.rb require 'test_helper' class MyPluginTest < ActiveSupport::TestCase setup do Zammad::Plugin.load end zammad plugins

Run plugin tests:

cd /opt/zammad bundle exec rails db:migrate:plugins In lib/core_extensions/ticket_patch.rb : integrate with third-party services

Zammad::Plugin.register('my_plugin') do name 'My Plugin' version '1.0.0' author 'Your Name' license 'AGPL-3.0' description 'Extends Zammad with custom functionality' required_version '>= 5.0' load_order 10 end Zammad is designed for extensibility.

test 'custom method works' do ticket = Ticket.first assert_equal "Extended #ticket.number", ticket.custom_method end end

1. Introduction Zammad is an open-source, web-based helpdesk/ticketing system written in Ruby on Rails. Unlike many monolithic helpdesks, Zammad is designed for extensibility. Its plugin system allows developers and system administrators to modify behavior, add features, integrate with third-party services, and override core functionality without altering the core codebase.

Free eBook: 8 Tips for Making a Stellar First Video

FREE

Close the CTA

Download our free eBook to get on the right track and create a video to be proud of.

zammad plugins