Code TODO CLI

A script turns code TODOs into Uclusion bugs and jobs.

TODO comment format

Any TODO of this format will create a Uclusion bug or job.

| [BUG (default), NOTE, or JOB] [type] comment 
Case insensitive
for BUG, type is one of CRITICAL, NORMAL, or MINOR with default MINOR
for JOB, type is one of WAITING, READY, BACKLOG_READY, or BACKLOG_NOT_READY with default BACKLOG_NOT_READY

for example

// TODO | This is my bug

creates a minor bug in Uclusion. However

// TODO This is my bug

is a no op because the | is missing.

// TODO | JOB READY This is my job

Will create a job in Work Ready stage assigned to the user that created the credentials file.

Multi-line TODOs

A TODO written with single line comment syntax (//, #, or ;) captures only that one line. Following comment lines are ignored, because there is no terminator telling the CLI where your TODO ends and an unrelated comment begins.

To send a description that spans multiple lines, use your language’s block comment — /* */ in Java, JavaScript, TypeScript, C, C++, C#, Go, Rust, Swift, Kotlin, PHP, CSS, and SCSS, or <!-- --> in HTML and XML. Everything from the | to the closing marker becomes the bug or job description:

/* TODO | JOB READY This is my job
   and this second line is part of the description
   and so is this third line */

Continuation lines may optionally start with * (javadoc style); that prefix is stripped from the description. After sync only the first line is rewritten with the short code — the rest of the block comment is left untouched in your code:

/* TODO J-Engineering-4 This is my job
   and this second line is part of the description
   and so is this third line */

Languages whose only comment syntax is single line (Python, Ruby, shell, Perl, Lisp, Clojure) support single-line TODOs only. In particular Python """ triple-quote blocks are string literals, not comments, so they are not scanned for TODOs.

Running Uclusion CLI

Run

uclusion sync

After completion

// TODO | JOB READY This is my job

becomes

// TODO J-Engineering-3 This is my job

where ‘J-Engineering-3’ is the short code of the created job.

When the job J-Engineering-3 is complete, running uclusionCLI.py again marks the TODO done.

// DONE J-Engineering-3 This is my job