Giter VIP home page Giter VIP logo

inspectortodo's Introduction

About

InspectorTodo is a Python tool to track the status of todos in a software project, assuming that the project uses an issue tracker, e.g. JIRA. In its simplest form it searches for all occurrences of the string TODO and checks whether it is followed by an issue reference that is conform to a given regular expression.

Install and update using pip:

pip install inspectortodo

Then you can run InspectorTodo from the command line,

inspectortodo --help

or invoke its API from your Python code (see example below).

If you installed it in a virtualenv (which is recommended), then you always have to activate the virtualenv first.

Example

The source code of InspectorTodo contains a small example project which can be parsed with the command (assuming you are at project root of InspectorTodo)

inspectortodo ./tests/inspectortodo/project_for_testing "IT-\d+" --version-pattern "Release-\d+" --version 2 --versions 1,2,3

Equivalent example in Python:

import inspectortodo

# The inspect() function takes the same arguments as the CLI
inspectortodo.inspect(root_dir="./tests/inspectortodo/project_for_testing", issue_pattern="IT-\d+", version_pattern="Release-\d+", version="2", versions="1,2,3")

Traversing the folder tree

InspectorTodo currently features two ways of traversing the folder tree of your project: iterating over all files on OS level or iterating over all files under git control. The latter is used when the folder passed to InspectorTodo as root dir is a git root.

Config file

To use advanced features you can use a config file by passing a file path via the --configfile option. If the file does not exist a default config is created which you can adapt afterwards.

If issues are tracked in an issue tracker like JIRA, InspectorTodo can validate whether issues that are referenced in a todo are in an allowed status.

JIRA server

Connection settings for a JIRA server.

Issue filter

A filter (currently tailored to Jira) that will only mark todos as invalid, if a field with name filter_key is present and has at least one of filter_values values as its entry. Can be used, e.g. to show only todos pointing to issues belonging to certain teams (e.g. on branches).

Statuses

A list of allowed statuses in the issue tracker, like "Backlog" or "Todo".

Files

If there are files in the project that should not be parsed (e.g. because they belong to another project), you can configure a list of ignored paths here, relative to the project root. Compare the entries from the example config for details.

Copyright & License

InspectorTodo was conceived, written and executed by Martin Fink, Kai Helbig and Wolfgang Münder.

Licensed under the Apache License, Version 2.0 - see LICENSE.md in project root directory.

inspectortodo's People

Contributors

wolfgangmuender avatar denisemeinhardt avatar code-acrobat avatar sebho0 avatar codethief avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.