1

I've been searching for this but haven't found a definitive answer, which is: other than Ruby, can other languages be used to create plugins for Redmine?

If so, will that incurr any workarounds and difficulties in general? Or will using them be as smooth as using Ruby?

I think of Golang primarily. And also of Elixir, Rust, Python.

valik402
  • 11
  • 1
  • This question should be asked directly to Redmine's support as they're the authoritative source for that information. – the Tin Man Feb 20 '22 at 22:23

1 Answers1

2

Redmine plugins must, well, plug into Redmine. Thus, they need to use internal Redmine APIs (written in and accessible with Ruby) to register its functions and embed into the application. Very often, plugins extend or overwrite parts of Redmine to implement their functionality. Plugins embed themselves into Redmine and run in the same processes to form an integrated program.

As such, you are required to use the same Ruby version as Redmine itself run at. While it may be theoretically possible to write your plugin in C (or compatible languages) and use Ruby's C interfaces, this would most certainly be MUCH more painful than just writing Ruby and would still mostly resemble the equivalent Ruby anyways.

If you want to develop external functionality in a different language, you can however access Redmine via its REST API from any external program using any language you like. It will not be a plugin though and will not extend Redmine itself.

Holger Just
  • 52,918
  • 14
  • 115
  • 123