Data gatherer

This schema specifies some basic data types used across the data acquisition component.

Data gathering schema export file mapping

https://gros.liacs.nl/schema/data-gathering/exports.json

exports

exports

type

object

patternProperties

  • ^.+\.json$

oneOf

Filename of export data file that is valid according to the schema specification.

export

type

object

patternProperties

  • ^.+$

Filename of export data file that is valid according to the referenced definition in the schema specification.

export

export

type

string

pattern

^[^/]+\.json$

Data gathering utilities

https://gros.liacs.nl/schema/data-gathering/utils.json

datetime

boolean

type

string

enum

0, 1

jira_boolean

type

string

enum

-1, 1

positive_integer

type

string

pattern

^[0-9]{1,9}$

integer

type

string

pattern

^-?[0-9]{1,9}$

positive_float

type

string

pattern

^[0-9]+(\.[0-9]+)?$

float

type

string

pattern

^-?[0-9]+(\.[0-9]+)?$

datetime

type

string

pattern

^[1-9][0-9][0-9][0-9]-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]) [0-9][0-9]:[0-9][0-9]:[0-9][0-9]$

developer

type

string

maxLength

64

repo_name

type

string

maxLength

1000

jira_project

type

string

maxLength

20

pattern

^[A-Z]+$

jira_issue

type

string

maxLength

20

pattern

^[A-Z]+-[0-9]+$

version

type

string

maxLength

100

pattern

^[a-f0-9]+$

bufferable

anyOf

not

type

object / array / integer

type

integer

maximum

9223372036854775807

minimum

-9223372036854775808

Data gathering controller

These schemas specify formats of the controller API involved in the data acquisition component. The OpenAPI specification for the data gathering controller API makes use of these schemas.

Controller accessible projects response

https://gros.liacs.nl/schema/data-gathering/controller/access.json

access

access

type

array

items

Project key that is relevant to the origin of the request. With *, no specific origin is indicated.

type

string

oneOf

const

jira_project

Controller agent secrets response

https://gros.liacs.nl/schema/data-gathering/controller/agent.json

secrets

secrets

type

object

properties

  • salts

Encryption keys for the project that the agent retrieves.

type

object

properties

  • salt

type

string

  • pepper

type

string

  • usernames

Mappings of prefixes and patterns/replacements of username parts which are to be replaced by the agent prior to encryption when collecting data for the project.

type

array

items

link_pattern

Controller encrypt response

https://gros.liacs.nl/schema/data-gathering/controller/encrypt.json

encrypt

encrypt

type

object

properties

  • value

Encrypted variant of the provided value.

type

string

pattern

^[a-f0-9]+$

  • encryption

The encryption level of the encrypted value. 1 means project-level encryption, 2 means global encryption.

type

integer

enum

1, 2

Controller export request agent fields

https://gros.liacs.nl/schema/data-gathering/controller/export.json

agent

agent

type

object

properties

  • key

Identifier of the project that the agent has retrieved data for. An empty string or - indicates that the agent is not fully configured.

type

string

oneOf

enum

, -

jira_project

  • user

Username used by the agent to log in to the controller via SSH. This may start with agent- after which a project name follows, or another valid Unix username.

type

string

  • hostname

Hostname of the agent.

type

string

format

hostname

  • version

Version identifiers of components of the agent. Each component-version pair is separated from others by spaces, and the component and version themselves are separated by slashes.

type

string

files

type

object

properties

  • export

Names of data files exported by the agent.

oneOf

type

array

items

type

string

type

null

  • update

Names of update tracker files exported by the agent.

oneOf

type

array

items

type

string

type

null

  • other

Names of auxiliary files, such as logs, exported by the agent.

oneOf

type

array

items

type

string

type

null

Controller log request body fields

https://gros.liacs.nl/schema/data-gathering/controller/log.json

log

log

type

object

properties

  • args

Arguments provided for the log message.

type

string

oneOf

pattern

^\\(.*\\)$

pattern

^{.+}$

const

None

  • asctime

Time when the log record was created.

type

string

pattern

^\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d,\d\d\d$

  • created

Time when the log record was created.

type

number

  • exc_info

Exception information.

type

string

oneOf

pattern

^\\(.+\\)$

const

None

  • exc_text

Exception message.

type

string

  • filename

Name of the source file where the log was issued.

type

string

  • funcName

Name of the function containing the log issue.

type

string

  • levelname

Textual logging level for the log message.

type

string

oneOf

enum

CRITICAL, ERROR, WARNING, INFO, DEBUG, NOTSET

pattern

^Level .+$

  • levelno

Numeric logging level for the log message.

type

integer

  • lineno

Source line number where the log was issued.

type

integer

  • message

Log message.

type

string

  • module

Module where the log was issued.

type

string

  • msecs

Millisecond portion of the time when the log was created.

type

number

  • msg

Format string for the log message.

type

string

  • name

Name of the logger used to log the message.

type

string

  • pathname

Full path name of the source file where the log was issued.

type

string

  • process

Identifier of the process where the log was issued.

oneOf

type

integer

type

string

const

None

  • processName

Name of the process where the log was issued. This is None if multiprocessing logging is unavailable and MainProcess if there is only one process.

type

string

  • relativeCreated

Time in milliseconds when the log was created, relative to the time the logging module was loaded.

type

number

  • stack_info

Stack frame information from the bottom of the stack in the thread, up to and including the stack frame of the log creation.

type

string

  • thread

Identifier of the thread where the log was issued.

oneOf

type

integer

type

string

const

None

  • threadName

Name of the thread where the log was issued.

type

string

Controller status response

https://gros.liacs.nl/schema/data-gathering/controller/status.json

controller_status

controller_status

type

object

patternProperties

  • .+

type

object

properties

  • ok

Whether the controller component is available.

type

boolean

  • message

Description of the status of the controller component.

type

string

Controller version update check response

https://gros.liacs.nl/schema/data-gathering/controller/version.json

Controller version

Controller version

type

object

properties

  • up_to_date

Whether the version of the agent is up to date.

type

boolean

  • version

Version of the controller.

type

string

Data gathering scraper

These schemas specify formats of the scraper agent web API involved in the data acquisition component. The OpenAPI specification for the data gathering scraper agent API makes use of these schemas.

Data gathering scraper scrape response

https://gros.liacs.nl/schema/data-gathering/scraper/scrape.json

oneOf

scrape_ok

scrape_error

scrape_ok

type

object

properties

  • ok

Whether the scrape is successfully started.

type

boolean

const

True

scrape_error

type

object

properties

  • ok

Indication that the scrape did not successfully start.

type

boolean

const

False

  • error

Information about the error during the attempt to start the scrape, if there was one.

type

object

properties

  • status

HTTP status line for the error.

type

string

pattern

^\d\d\d \w+$

  • message

Description of the error.

type

string

  • traceback

Python traceback lines of locations in source code where the error took place, if tracebacks are shown.

oneOf

type

null

type

string

  • version

Version numbers of components involved in the scrape attempt, if it failed to start.

type

object

properties

  • gros-data-gathering-agent

Version number of the data gathering agent module.

type

string

  • cherrypy

Version number of the CherryPy server module.

type

string

Data gathering scraper status response

https://gros.liacs.nl/schema/data-gathering/scraper/status.json

Scraper status

Scraper status

type

object

properties

  • ok

Whether the status of the scraper is good.

type

boolean

  • message

Description of the status.

type

string

Data gathering formats

These schemas specify formats of data acquired from various data sources, which are made available for importing into a database.

BigBoat statuses

https://gros.liacs.nl/schema/data-gathering/bigboat/status.json

bigboat_statuses

bigboat_statuses

type

array

items

bigboat_status_measurement

bigboat_status_measurement

A measurement of a BigBoat status metric.

type

object

properties

  • name

Name of the health status metric.

type

string

maxLength

100

  • checked_time

Moment when the health status was measured.

datetime

  • ok

Whether the health status is considered good, and does not impact the performance of the BigBoat dashboard.

type

boolean

  • value

Value of the health status metric. This is null if there is no numeric value for the metric or it is unknown.

oneOf

type

number

type

null

  • max

Maximum reachable value of the health status metric. This is null if there is no numeric maximum for the metric or it is unknown.

oneOf

type

number

type

null

Jenkins statistics

https://gros.liacs.nl/schema/data-gathering/jenkins/statistics.json

stats

stats

type

object

properties

  • host

Base URL of the Jenkins instance.

type

string

maxLength

255

format

uri

  • jobs

Number of jobs configured on the instance.

type

integer

maximum

2147483647

minimum

0

  • views

Number of views configured on the instance.

type

integer

maximum

2147483647

minimum

0

  • nodes

Number of computation nodes configured to accept jobs for the instance.

type

integer

maximum

2147483647

minimum

0

additionalProperties

bufferable

Jira comments

https://gros.liacs.nl/schema/data-gathering/jira/comments.json

comments

comments

type

array

items

comment

comment

A Jira comment.

type

object

properties

  • id

Internal identifier of the comment.

positive_integer

  • issue_id

Internal identifier of the issue that is commented on.

positive_integer

  • comment

Jira-specific syntax-based body of the comment.

type

string

  • author

Account name of the developer who made the comment.

developer

  • created_at

Moment when the comment is created.

datetime

  • updater

Account name of the developer who changed the comment most recently.

developer

  • updated_at

Moment when the comment is changed most recently.

datetime

additionalProperties

bufferable

Jira components

https://gros.liacs.nl/schema/data-gathering/jira/component.json

jira_components

jira_components

type

array

items

jira_component

jira_component

A Jira component.

type

object

properties

  • id

Internal identifier of the component.

positive_integer

  • name

Name of the component.

type

string

maxLength

100

  • description

Description of the component. This is 0 when the component has no description.

type

string

maxLength

500

additionalProperties

bufferable

Jira developers

https://gros.liacs.nl/schema/data-gathering/jira/developer.json

developers

developers

type

array

items

jira_developer

jira_developer

A user within Jira.

type

object

properties

  • name

Account name of the developer.

developer

  • display_name

Full name of the developer.

type

string

maxLength

100

  • email

Email address of the developer.

type

string

maxLength

100

format

email

additionalProperties

bufferable

Jira field mapping

https://gros.liacs.nl/schema/data-gathering/jira/fields.json

jira_fields

jira_fields

type

object

patternProperties

  • .+

type

object

properties

  • type

Type of the field in order to parse it to a common format.

oneOf

Jira field type

type

array

items

Jira field type

  • special_parser

Parser for a complicated field.

type

string

enum

comment, components, issuelinks, subtasks

  • field

Name of the field as a secondary field within Jira.

type

string

  • fields

Mapping of the exported names for subfield and the properties within Jira.

type

object

patternProperties

  • .+

type

string

  • changelog_name

Name of the field from a specific change within Jira.

type

string

  • changelog_primary

Name of the field from a changelog within Jira.

type

string

  • property

If provided, the property name to use within the field.

type

string

  • primary

Name of the field as a primary field within Jira.

type

string

  • table

Name of the table to export the auxiliary data to, or a table specification with property names and types for the properties.

Jira table specification

  • table_options

Options for the table where the auxiliary data is stored in.

type

object

properties

  • merge_update

Whether to keep existing data.

type

boolean

  • encrypt_fields

Subfields to encrypt the values of.

type

array

items

type

string

Jira table specification

oneOf

type

string

type

object

patternProperties

  • .+

Jira field type

Jira field type

type

string

enum

int, identifier, str, boolean, date, unicode, sprint, developer, decimal, id_list, version, rank, issue_key, flag, ready_status, labels, project, status_category

Jira issues

https://gros.liacs.nl/schema/data-gathering/jira/issue.json

issues

issues

type

array

items

issue

issue

Fields from a version of a Jira issue.

type

object

properties

  • issue_id

Internal identifier of the issue.

positive_integer

  • changelog_id

Sequential number of the version of the issue.

positive_integer

  • key

Identifier of the issue.

jira_issue

  • issuetype

Identifier of the type of the issue.

positive_integer

  • priority

Identifier of the priority of the issue.

positive_integer

  • resolution

Identifier of the resolution of the issue.

positive_integer

  • fixVersions

Identifier of the first version in which the resolved issue is included.

positive_integer

  • versions

Identifier of the first affected version in which the issue is confirmed.

positive_integer

  • bugfix

Whether the issue is a bug fix.

jira_boolean

  • approved

Whether the issue is approved by the team.

jira_boolean

  • approved_by_po

Whether the issue is approved by the Product Owner.

jira_boolean

  • watchers

Number of developers who follow updates of the issue.

positive_integer

  • created

Moment when the issue is created.

datetime

  • updated

Moment when the issue was changed for this version.

datetime

  • description

Jira-specific syntax-based description of the issue.

type

string

  • duedate

Day when the issue is targeted to be completed.

type

string

oneOf

format

date

const

0

  • project

Project key of the project that the issue is in during this version.

jira_project

  • status

Identifier of the status of the issue.

positive_integer

  • reporter

Account name of the developer who created or reported the issue.

developer

  • assignee

Account name of the developer who is assigned to resolve the issue.

developer

  • additional_information

Jira-specific syntax-based information description.

type

string

  • review_comments

Jira-specific syntax-based review description.

type

string

  • storypoint

Number of points assigned to an issue based on developer assessment of difficulty.

positive_float

  • resolution_date

Moment when the issue is marked as resolved.

datetime

  • sprint

Identifier of the first sprint that the issue is worked in.

positive_integer

  • updated_by

Name of the developer who made the change to the issue for this version.

developer

  • title

Summary of the issue.

type

string

  • attachment

Number of files uploaded as attachments to the issue.

positive_integer

  • rank_change

Whether the issue was moved higer or lower on the backlog during this version. -1 means ranked lower, 0 means no change, and 1 means ranked higher.

type

string

enum

-1, 0, 1

  • environment

Name of the environment that is affected by the issue.

type

string

  • epic

Key of an issue that acts as the epic, with more links to related issues. This is 0 if there is no related epic.

type

string

oneOf

jira_issue

const

0

  • flagged

Whether the issue is marked as being blocked by an impediment. This is 0 if no flag is used, and 1 if the issue is flagged.

boolean

  • ready_status

Identifier of the ready status of the issue.

positive_integer

  • ready_status_reason

Description of the reason why the issue has the ready status.

type

string

  • labels

Number of labels provided to the issue.

positive_integer

  • external_project

Project key of the project that the issue is created for, when it is created on a support team board.

jira_project

  • expected_ltcs

Number of logical test cases that are needed to sufficiently test the implementation of the issue’s solution.

positive_integer

  • expected_phtcs

Number of physical test cases that are needed to sufficiently test the implementation of the issue’s solution.

positive_integer

  • test_given

Description of a Given part of the test model for the test case.

type

string

  • test_when

Description of a When part of the test model for the test case.

type

string

  • test_then

Description of a Then part of the test model for the test case.

type

string

  • test_execution

Identifier of the test execution model for the issue.

positive_integer

  • test_execution_time

Units of time that the test execution for the issue takes.

positive_integer

  • encryption

Whether the personal information fields related to the reporter, assignee and updater are encrypted.

boolean

additionalProperties

bufferable

Jira issue components

https://gros.liacs.nl/schema/data-gathering/jira/issue_component.json

issue_components

issue_components

type

array

items

issue_component

issue_component

Component of a Jira issue.

type

object

properties

  • issue_id

Internal identifier of the issue.

positive_integer

  • component_id

Internal identifier of the component.

positive_integer

  • start_date

Moment when the component was added to the issue. This is 0 when the component was added when the issue was created.

type

string

oneOf

datetime

const

0

  • end_date

Moment when the component was removed from the issue. This is 0 when the component is still related to the issue.

type

string

oneOf

datetime

const

0

additionalProperties

bufferable

Jira issue types

https://gros.liacs.nl/schema/data-gathering/jira/issuetype.json

issuetypes

issuetypes

type

array

items

issuetype

issuetype

Type of Jira issue.

type

object

properties

  • id

Internal identifier of the issue type.

positive_integer

  • name

Name of the issue type.

type

string

maxLength

100

  • description

Description of the issue type.

type

string

maxLength

500

additionalProperties

bufferable

Jira priorities

https://gros.liacs.nl/schema/data-gathering/jira/priority.json

priorities

priorities

type

array

items

priority

priority

Priority of Jira issue.

type

object

properties

  • id

Internal identifier of the priority.

positive_integer

  • name

Name of the priority.

type

string

maxLength

100

additionalProperties

bufferable

Jira ready statuses

https://gros.liacs.nl/schema/data-gathering/jira/ready_status.json

ready_statuses

ready_statuses

type

array

items

ready_status

ready_status

Ready status of Jira issue.

type

object

properties

  • id

Internal identifier of the ready status.

positive_integer

  • name

Name of the ready status.

type

string

maxLength

100

additionalProperties

bufferable

Jira resolutions

https://gros.liacs.nl/schema/data-gathering/jira/resolution.json

resolutions

resolutions

type

array

items

resolution

resolution

Resolution of Jira issue.

type

object

properties

  • id

Internal identifier of the resolution.

positive_integer

  • name

Name of the resolution.

type

string

maxLength

100

  • description

Description of the resolution.

type

string

maxLength

500

additionalProperties

bufferable

Jira sprints

https://gros.liacs.nl/schema/data-gathering/jira/sprint.json

jira_sprints

jira_sprints

type

array

items

jira_sprint

jira_sprint

A Jira sprint.

type

object

properties

  • id

Internal identifier of the sprint.

positive_integer

  • name

Name of the sprint.

type

string

maxLength

500

  • start_date

Moment when the sprint starts.

datetime

  • end_date

Moment when the sprint ends.

datetime

  • complete_date

Moment when the sprint is completed, with all issues that are in the sprint resolved.

datetime

  • goal

Description of the primary goal of the sprint.

type

string

maxLength

500

  • board_id

Identifier of the board which contains the sprint.

positive_integer

additionalProperties

bufferable

Jira statuses

https://gros.liacs.nl/schema/data-gathering/jira/status.json

statuses

statuses

type

array

items

status

status

Status of a Jira issue.

type

object

properties

  • id

Internal identifier of the status.

positive_integer

  • name

Name of the status.

type

string

maxLength

100

  • description

Description of the status.

type

string

maxLength

500

  • statusCategory

Identifier of the category to which the status belongs.

type

integer

minimum

0

additionalProperties

bufferable

Jira status categories

https://gros.liacs.nl/schema/data-gathering/jira/status_category.json

status_categories

status_categories

type

array

items

status_category

status_category

Category of a status of a Jira issue.

type

object

properties

  • id

Internal identifier of the status category.

type

integer

minimum

0

  • key

Class name of the status category.

type

string

maxLength

32

  • name

Name of the status category.

type

string

maxLength

100

  • color

Name of a color representing the status category.

type

string

maxLength

32

additionalProperties

bufferable

Jira test execution methods

https://gros.liacs.nl/schema/data-gathering/jira/test_execution.json

test_executions

test_executions

type

array

items

test_execution

test_execution

Test execution method of a Jira issue.

type

object

properties

  • id

Internal identifier of the test execution method.

positive_integer

  • value

Name of the test execution method state.

type

string

maxLength

100

additionalProperties

bufferable

Jira fix versions

https://gros.liacs.nl/schema/data-gathering/jira/version.json

fix_versions

fix_versions

type

array

items

fix_version

fix_version

A release version in Jira.

type

object

properties

  • id

Internal identifier of the version.

positive_integer

  • name

Name of the version.

type

string

maxLength

100

  • description

Description of the version.

type

string

maxLength

500

default

  • start_date

Day when the first changes to the version are made. This is 0 if the start date is not known.

type

string

default

0

oneOf

format

date

const

0

  • release_date

Day when the version is (planned to be) released. This is 0 if the release date is not known.

type

string

oneOf

format

date

const

0

  • released

Whether the version has been released.

jira_boolean

additionalProperties

bufferable

LDAP group members

https://gros.liacs.nl/schema/data-gathering/ldap/members.json

ldap

ldap

type

array

items

ldap_developer

ldap_developer

type

object

properties

  • name

LDAP account name of the developer.

developer

  • display_name

Name of the developer.

type

string

maxLength

100

  • email

Email address of the developer.

type

string

maxLength

100

format

email

additionalProperties

bufferable

Project source environments

https://gros.liacs.nl/schema/data-gathering/project/environments.json

environments

environments

type

array

items

source_environment

source_environment

type

object

properties

  • type

Type of the environment based on the sources that live in the environment.

type

string

enum

controller, git, github, gitlab, subversion, tfs, metric_history, metric_options, quality-time, sonar, jenkins, jira

  • url

Representative URL for the environment where the sources can be seen, if available.

oneOf

type

string

maxLength

255

format

url

type

null

  • environment

Identifier of the environment.

type

string

maxLength

500

  • version

Version of the system that the sources within the environment run on.

type

string

maxLength

32

default

additionalProperties

bufferable

Project metadata

https://gros.liacs.nl/schema/data-gathering/project/metadata.json

project_metadata

project_metadata

type

object

properties

  • jira_key

Identifier of the project as used in the issue tracker.

type

string

  • jira_name

Name of the project as used in the issue tracker. May be the same as jira_key.

type

string

maxLength

100

  • github_team

Name of the team in the GitHub source of the project.

type

string

maxLength

100

  • gitlab_group_name

Name of the group in the GitLab source of the project.

type

string

maxLength

100

  • tfs_collection

Name of the collection in the TFS source of the project.

type

string

  • quality_name

Name of the project used as an identifier at the quality metrics project definition source.

type

string

maxLength

100

  • quality_display_name

Human-readable name of the project retrieved from the quality metrics project definition source.

type

string

maxLength

100

  • main_project

Main project for this subproject, if the project has a known hierarchical relation with another, encompassing project.

type

string / null

maxLength

100

default

null

  • is_support_team

Whether the project is maintained by a team as a means of support for other projects.

type

boolean

default

False

additionalProperties

bufferable

Project sources

https://gros.liacs.nl/schema/data-gathering/project/sources.json

quality_project_sources

quality_project_sources

type

array

items

source

source

type

object

properties

  • type

source_type

  • name

Name of the source.

repo_name

  • url

URL of the source.

type

string

maxLength

255

format

uri

  • github_team

Name of the team in the GitHub source.

type

string

additionalProperties

bufferable

source_type

Type of the source.

type

string

enum

controller, git, github, gitlab, subversion, tfs, tfvc, history, compact-history, metric_history, metric_options, quality-time, sonar, jenkins, jira

Project source IDs

https://gros.liacs.nl/schema/data-gathering/project/source_ids.json

quality_project_source_ids

quality_project_source_ids

type

array

items

source_id

source_id

type

object

properties

  • domain_name

Name of the source or the domain object for which an identifier exists.

type

string

maxLength

100

  • url

URL of the source without identifiers.

type

string

maxLength

255

format

uri

  • source_id

Identifier of the domain object at the source.

type

string

  • source_type

source_type

  • domain_type

Type of the domain object.

type

string

maxLength

32

additionalProperties

bufferable

Quality metrics default targets

https://gros.liacs.nl/schema/data-gathering/quality/metric_defaults.json

metric_defaults

metric_defaults

type

array

items

target

target

A default target for a metric, potentially for a specific version of a global definition such as the source code of the project deifinition system or overridable quality control settings.

type

object

properties

  • base_name

Class name of the metric.

name

  • version_id

Version in which the default target was set.

type

string

oneOf

version

format

date-time

  • commit_date

Moment when the default target was set.

datetime

  • direction

The direction in which the metric value should improve in order to become better. -1 means a lower value is better, 1 means a higher value is better.

type

string

enum

-1, 1

  • perfect_value

Target value where the metric cannot be improved further.

float

  • target_value

Target value where the metric is good when the value is equal or better than this target.

float

  • low_target_value

Target value where the metric is not good when it is worse than the target value, but better than this low target, and thus not yet critical.

float

  • scale

scale

additionalProperties

bufferable

Quality control metrics names

https://gros.liacs.nl/schema/data-gathering/quality/metric_names.json

metric_names

metric_names

type

object

patternProperties

  • .+

oneOf

metric_name_data

type

null

metric_name_data

type

object

properties

  • scale

scale

allOf

metric_name

metric_name

type

object

properties

  • base_name

Class name of the metric.

name

  • domain_name

Domain name of the measured object.

name

  • domain_type

Type of the measured object.

type

string

maxLength

32

name

type

string

maxLength

100

pattern

^[A-Za-z0-9]+$

scale

Scale of the measured object.

  • count: The measurement happens by counting items.

  • percentage: The measurement leads to a fraction of items compared to its total.

  • version_number: The measurement provides a software version.

  • duration: The measurement indicates a duration of time, in minutes.

  • rating: The measurement is a rating from 1 to 5 where lower is better.

type

string

enum

count, percentage, version_number, duration, rating

Quality control metric targets

https://gros.liacs.nl/schema/data-gathering/quality/metric_targets.json

quality_metric_targets

quality_metric_targets

type

array

items

quality_metric_target

quality_metric_target

type

object

properties

  • name

Name of the metric.

name

  • target

Target of the metric.

type

string

oneOf

float

const

  • low_target

Low target of the metric.

type

string

oneOf

float

const

  • comment

Reason for adjustment of the metric targets.

type

string

  • revision

Identifier of the version in which the change to the metric targets was made.

type

string

oneOf

version

format

date-time

  • default

Whether the target is unchanged compared to the default target.

default

0

boolean

  • debt_target

Target to reach while technical debt is being worked on.

type

string

oneOf

float

const

  • direction

The direction in which the metric value should improve in order to become better. -1 means a lower value is better, 1 means a higher value is better.

type

string

enum

-1, 1

additionalProperties

bufferable

anyOf

metric_name_data

Quality control metric target versions

https://gros.liacs.nl/schema/data-gathering/quality/metric_versions.json

metric_versions

metric_versions

type

array

items

metric_version

metric_version

type

object

properties

  • message

Commit message of the version.

type

string

  • developer

Name of the developer who made the version of the metrics.

developer

  • version_id

Identifier of the version, either a hexadecimal SHA hash, an incremental version number or a timestamp formatted in ISO 8601 with timezone.

type

string

oneOf

version

format

date-time

  • commit_date

Moment when the version was committed.

datetime

additionalProperties

bufferable

Quality control metric values

https://gros.liacs.nl/schema/data-gathering/quality/metrics.json

metrics

metrics

type

array

items

metric_value

metric_value

type

object

properties

  • name

Amalgamated name of the metric.

name

  • value

Value of the metric. This is -1 when there was no measurement at that moment.

float

  • category

Severity category of the metric.

type

string

maxLength

100

  • date

Moment when the metric was measured.

datetime

  • since_date

Moment when the metric had the same value such that it has been unchanged until now.

datetime

additionalProperties

bufferable

anyOf

metric_name

Quality control update tracker

https://gros.liacs.nl/schema/data-gathering/quality/update.json

quality_update

quality_update

type

object

properties

  • sources

quality_project_sources

  • versions

type

object

patternProperties

  • .+

Most recently collected version of the source.

version

metric_options_update

properties

  • targets

Metric targets from most recently collected version of each source. This is used for comparing changes to the targets. Each metric target has a unique metric name as key.

type

object

patternProperties

  • .+

quality_metric_target

allOf

quality_update

project_sources_update

properties

  • targets

type

null

allOf

quality_update

project_meta_update

properties

  • targets

type

null

allOf

quality_update

measurements_update

quality_update

Seat count configuration

https://gros.liacs.nl/schema/data-gathering/seats/config.json

seats_config

seats_config

type

object

properties

  • sheet

Worksheet name within XLS/XLSX workbook containing seat counts.

type

string

  • filename

Template for filenames with XLS/XLSX workbook, using strptime format codes for the file’s valid time range.

type

string

  • projects

Project names and the project keys that they represent.

type

object

patternProperties

  • .+

oneOf

jira_project

type

array

items

jira_project

  • prefixes

Prefixes to remove from names in first worksheet column, in order to obtain a project name.

type

array

items

type

string

  • ignore

Names in first worksheet column that indicate that it and remaining rows contain no further information.

type

array

items

type

string

Seat counts

https://gros.liacs.nl/schema/data-gathering/seats/counts.json

seats_counts

seats_counts

type

array

items

seat_count

seat_count

type

object

properties

  • month

Month in which the seat count applies.

type

string

pattern

^[1-9][0-9][0-9][0-9]-(0[1-9]|1[0-2])$

  • seats

Number of seats for the given month.

positive_integer

additionalProperties

bufferable

Seat count update tracker

https://gros.liacs.nl/schema/data-gathering/seats/update.json

seats_update

seats_update

type

array

items

Filename of the worksheet that was included in an update.

type

string

TFS developers

https://gros.liacs.nl/schema/data-gathering/tfs/developer.json

tfs_developers

tfs_developers

type

array

items

tfs_developer

tfs_developer

Auxiliary information about a TFS/VSTS/Azure DevOps developer.

type

object

properties

  • display_name

Name of the developer.

type

string

maxLength

100

  • email

Email address of the developer. This may also be an internal account name based on a Windows domain.

type

string

maxLength

100

  • encrypted

Whether the personal information of the developer is encrypted.

boolean

additionalProperties

bufferable

Azure DevOps field mapping

https://gros.liacs.nl/schema/data-gathering/tfs/fields.json

vsts_fields

vsts_fields

type

object

patternProperties

  • .+

type

object

properties

  • type

Type of the field in order to parse it to a common format.

type

string

enum

string, integer, timestamp, unicode, decimal, developer, tags

  • field

One or more field names which can be a source for the field.

oneOf

vsts_field

type

array

items

vsts_field

vsts_field

type

string

pattern

^[A-Za-z0-9.]+$

TFS sprints

https://gros.liacs.nl/schema/data-gathering/tfs/sprint.json

tfs_sprints

tfs_sprints

type

array

items

tfs_sprint

tfs_sprint

Auxiliary information about a TFS/VSTS/Azure DevOps sprint.

type

object

properties

  • repo_name

Name of the repository.

repo_name

  • team_name

Name of the team.

type

string

maxLength

100

  • sprint_name

Name of the sprint.

type

string

maxLength

100

  • start_date

Moment when the sprint starts.

datetime

  • end_date

Moment when the sprint ends.

datetime

additionalProperties

bufferable

TFS teams

https://gros.liacs.nl/schema/data-gathering/tfs/team.json

tfs_teams

tfs_teams

type

array

items

tfs_team

tfs_team

Auxiliary information about a TFS/VSTS/Azure DevOps team.

type

object

properties

  • repo_name

Name of the repository.

repo_name

  • team_name

Name of the team.

type

string

maxLength

100

  • description

Description of the team.

type

string

maxLength

500

additionalProperties

bufferable

TFS team members

https://gros.liacs.nl/schema/data-gathering/tfs/team_member.json

tfs_team_members

tfs_team_members

type

array

items

tfs_team_member

tfs_team_member

Auxiliary information about a TFS/VSTS/Azure DevOps team member.

type

object

properties

  • repo_name

Name of the repository.

repo_name

  • team_name

Name of the team.

type

string

maxLength

100

  • user

Name of the developer.

type

string

maxLength

100

  • username

Account name of the developer.

type

string

maxLength

100

  • encrypted

Whether the personal information of the developer is encrypted.

boolean

additionalProperties

bufferable

TFS update tracker

https://gros.liacs.nl/schema/data-gathering/tfs/tfs_update.json

tfs_update

tfs_update

type

object

patternProperties

  • .+

Moment when TFS/VSTS/Azure DevOps auxiliary data of the repository is most recently collected.

datetime

TFS work item versions

https://gros.liacs.nl/schema/data-gathering/tfs/work_item.json

tfs_work_items

tfs_work_items

type

array

items

tfs_work_item

tfs_work_item

Auxiliary information about a version of a TFS/VSTS/Azure DevOps work item.

type

object

properties

  • issue_id

Identifier of the work item.

positive_integer

  • changelog_id

Sequential number of the version of the work item.

positive_integer

  • status

Status of the work item.

type

string

maxLength

64

  • issuetype

Type of the work item.

type

string

maxLength

64

  • created_date

Momment when the work item is created.

datetime

  • reporter

Name of the developer who created the work item.

type

string

maxLength

100

  • assignee

Name of the developer who is assigned to resolve the work item.

type

string

maxLength

100

  • updated

Moment when the work item was changed for this version.

datetime

  • updated_by

Name of the developer who made the change to the work item for this version.

type

string

maxLength

100

  • title

Title of the work item.

type

string

  • description

HTML description of the work item.

type

string

  • labels

Number of tags given to the work item.

positive_integer

  • attachments

Number of files uploaded as attachments to the work item.

positive_integer

  • project_name

Name of the project that the work item is for.

type

string

maxLength

100

  • team_name

Name of the team that works on the work item.

type

string

maxLength

100

  • sprint_name

Name of the sprint that the work item is worked in.

type

string

maxLength

100

  • priority

Priority of the work item.

positive_integer

  • rank_change

Placement of the work item on the backlog.

positive_integer

  • additional_information

Acceptance criteria of the work item.

type

string

  • severity

Severity of the bug that the work item addresses.

type

string

  • impact

Impact of the work item.

positive_integer

  • business_value

Business value of the work item.

positive_integer

  • duedate

Moment when the work item is targeted to be completed.

datetime

  • story_points

Number of points assigned to a work item based on developer assessment of difficulty.

positive_float

  • topdesk_number

Reference to a TopDesk request related to the work item.

type

string

  • use_case

Reference to another work item describing a use case for the work item.

type

string

  • encrypted

Whether the personal information fields related to the reporter, assignee and updater are encrypted.

boolean

additionalProperties

bufferable

TopDesk room meeting reservations

https://gros.liacs.nl/schema/data-gathering/topdesk/reservations.json

reservations

reservations

type

array

items

reservation

reservation

type

object

properties

  • reservation_id

Identifier of the reservation.

type

string

maxLength

10

  • requester

Name of the person who requests the reservation.

type

string

maxLength

500

  • number_of_people

Number of people that the reservation encompasses.

positive_integer

  • description

Description of the meeting.

type

string

  • start_date

Moment when the reservation starts.

datetime

  • end_date

Moment when the reservation ends.

datetime

  • prepare_date

Moment when the reservation is booked to perform setup in the room. This is the same as start_date if no setup is required.

datetime

  • close_date

Moment when the reservation is booked to break down setup in the room. This is the same as end_date if no dismantling is required.

datetime

additionalProperties

bufferable

Version control system change paths

https://gros.liacs.nl/schema/data-gathering/vcs/change_path.json

change_paths

change_paths

type

array

items

change_path

change_path

A path that was changed in a version from a version control system, either a Subversion or Git commit.

type

object

properties

  • repo_name

Name of the repository.

repo_name

  • version_id

Identifier of the version, either a hexadecimal SHA hash or an incremental version number.

version

  • file

Path to the file as it is named after the change.

type

string

maxLength

1000

  • change_type

Type of change made to the file. This is M for Modified, A for Added, D for Deleted or R for Replaced.

type

string

enum

M, A, D, R

  • insertions

Number of lines added to the file.

positive_integer

  • deletions

Number of files removed from the file.

positive_integer

  • size

Size in bytes of the file or the change.

positive_integer

additionalProperties

bufferable

Version control review system commit comments

https://gros.liacs.nl/schema/data-gathering/vcs/commit_comment.json

commit_comments

commit_comments

type

array

items

commit_comment

commit_comment

type

object

properties

  • repo_name

Name of the repository.

repo_name

  • commit_id

Hexadecimal SHA hash of the commit.

version

  • merge_request_id

Identifier of a merge request that the commit relates to, where the commit comment may serve as a code review. This is 0 if there is no such commit comment.

positive_integer

  • thread_id

Identifier of the thread that the commit comment is made in. This is 0 if the system does not support commit comment threads.

positive_integer

  • note_id

Identifier of the commit comment. This is 0 if the system does not provide identifiers to commit comments.

positive_integer

  • parent_id

Identifier of the commit comment to which this comment is a reply. This is 0 if the system does not support replying to commit comments.

positive_integer

  • author

Name of the author of the commit comment. This can also be an account name.

type

string

maxLength

500

  • author_username

Account name of the author of the commit comment.

developer

  • comment

Contents of the commit comment.

type

string

  • file

Path to the file in the repository to which the commit comment was made. This is 0 if the comment was not made to a file.

type

string

maxLength

1000

  • line

Start line in the file to which the commit comment was made. This is 0 if the comment was not made to a line or range.

positive_integer

  • end_line

End line in the file to which the commit comment was made. This is 0 if the comment was not made to a range.

positive_integer

  • line_type

The type of line being discussed by the commit comment. This can be old, new or 0 if the commit comment does not belong to a particular line.

type

string

enum

old, new, 0

  • created_date

Moment when the commit comment is created.

datetime

  • updated_date

Moment when the commit comment is updated.

datetime

  • encrypted

Whether the personal information of the author is encrypted.

boolean

additionalProperties

bufferable

GitHub issues

https://gros.liacs.nl/schema/data-gathering/vcs/github_issue.json

github_issues

github_issues

type

array

items

github_issue

github_issue

An issue from a GitHub repository.

type

object

properties

  • repo_name

Name of the repository.

repo_name

  • id

Identifier of the issue.

positive_integer

  • title

Title of the issue.

type

string

  • description

Description of the issue.

type

string

  • status

State of the issue.

type

string

maxLength

100

  • author

Account name of the developer who made the issue.

developer

  • author_username

Account name of the developer who made the issue.

type

string

  • assignee

Account name of the developer who is assigned to review or resolve the issue. This is 0 if there is no assignee.

developer

  • assignee_username

Account name of the developer who is assigned to review or resolve the issue.

type

string

  • created_at

Moment when the issue was created.

datetime

  • updated_at

Moment when the issue was last updated.

datetime

  • pull_request_id

Identifier of a pull request that is related to the issue, as merging the completed pull request resolves the issue. This is 0 if no such link has been created yet for the issue.

positive_integer

  • labels

Number of labels that are added to the issue.

positive_integer

  • closed_at

Moment when the issue is closed. This is 0 if the issue is not yet closed.

oneOf

datetime

type

string

const

0

  • closed_by

Account name of the developer who closed the issue. This is 0 if the issue is not yet closed.

developer

  • encrypted

Whether the personal information fields regarding the author and assignee are encrypted.

boolean

additionalProperties

bufferable

GitHub issue notes

https://gros.liacs.nl/schema/data-gathering/vcs/github_issue_note.json

github_issue_notes

github_issue_notes

type

array

items

github_issue_note

github_issue_note

A note on an issue from a GitHub repository.

type

object

properties

  • repo_name

Name of the repository.

repo_name

  • note_id

Identifier of the note.

positive_integer

  • author

Account name of the author of the note.

developer

  • author_username

Account name of the author of the note.

type

string

  • comment

Contents of the note.

type

string

  • created_at

Moment when the note is created.

datetime

  • updated_at

Moment when the note is updated.

datetime

  • issue_id

Identifier of the issue.

positive_integer

  • encrypted

Whether the personal information of the author is encrypted.

boolean

additionalProperties

bufferable

GitHub repositories

https://gros.liacs.nl/schema/data-gathering/vcs/github_repo.json

github_repos

github_repos

type

array

items

github_repo

github_repo

Auxiliary information about a GitHub project repository.

type

object

properties

  • repo_name

Name of the repository.

repo_name

  • github_id

Internal identifier from GitHub for the repository.

positive_integer

  • description

Description of the repository. This is 0 if no description is filled in.

type

string

  • create_time

Moment when the repository was created.

datetime

  • private

Whether the repository is not visible publicly.

boolean

  • forked

Whether the repository was forked from another repository.

boolean

  • star_count

Number of people who gave the repository a star.

positive_integer

  • watch_count

Number of people who follow updates of the repository.

positive_integer

additionalProperties

bufferable

GitHub update tracker

https://gros.liacs.nl/schema/data-gathering/vcs/github_update.json

github_update

github_update

type

object

patternProperties

  • .+

Moment when GitHub auxiliary data of the repository is most recently collected.

datetime

GitLab repositories

https://gros.liacs.nl/schema/data-gathering/vcs/gitlab_repo.json

gitlab_repos

gitlab_repos

type

array

items

gitlab_repo

gitlab_repo

Auxiliary information about a GitLab project repository.

type

object

properties

  • repo_name

Name of the repository.

repo_name

  • gitlab_id

Internal identifier from GitLab for the project.

positive_integer

  • description

Description of the project. This is 0 if no description is filled in.

type

string

  • create_time

Moment when the project was created.

datetime

  • archived

Whether the project is archived.

boolean

  • has_avatar

Whether the project has a custom avatar icon.

boolean

  • star_count

Number of people who gave the project a star.

positive_integer

additionalProperties

bufferable

GitLab update tracker

https://gros.liacs.nl/schema/data-gathering/vcs/gitlab_update.json

gitlab_update

gitlab_update

type

object

patternProperties

  • .+

Moment when GitLab auxiliary data of the repository is most recently collected.

datetime

Version control system update tracker

https://gros.liacs.nl/schema/data-gathering/vcs/latest_vcs_versions.json

latest_vcs_versions

latest_vcs_versions

type

object

patternProperties

  • .+

Most recent version collected for the repository.

version

Version control review system merge requests

https://gros.liacs.nl/schema/data-gathering/vcs/merge_request.json

merge_requests

merge_requests

type

array

items

merge_request

merge_request

A merge or pull request from a review system, such as GitLab, GitHub or TFS/VSTS/Azure DevOps.

type

object

properties

  • repo_name

Name of the repository.

repo_name

  • id

Identifier of the request.

positive_integer

  • title

Title of the request.

type

string

  • description

Description of the request.

type

string

  • status

State of the request.

type

string

  • source_branch

Branch where versions were committed in order to be merged upon completion of the request.

type

string

maxLength

255

  • target_branch

Branch where the changes of the request should be merged into.

type

string

maxLength

255

  • author

Name of the developer who made the request.

type

string

maxLength

500

  • author_username

Account name of the developer who made the request.

developer

  • assignee

Name of the developer who is assigned to review the request. This is 0 if the system has no assignees.

type

string

maxLength

500

  • assignee_username

Account name of the developer who is assigned to review the request. This is 0 if the system has no assignees.

developer

  • upvotes

The number of positive votes for the request.

positive_integer

  • downvotes

The number of negative votes for the request.

positive_integer

  • created_at

Moment when the request was created.

datetime

  • updated_at

Moment when the request was last updated.

datetime

  • encrypted

Whether the personal information fields regarding the author and assignee are encrypted.

boolean

additionalProperties

bufferable

Version control review system merge request notes

https://gros.liacs.nl/schema/data-gathering/vcs/merge_request_note.json

merge_request_notes

merge_request_notes

type

array

items

merge_request_note

merge_request_note

A note or comment on a merge or pull request from a review system, such as GitLab, GitHub or TFS/VSTS/Azure DevOps.

type

object

properties

  • repo_name

Name of the repository.

repo_name

  • merge_request_id

Identifier of the request.

positive_integer

  • thread_id

Identifier of the thread that the note is made in. This is 0 if the system does not support note threads.

positive_integer

  • note_id

Identifier of the note.

positive_integer

  • parent_id

Identifier of the note to which this note is a reply. This is 0 if the system does not support replying to notes.

positive_integer

  • author

Name of the author of the note. This can also be an account name.

type

string

maxLength

500

  • author_username

Account name of the author of the note.

developer

  • comment

Contents of the note.

type

string

  • created_at

Moment when the note is created.

datetime

  • updated_at

Moment when the note is updated.

datetime

  • encrypted

Whether the personal information of the author is encrypted.

boolean

additionalProperties

bufferable

Version control review system merge request reviews

https://gros.liacs.nl/schema/data-gathering/vcs/merge_request_review.json

merge_request_reviews

merge_request_reviews

type

array

items

merge_request_review

merge_request_review

A review for a merge or pull request from a review system, such as GitHub or TFS/VSTS/Azure DevOps.

type

object

properties

  • repo_name

Name of the repository.

repo_name

  • merge_request_id

Identifier of the request.

positive_integer

  • reviewer

Name of the developer who performs the review. This may also be an account name.

type

string

maxLength

500

  • reviewer_username

Account name of the developer who performs the review.

developer

  • vote

The vote that the reviewer gave.

integer

  • encrypted

Whether the personal information of the reviewer is encrypted.

boolean

additionalProperties

bufferable

Version control system tags

https://gros.liacs.nl/schema/data-gathering/vcs/tag.json

vcs_tags

vcs_tags

type

array

items

vcs_tag

vcs_tag

A tag that from a version control system, either Subversion or Git.

type

object

properties

  • repo_name

Name of the repository.

repo_name

  • tag_name

Name of the tag.

type

string

maxLength

100

  • version_id

Hexadecimal SHA identifier of the version, if the event was related to a version.

version

  • message

Message added specifically to the tag. This is 0 if tags cannot receive messages in the system.

type

string

  • tagged_date

Moment when the tag was created or updated. This is 0 if the tag date is unknown.

oneOf

datetime

type

string

const

0

  • tagger

Name of the developer who created the tag. This can also be the account name. This is 0 if the developer is unknown.

developer

  • tagger_email

Email address of the developer who created the tag. This is 0 if the developer is unknown.

type

string

maxLength

100

oneOf

format

email

const

0

  • encrypted

Whether the personal information of the developer is encrypted.

boolean

additionalProperties

bufferable

Version control review system events

https://gros.liacs.nl/schema/data-gathering/vcs/vcs_event.json

vcs_events

vcs_events

type

array

items

vcs_event

vcs_event

An event from a review system, such as GitLab or TFS/VSTS/Azure DevOps.

type

object

properties

  • repo_name

Name of the repository.

repo_name

  • version_id

Hexadecimal SHA identifier of the version, if the event was related to a version.

version

  • action

Action that the event performs.

type

string

maxLength

20

  • kind

Type of event.

type

string

maxLength

20

  • ref

Git reference that the event applies to, such as a branch or tag reference.

type

string

maxLength

100

  • user

Name of the developer who performed the event. This can also be an account name.

type

string

maxLength

500

  • username

Account name of the developer who performed the event.

developer

  • email

Email address of the developer who performed the event. This is 0 if the email address was not obtained.

type

string

maxLength

100

oneOf

format

email

const

0

  • date

Moment when the event took place.

datetime

  • encrypted

Whether the personal information of the developer is encrypted.

boolean

additionalProperties

bufferable

Version control system versions

https://gros.liacs.nl/schema/data-gathering/vcs/vcs_versions.json

vcs_versions

vcs_versions

type

array

items

vcs_version

vcs_version

A version from a version control system, either a Subversion or Git commit.

type

object

properties

  • repo_name

Name of the repository.

repo_name

  • version_id

Identifier of the version, either a hexadecimal SHA hash or an incremental version number.

version

  • sprint_id

Identifier of the sprint in which the commit was made. If this could not be determined during collection, then this is 0.

positive_integer

  • message

Commit message.

type

string

  • type

Type of the version. This is commit, revert or merge.

type

string

enum

commit, revert, merge

default

commit

  • developer

Name of the developer who committed the version. This can also be the account name.

type

string

maxLength

500

  • developer_username

Account name of the developer who committed the version. This can also be the full name.

developer

  • developer_email

Email address of the developer who committed the version. This is 0 if it is not known.

type

string

maxLength

100

oneOf

format

email

const

0

  • commit_date

Moment when the version was committed.

datetime

  • author_date

Moment when the version was authored. This is 0 if it is not known.

oneOf

datetime

type

string

const

0

  • branch

Branch on which the version was initially made. This is 0 if it is not known.

type

string

maxLength

255

  • insertions

Number of added lines in the version.

positive_integer

  • deletions

Number of removed lines in the version.

positive_integer

  • number_of_files

Number of files changed in the version.

positive_integer

  • number_of_lines

Number of lines changed in the version.

positive_integer

  • size

Size in bytes of the version.

positive_integer

  • encrypted

Whether the personal information of the developer is encrypted.

boolean

additionalProperties

bufferable