Skip to content

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

1.1 Fork & Clone

  1. Create a fork of https://github.com/RotherOSS/otobo.
  2. Clone your fork locally:
    bash
    git clone https://github.com/<your-user>/otobo.git
    cd otobo

1.2 Branching

Create a new branch for each change:

bash
git checkout -b feature/<short-description>

Example:

bash
git checkout -b feature/add-hello-world-module

1.3 Commit & Push

  1. Implement your code.

  2. Add meaningful commit messages:

    bash
    git add .
    git commit -m "Adds HelloWorld module with basic functionality"
  3. Push your branch:

    bash
    git push origin feature/add-hello-world-module

1.4 Pull Request

  1. Open your fork on GitHub.
  2. Click on Compare & pull request.
  3. Briefly describe in the PR text what your feature/bugfix does and why it's important.
  4. Select the correct target branch (usually master or development).

2. Code Style & Tests

2.1 CodePolicy

RotherOSS uses the CodePolicy tool (https://github.com/RotherOSS/CodePolicy) to check coding standards.

  • Installation:

    bash
    cpanm CodePolicy
  • Run in the repo root:

    bash
    CodePolicy --check .

2.2 Perl Modules & POD

  • Every Kernel::System::* and Kernel::Modules::* module must include POD documentation.
  • Declare dependencies in our @ObjectDependencies.
  • Pay attention to use strict; use warnings;.

2.3 Unit Tests

OTOBO uses Mojolicious tests and [Test::More]. Place your tests in t/:

bash
prove -l t/MyModule.t

3. Issue Management & Reviews

3.1 Opening Issues

  • First, search for existing issues.
  • Create an issue with a title, reproduction steps, logs, and screenshots (if necessary).

3.2 Labels & Templates

  • Use the labels bug, enhancement, question.
  • Follow the issue and PR templates in the repo.

3.3 Code Reviews

  • Respond promptly to review comments in the PR.
  • Add tests or change the style if reviewers suggest it.
  • After approval, your PR will be merged.

4. Community & Support

Happy contributing to OTOBO