BMC Discovery - automation tool for syntax checking, pattern upload, testing for usual pattern developer routines.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


This is IDE and automation program for BMC Discovery (ADDM) language - TPL tideway pattern language

For tpl syntax highlighting follow:

Designed for Python 3

Can run in usual shell or like 'build system'

Syntax check


Syntax check work only for versions: 11.0, 10.2, 10.1, 10.0

NOTE: syntax tests (require 3rd party module tplint by Ladkau, Matthias)

To use syntax check functions:

  • Download module tplint
  • Unzip
  • Copy folders (from 'tpledit_v0.4\tpledit' ): taxonomy and tplint in 'bmc_tplpre' (where lies)


  • download ZIP;
  • use master/bmc_tplpre;
  • copy it wherever you want;
  • point your build system to it; see examples below
  • pip install paramiko, progressbar2
  • use arguments;


  • To use ADDM over SSH commands: paramiko


  • To print nice and fancy progress bars for long processes: progressbar


Different run mode available:

All available modes described here in pdf.

In editor:

  • Sublime: use it's build system, example.


You probably should update build file example according to recent arguments.

  • Atom: install plugin 'build' and use atom-build.yml example.


  • In CMD:

Common options:

D:\>C:\Python34\python.exe D:\BMC_TPL_IDE\bmc_tplpre\ -h

usage: [-h] [-usual_import] [-recursive_import] [-read_test]
                [-run_test] [-related_tests] [-tpl VERSION_TPL]
                [-full_path FULL_PATH] [-u USER] [-p PASSWORD]
                [-system_user SYSTEM_USER] [-system_password SYSTEM_PASSWORD]
                [-addm ADDM_HOST] [-host_list SCAN_HOST_LIST]
                [-disco_mode DISCO_MODE] [-l LOG_LVL] [--version]

optional arguments:
  -h, --help            show this help message and exit
  • From windows context menu:

Run regedit; Add keys as described:

Use any usual arguments and add any needed key for all you need.
Just be sure -full_path '%1' - will call path to active file.
  • reg_shell

Current features:

Some of them is still in progress:

  • syntax tests (require 3rd party module tplint by Ladkau, Matthias)

  • importing linked patterns (working only if dev environment found):

    • from current pattern;
    • from current pattern and each imported;
    • from current pattern and each imported and from;
  • Run TPLPreprocessor:

    • on current pattern file;
    • on imported pattern files;
  • SSH to ADDM for options:

    • check tpl version;
    • check DEV paths;
    • pattern uploading;
    • auto scan start;
  • Start scan;

  • Tests

    • Run pattern test;
    • Run pattern related tests;
  • Validate results:
    • si query;
    • si models;
    • gather record data;
    • generate DML data;
    • generate test data;

Issues and requests:

Please add issues and requests here: issues


Some extra docs and explanations for internal logic you can find here: All docs