FIXME report is a simple tool to automate your issues creation directly from // TODO and // FIXME comments in your codebase.
Too often you write these comments and forget to delete them or take them into account for your project's next milestone. Note that you can also assign your issues to an assignee by writing a comment with the following syntax // TODO (@bnjjj): clean this function
At the current stage FIXME report only supports GitHub issue creation, but take a look at our roadmap to know the next platforms supported.
Save your configuration in a JSON file:
{
"type": "github",
"repository": "bnjjj/fixme_report",
"token": "PERSONAL_TOKEN_FROM_GITHUB",
"username": "bnjjj",
"url": "https://github.com"
}You can save it into a file named fixme_settings.json in the same directory of your project. If you want to have it somewhere else you can use a flag to indicate the path to your configuration file as following fixme_report -c $HOME/my_settings.json.
The default behavior is to read a patchset (git diff) directly from stdin. If you want to specify a .patch file you can do it by adding the following parameter -f=yourFile.patch to the CLI.
Example: create issues based on your last commit:
$ git diff HEAD^1 HEAD | fixme_reportThe purpose is to add this CLI to your CI/CD pipeline in order to launch it on every commit merged to master.
USAGE:
fixme_report [FLAGS] [OPTIONS]
FLAGS:
-d, --dry-run display issues to create without creating them
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-c, --config <config-file> giving configuration file, default is fixme_settings.json in the current
directory
-f, --file <file> giving patchset file instead of parsing it via stdin
-m, --fixme-template <fixme-template> giving template (handlebars) file for fixme cases (OPTIONAL)
-t, --todo-template <todo-template> giving template (handlebars) file for todo cases (OPTIONAL)Here is an example of an issue created with this of git diff:
- You can also give for each kind of comment (TODO, FIXME) create a template for to create description of issue as you want. Here is an example file. You just have to use
--todo-templateand/or--fixme-templateto use your specified file. In these templates you can access 3 different variables asfile,lineanddetailsto have the comment details. It must be a handlebars compliant template.
- Add support of Bitbucket Cloud
- Add support of Bitbucket Server
- Add support of Gitlab
- Add support of Jira
- Add more tests
- Better lib architecture