aeliot/todo-registrar

Register TODOs from source code in issue tracker

Maintainers

Package info

github.com/Aeliot-Tm/todo-registrar

Type:application

pkg:composer/aeliot/todo-registrar

Statistics

Installs: 2 996

Dependents: 0

Suggesters: 0

Stars: 15

Open Issues: 6

3.5.1 2026-06-01 17:51 UTC

README

logo

GitHub Release Testing Security Audit GitHub License

It takes TODO/FIXME and other comments from your php-code and register them as issues in Issue Trackers like JIRA. With all necessary labels, linked issues and so on.

Motivation

Time to time developers left notes in code to not forget to do something. And they forget to do it. One of the main reason is that it is difficult to manage them.

Why do developers left comment in code instead of registering of issues? It is convenient. You don't need to deal with UI of Issue Tracker and to fill lots of field. And lots of times to register each issue. It takes time. The second reason, comment in code permit to mark exact place which have to be modified. And many other reasons. No matter why they do it. They do it and leave this comments for years.

Somebody have to manage it.

So, we need in tool which will be responsible for registering of issues and save time of developers. After that you can use all power of management to plan solving of lacks of your code.

This script do it for you. It registers issues with all necessary params. Then injects IDs/Keys of created issues into comment in code. This prevents creating of issues twice and injected marks helps to find proper places in code quickly.

How it works

  1. Detect TODO in comment.
  2. Create issue in issue tracker (list of supported).
  3. Inject number of ticket into TODO-comment.

detect_register_inject.png

See latest benchmark here.

Using

Basic using:

  1. Create configuration file.
  2. Call shell script with necessary command line options.
  3. Commit updated files. You can config your pipeline/job on CI which commits updates.

There are prepared several ways of using:

  1. Using of GitHub Action: TODO Registrar Action.
  2. Using of Docker Container.
  3. Using of PHAR file.
  4. Using of Composer Package.

I recommend TODO Registrar Action for repositories hosted on GitHub.

The next recommendation is using of Docker container. It provides fully isolated solution. There is no matter which version of PHP installed in yous system and which components required by Composer (no dependency hell).

The next one is using of single PHAR file. It frees you from dependency hell, but you have to pay attention to version of PHP installed in you system and its modules. However, this may be more familiar for you.

The last one is using of Composer package. The most common, but less flexible method.

Documentation references

  1. Command Line Options
  2. Configuration:
    1. General Config
      1. Config format:
        1. YAML file
        2. PHP file
        3. YAML from STDIN
    2. Inline Config
    3. Specific for issue trackers supported out of the box:
      1. GitHub
      2. GitLab
      3. JIRA
      4. Redmine
      5. Yandex Tracker
  3. Supported formats of comments
  4. Integration on CI
  5. Customization

Supported Issue Trackers

Issue Tracker Description
GitHub See description of configuration. Supported via API tokens.
GitLab See description of configuration. Supported via API tokens (HTTP Token or OAuth).
JIRA See description of configuration. Supported via API tokens.
Redmine See description of configuration. Supported via API keys or Basic Auth.
Yandex Tracker See description of configuration. Supported via OAuth tokens.
Any custom Issue Tracker Read about customization

Articles

RU: https://habr.com/ru/articles/832994/

Contributing

Read contributing instructions.