Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • 0.1.1
  • 0.1.0
3 results

requirements-manager

  • Clone with SSH
  • Clone with HTTPS
  • Volker Schukai's avatar
    bedf1c39
    History

    Requirements Manager

    This tool helps to manage requirements written in Markdown.

    Install

    Reqman is a binary file that must be stored in a directory. The files can be found here.

    For Linux, the execution bit must still be set.

    chmod u+x reqman

    Commands

    The date format for the output can be specified with the parameter --date-format. The format can be looked up in the first column of the table below.

    Layout Java notation C notation Notes
    2006-01-02 yyyy-MM-dd %F ISO 8601
    20060102 yyyyMMdd %Y%m%d ISO 8601
    January 02, 2006 MMMM dd, yyyy %B %d, %Y
    02 January 2006 dd MMMM yyyy %d %B %Y
    02-Jan-2006 dd-MMM-yyyy %d-%b-%Y
    01/02/06 MM/dd/yy %D US
    01/02/2006 MM/dd/yyyy %m/%d/%Y US
    010206 MMddyy %m%d%y US
    Jan-02-06 MMM-dd-yy %b-%d-%y US
    Jan-02-2006 MMM-dd-yyyy %b-%d-%Y US
    06 yy %y
    Mon EEE %a
    Monday EEEE %A
    Jan-06 MMM-yy %b-%y

    Help

    There is help on the command line for each individual command.

    reqman --help

    New Requiremants

    A new request can be created with the following command.

    reqman requirements add --id 1425

    A completely new file with a structure is created. The --id 1425 is both the file name and the ID of the request.

    All available fields are listed in the new file.

    Output a PDF

    A pdf can be created using the following command:

    reqman overview \
           print \
           --path=requirement/documents   \
           --column=ID \
           --column=Title  \
           --template=template/schukai.md  \
           --latex-template-path=requirement/template/schukai.latex \
           --output=report.pdf \
           --format=pdf

    In this case the markdown files in the path requirement/documents are read.

    A table with all requirements is created in the file and the two columns ID and Title are used. Additional columns can be added using additional options --column.

    File template/schukai.md is used as a template.

    The LaTeX template requirement/template/schukai.latex is used for the design of the pdf.

    The output format is PDF and the filename of the pdf document is report.pdf.

    You can use a complete directory or a subdirectory as the path.

    Output of the tasks

    reqman tasks print --path=examples/

    The output is then of the type:

    AUFGABE BIS ERLEDIGT DATEI
    das ist das erste todo 1 ./req1/001-1425.md

    Output of the items

    reqman requirements print --path examples/ --column ID --column Title 

    The output is then of the type:

    ID TITEL
    A1 My requirement

    More columns can be added with --column.

    Output of requirements

    reqman requirements print --path=example/ --column=ID --column=

    The output is then of the type:

    ID GRUPPE NAME TYP BESCHREIBUNG BIS ERLEDIGT AM VON DATEI
    23423-Beistellung1 A1 Beistellung eines Bildes Bild Großes Logo 2022-12-12 2022-12-01 Me ./req1/002/002-01.md

    Output changelog

    reqman changelog print --path=example/ 

    The output is then of the type:

    ### 01.05.2022
    
    - Requirement (R2)
    
    ### 24.01.2022
    
    - Requirement (R1)
    

    Structure

    The Text

    The individual requirements are Markdown files with integrated YAML structure. The YAML structure must be introduced with --- and closed with ....

    The data from the YAML block can be integrated in the text via placeholders.

    For example, the following statement can be used to include the items within the document.

    {{ if .Items }}
    **Items**
    
    | ID                 | Name         |        Delivery until |                              Provided on |
    |--------------------|--------------|----------------------:|-----------------------------------------:|
    {{ range .Items 
     }}| {{ .ID }} | {{ .Name }} | {{ .DeliveryUntil.Format "02.Jan" }} | {{ .ProvidedOn.Format "02.Jan"  }} | 
    {{ end }}
    
    {{ end }}

    If the PDF function is used, LaTeX commands can also be included in the text. For example, the LaTex instruction `/newline' leads to a line break.

    Latex

    Individual LaTeX commands can be looked up here: