Contributing to the OTOBO Open Source Project
OTOBO is open source under the GitHub organization RotherOSS (https://github.com/RotherOSS/otobo). If you want to report bugs or contribute your own code, follow this workflow:
1. GitHub Workflow
Section titled “1. GitHub Workflow”1.1 Fork & Clone
Section titled “1.1 Fork & Clone”- Create a fork of
https://github.com/RotherOSS/otobo. - Clone your fork locally:
Terminal window git clone https://github.com/<your-user>/otobo.gitcd otobo
1.2 Branching
Section titled “1.2 Branching”Create a new branch for every change:
git checkout -b feature/<short-description>Example:
git checkout -b feature/add-hello-world-module1.3 Commit & Push
Section titled “1.3 Commit & Push”-
Implement your code.
-
Add meaningful commit messages:
Terminal window git add .git commit -m "Adds HelloWorld module with basic functionality" -
Push your branch:
Terminal window git push origin feature/add-hello-world-module
1.4 Pull Request
Section titled “1.4 Pull Request”- Open your fork on GitHub.
- Click on Compare & pull request.
- Briefly describe in the PR text what your feature/bugfix does and why it is important.
- Select the correct target branch (usually
masterordevelopment).
2. Code Style & Tests
Section titled “2. Code Style & Tests”2.1 CodePolicy
Section titled “2.1 CodePolicy”RotherOSS uses the tool CodePolicy (https://github.com/RotherOSS/CodePolicy) to check coding standards.
-
Installation:
Terminal window cpanm CodePolicy -
Execute in the repo root:
Terminal window CodePolicy --check .
2.2 Perl Modules & POD
Section titled “2.2 Perl Modules & POD”- Every
Kernel::System::*andKernel::Modules::*module must contain POD documentation. - Declare dependencies in
our @ObjectDependencies. - Ensure you use
use strict; use warnings;.
2.3 Unit Tests
Section titled “2.3 Unit Tests”OTOBO uses Mojolicious tests and [Test::More]. Place your tests in t/:
prove -l t/MyModule.t3. Issue Management & Reviews
Section titled “3. Issue Management & Reviews”3.1 Opening Issues
Section titled “3.1 Opening Issues”- Search for existing issues first.
- Create an issue with a title, reproduction steps, logs, and screenshots (if necessary).
3.2 Labels & Templates
Section titled “3.2 Labels & Templates”- Use the labels bug, enhancement, question.
- Follow the issue and PR templates in the repo.
3.3 Code Reviews
Section titled “3.3 Code Reviews”- Respond promptly to review comments in the PR.
- Add tests or change style if reviewers suggest it.
- After approval, your PR will be merged.
4. Community & Support
Section titled “4. Community & Support”- GitHub Discussions: https://github.com/RotherOSS/otobo/discussions
- Mailing List & Chat: Links can be found on https://otobo.com/ in the “Community” section.
- Documentation: Developer docs on https://doc.otobo.org/ (“How to Contribute”).
Good luck with contributing to OTOBO!
Frequently asked questions
Where is the OTOBO source code hosted?
OTOBO is developed under the RotherOSS GitHub organization at github.com/RotherOSS/otobo.
How should I submit code changes to OTOBO?
Fork the repository, create a feature branch, commit your changes, and open a pull request against the correct target branch.
What coding standards does OTOBO use?
RotherOSS uses CodePolicy to check coding standards. Perl modules should include POD and declare ObjectDependencies.