Contributing to the OTOBO Open Source Project
Contributing to the OTOBO Open Source Project
Section titled “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!