Odyssey - Fixes and Improvements

Key Information

The challenge is finished.

Challenge Overview

The Odyssey Audit Tool facilitates generation of code audit reports for projects hosted on GitHub. Our client wants to leverage Topcoder community for the on-going development and improvement of the tool. In this challenge you will resolve a number of small issues listed below. As long as the client stays satisfied with the outcomes, you should expect follow-up challenges with the similar scope.

Technology Stack

The tool is written in Ruby.

Code Access

The latest codebase is provided in the challenge forum, as a zipped archive of the clonned Git repository. Please, remember that the code is propietary, and must not be used or shared outside of this challenge’s context, as per the Standard Topcoder Terms of Use. You should work out of the commit 083d3080582eab7d81756a3687d99be793f9da69.

Individual Requirements

For the purposes of scoring, all requirements should be considered as major. As the scope is relatively simple, we expect that reviewers will score down heavily for apparent misses in requirements and functionality.

  1. Standard repository labels. Upon intialization, the tool should ensure that the following labels exist in the configured github_repo, (create or update their colors otherwise):

    Critical - color #b60205
    Major - color #d93f0b
    Medium - color #fbca04
    Minor - color #1d76db

  2. Permalinks rendering. When single- or multi-line permalinks are added into a GitHub issue, the Odyssey renders code samples in the report, as shown below. However, this feature does not work well with private repositories. Fix it.

  3. Tests. Ensure that test coverage is properly collected from entire codebase, and add additional tests to achieve the coverage above 90%.
  4. Standard folders. During rendering the report, print the warning message Standard content directory is empty, be sure to include it in the final version, if any of the following directories is empty:


    Also create the following directories upon initialization, and add an empty .gitignore file into each of them:


Final Submission Guidelines

Submit a Git patch against the commit mentioned above, along with a brief verification video for convenience of reviewers.


2018 Topcoder(R) Open


Final Review:

Community Review Board


User Sign-Off


ID: 30068511