Input formats

REQCHECKER™ car read requirement statements and coverages from several data sources:

An Java API is provided to develop your own data source. Contact support team to get it.

Format features

The table below presents the format that are managed and for each format the available features.

  • Track Change: the track change is available and the text is read after applying the change.
  • Page Number: the page or slide number is available.
  • Heading Number: the positions detail the chapter heading number. Such format allows to create requirement directly from chapter heading number.
  • Table cell: the text is extracted from tables. Cell Text feature is available for custom tags (see GUI Custom Tags).
  • Style filter: the style names are extracted.

Microsoft Office formats

Format Track Change Page Number Heading Number Table cell Style filter
Microsoft WORD >2007 (.docx .docm) NO NO YES YES YES
Microsoft WORD 97 (2) (.doc) YES NO YES NO NO
Microsoft EXCEL 2007 (.xlsx .xlsm) N/A N/A N/A YES (1) NO
Microsoft POWERPOINT 2007 (.pptx) N/A YES N/A NO NO
Microsoft EXCEL 97 (2) (.xls) N/A N/A N/A YES (1) NO

Note

(1) Each cell is read as a new line

(2) MS Word or MS Excel must be installed

Google Document formats

Format Track Change Page Number Heading Number Table cell Style filter
Google Docs (.gdoc) NO NO YES YES YES

Note

(1) You must allow the REQCHECKER Reader Google application to access the reading of your Google documents. The authorization page opens during the first calculation.

(2) Please read the REQCHECKER privacy policy

Other documents

Format Track Change Page Number Heading Number Table cell Style filter
Adobe PDF (.pdf) N/A YES YES (1) YES (1) NO
OpenOffice WRITER (2) (.odt) NO YES YES NO YES
Markdown (basic support) (.md) NO NO NO NO NO

Note

(1) Only some PDF heading number patterns are supported. The experimental heuristic algorithm automatically detects headings. The table of content is ignored. Standard patterns like "1.1 1.2.1.." and "1. A. 1. B.." are supported. Only some PDF structures are supported. The table cell recognition for PDF is an experimental feature.

(2) OpenOffice WRITER must be installed

"Database" formats

The required columns are described here

Format Track Change Page Number Heading Number Table cell Style filter
REQCHECKER XLSX reports (.xlsx) NO NO NO N/A NO

Confluence reader

Atlassian Confluence Software is a collaboration and knowledge management software designed for teams to create, organize, and share content in a centralized platform. It offers features such as customizable templates, version control, task management, and real-time collaboration tools to improve team productivity and efficiency. Confluence allows users to create and edit pages, blogs, and files, and integrates with other Atlassian tools such as Jira, Bitbucket, and Trello. It can be deployed both on-premise and in the cloud, and is used by a wide range of organizations to manage their documentation, project management, and team collaboration needs.

The .confluence file format is a text file that defines the connection properties to your custom query.

Format Track Change Page Number Heading Number Table cell Style filter
Confluence connection file (.confluence) NO NO NO NO NO

Main use case

To retrieve the list of page as requirements, you have to:

  1. Go to the Conluence page
  2. Copy the full URL from the browser address bar. Its format is something like: https://<domain>/..../wiki
  3. Create a new empty connection file (e.g. with Notepad)
  4. Add new line in the connection file to define your project page url: <your URL>
  5. Add new line in the connection file to define your Jira login login: <your login>
  6. On the Web site, click on your Account > Settings > Password > API token > Create and panage API tokens and click on the Create API Token button and copy it
  7. Add new line in the connection file to define your Jira APi key pass: <your API token>
  8. Save the text connection file with the .confluence extension, e.g. myproject.confluence
  9. Go to Data Sources tab > Add File button and select your connection file.
  10. In the list Statement retrieval from:, select Database
  11. Run your project and check that the tickets are correctly imported

File format

The syntax is for example as follow. The fieldMapping value are optional.

url: https://<your domain>/.../<name>
[login: <your login>]
[pass: <your API key>]

Where:

  • [ ] means the item is facultative
  • <your domain> is your company or project in Atlassian URL
  • <your login> is your Atlassian login
  • <your API key> is your API key

The following ticket attributes are automatically mapped to the requirement system attributes:

Field ID Type Description
Page ID Text mapped to requirement ID
Page Title Text mapped to requirement Title
Page Content Text mapped to requirement Text
Page Version Number mapped to requirement Version

Example

The syntax is for example as follow.

url: https://confluence.atlassian.com/doc/confluence-data-center-and-server-documentation-135922.html

Jira reader

Atlassian Jira Software is a suite of agile work management solutions that powers collaboration across all teams from concept to customer, empowering you to do the best work of your life, together. Jira offers several products and deployment options that are purpose-built for Software, IT, Business, Ops teams, and more. The .jira file format is a text file that defines the connection properties to your custom query.

Format Track Change Page Number Heading Number Table cell Style filter
Jira connection file (.jira) NO NO NO NO NO

Main use case

To retrieve the list of ticket as requirements, you have to:

  1. Go to the ticket list of your Jira project
  2. Clic on JQL then define your filters, your sort options and launch the query.
  3. Copy the full URL from the browser address bar. Its format something like: https://<domain>/..../issues/?jql=project%20%3D%20%22....
  4. Create a new connection file (e.g. with Notepad) and create a first line to define the value of url:, e.g. url: https://<domain>/..../issues/?jql=project%20%3D%20%22...
  5. Go to the API token management of your Atlassian account to create an API token
  6. Add new line in the connection file to define your Jira login login: <your login>
  7. Add new line in the connection file to define your Jira APi key pass: <your API key>
  8. Save the text connection file with the .jira extension, e.g. tickets.jira
  9. Go to Data Sources tab > Add File button and select your connection file.
  10. In the list Statement retrieval from:, select Database
  11. Run your project and check that the tickets are correctly imported

Note

Saved issue list are supported as well. Go to the issue management of your projects : https://<domain>/issues, create and save a predefined issue list.

File format

The syntax is for example as follow. The fieldMapping value are optional.

url: https://<your domain>/[jira/software/projects/<your project>/]issues/?jql=<your JQL>
[login: <your login>]
[pass: <your API key>]
[limit: <maximum number of ticket to retrieve ; default is 2000>]
[fieldMapping:
  - from: <field id>
    to: <REQCHECKER custom field>
  ...
]

Where:

  • [ ] means the item is facultative
  • <your domain> is your company or project in Atlassian URL
  • <your project> is your project ID
  • <your JQL> is your custom query copied from the Internet browser address
  • <your login> is your Atlassian login
  • <your API key> is your API key
  • <field id> is a field ID (see below)
  • <REQCHECKER custom field> is an associated to a custom field that presents the Jira custom field. The custom field is autmatically created.

Note

The query can be tested if you paste it in the URL bar of your browser. This is a way to test that there is no error in your connection file.

The following ticket attributes are automatically mapped to the requirement system attributes:

Field ID Type Description
key Text mapped to requirement ID
summary Text mapped to requirement Title
description Text mapped to requirement Text
updateDate Time mapped to requirement Version with format YYMMDD.hhmm
issue link URL mapped to requirement position

The following ticket attributes can be mapped to custom fields.

Field ID Type Description
status Text Ticket status
priority Text Ticket priority
assignee Text Name of assignee
creator Text Name of creator
duedate Date Ticket Due date
issuetype Text Ticket type
project Text Project name
updated Date Task spent hours

Example

The syntax is for example as follow.

url: https://issues.apache.org/jira/browse/LOGGING-180?jql=project%20%3D%20LOGGING%20AND%20resolution%20%3D%20Unresolved%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC
fieldMapping:
  - from: status
    to: TICKET_STATUS
  - from: updated
    to: UPDATED

Redmine reader

Redmine is an open-source flexible project management web application. It can be used to record tickets defining the need for a software or system change. The tickets are then similar to requirements or requirement groups. This reader extracts the tickets from a Redmine custom query and import them as requirements. The .redmine file format is a text file that defines the connection properties to your custom query.

Format Track Change Page Number Heading Number Table cell Style filter
Redmine connection file (.redmine) NO NO NO NO NO

Main use case

To retrieve the list of ticket as requirements, you have to:

  1. Go to the Issues tag of the Redmine project
  2. Define your filters and sort options
  3. Save the custom query. Its name does not matter.
  4. Create a new text file (e.g. with Notepad) and write query=
  5. Copy the value of the query in the URL bar of your browser.
  6. Paste the value of the URL in the text file. The result looks like query=http://myredmine/projects/myproject/issues?query_id=1
  7. If your Redmine project is not public, add your login and password in the query definition. The result looks like query=http://login:password@myredmine/projects/myproject/issues?query_id=1
  8. Save the text file with the .redmine extension, e.g. myprojectquery.redmine
  9. Add this file in your Reqchecker project in Data Sources tab > Add File button.
  10. In the list Statement retrieval from:, select Database
  11. Run your project and check that the tickets are correctly imported

Warning

If your Redmine project is not public, you must check that REST API is enabled: go to Redmine Administration > Settings > API > Enable REST API.

File format

The syntax is

query: HTTP://LOGIN:PASS@SERVER:PORT/projects/PROJECTID/issues?query_id=QUERYID
field:
  - from: REDMINE_FIELD_ID
    to: REQUIREMENT_ATTRIBUTE
  - from: ...
    to: ...

Where:

  • HTTP is either HTTP or HTTPS
  • LOGIN:PASS@ (facultative for public projects) is a text that defines the user login and the user password, or the API key.
  • SERVER is the IP or DNS name of the server
  • PORT (facultative if 80) is the port
  • PROJECTID is the Redmine project identifier defined in the project page > Settings > Project > Identifier.
  • QUERYID is the query number (integer) that is visible at the end of the URL in the browser
  • REDMINE_FIELD_ID is a system or custom field ID in Redmine
  • REQUIREMENT_ATTRIBUTE is the name of the target requirement attribute

Note

The query can be tested if you paste it in the URL bar of your browser. This is a way to test that there is no error in your Redmine file.

The following information are automatically mapped to the requirement system attributes:

Field ID Type Description
id Text mapped to requirement ID
subject Text mapped to requirement Title
description Text mapped to requirement Text
journal size Integer mapped to requirement Version
issue link URL mapped to requirement position

List of system field IDs

The following field IDs can be used as "from" values to be mapped as requirement attribute.

Field ID Type Description
startDate Date Start date
dueDate Date End date
createdOn Date Creation date
updatedOn Date last update date
doneRatio Integer Progress rate percentage
parentId Integer ID of parent issue
estimatedHours Float Task estimated hours
spentHours Float Task spent hours
assigneeName String name of assignee
priorityText Text Priority (text value)
projectName Text project name
authorName Text name of author
tracker Text tracker name
closedOn Date issue closed on date
statusName Text status (text value)
targetVersion Text target version
issueCategory Text category
privateIssue Boolean issue is private

Examples

The following are examples of the contents of Redmine data import files (file with .redmine extension).

Connection without login and with some mapping

query: https://www.redmine.org/projects/redmine/issues?query_id=84
field:
  - from: estimatedHours
    to: HOURS
  - from: dueDate
    to: DUE DATE
  - from: Resolution
    to: Resolution
  - from: authorName
    to: AUTHOR
  - from: issueCategory
    to: CATEGORY
  - from: priorityText
    to: PRIORITY
  - from: tracker
    to: TRACKER
  - from: projectName
    to: PROJECT
  - from: statusName
    to: STATUS
  - from: parentId
    to: PARENT

Connection with login and password

query=http://johndoe:apassword@myredmine/projects/myproject/issues?query_id=2

Connection with API key

To avoid writing your password in a project file that is shared with other users, you can identify yourself with your API key. In Redmine, go to My Account, on the right pane click on API access key > Show and copy the value. The result is something likea89987536fcd37d69ed887ec80adda144b48d329.

query=http://a89987536fcd37d69ed887ec80adda144b48d329@myredmine/projects/myproject/issues?query_id=2

Source Code

This plugin reads the statements and/or coverage in the source code comments.

Main use case

It allows requirements or user stories to be covered directly in the software source code, which is required to comply with certain non-rules such as the DO-178C LEVEL C.

For example:

/*
 * Security management
 * This class manages ...
 * <<REQ_SEC_02>>
 */

File format

Language File extension
C/C++ source code .cpp .hpp .c .h .inc
Java source code .java
JavaScript source code .js
C# source code .cs
XML file .xml
Python source file .py .pyw
Windows batch script .bat
Linux shell script .sh
Kotlin source file .kt
Groovy source file .groovy .gvy .gy .gsh
PHP source file, two single line markers .php
TypeScript source file .ts
YAML source file .yaml .yml
Objective-C source file .mm .m
ASP (Active Server Pages) source file .asp
Swift source file .swift