Develop Hello World! Plugin With Redmine howto by Someshwar Mirge - May 6, 2020August 15, 20200 In this article , we are going to develop Hello World ! plugin with Redmine. For this tutorial , we have used Ubuntu 20.04 LTS as a base and Redmine 4.1.1 also Ruby version is 2.7 . Note : Before getting started we assume that you have a working Redmine installation. Step 1: Develop Hello World! plugin with redmine plugin generator open terminal and change your current directory to your redmine installation directory i.e. /usr/share/redmine-4.1.1. Use following command, cd /usr/share/redmine-4.1.1/ Now , here we will create plugin using redmine plugin generator script, use following command to generate plugin . export RAILS_ENV=”production” above command will set rails environment variable to production and now generator script. bundle exec ruby bin/rails generate redmine_plugin hello here hello is the name of plugin , you can replace it with name of your choice if you want . This command will generate all the plugin directories and init.rb file that is used by redmine to detect and configure new plugin. Here , app directory is where most of work is done . In app directory all the models , controllers and views are stored. Step 2- Creating a controller and view using controller generator For , hello world application , we need to create one controller and one view . The controller will render the associated view and view which is made od templates act as interface. Controller generator creates a blank controller ( a ruby class) with its functions and associated views ( ruby embedded HTML files) . use following command to generate a controller bundle exec ruby bin/rails generate redmine_plugin_controller <plugin_name> <controller_name> [actions] here plugin name will be “hello” , controller name lets say “one” and action “index ” . You can customize controller and action names but you have to make appropriet changes in further steps . bundle exec ruby bin/rails generate redmine_plugin_controller hello one index here controller is a ruby class and actions are methods of that class. The generator script will create empty controller with an empty view associated with a action. Note : there will be separate view template associated with each controller action . And all templates will be stored in same folder named same as of controller name . Generated controller in controllers directory Vies for controller one are stored in separate directory only one view template due to only one action for controller one In order to develop Hello World ! plugin with Redmine following steps are important, so we tried to document it carefully. Step 3 – Customizing empty controllers and views This plugin does not need any functionality or any calculations so our controller program will remain as it is . But we will add one <h1> tag inside view program . controller “one” with “index” action index.html.erb file i.e. view template associated with index activity step 4- Adding Route for controller adding just controller and view is not enough . Controller renders associated views when controller itself is activated . We need to add route in routes.rb file located inside config directory of plugin so that controller is activated . routes.rb file located in config directory add following route in routes.rb file get ‘one’,:to=>’one#index’ route added for controller “one” Step 5 – Migrating and activating plugin enter following command to migrate plugin data RAILS_ENV=production bundle exec rake db:migrate Now restart redmine and visit http://localhost:3000/one to see working hello world plugin . This is all about your first Develop Hello World! Plugin With Redmine, let us know your feedback and happy plugin development.