Decathlon / Decathlon/ara

Add a Script generator if project use the HttpsIndexer

Open
#21 0 comments 0 reactions 0 assignees View on GitHub
Feature Request P2
Dominant language
Java
Stars
80
Forks
17
PR merge metrics
No merged PRs in 30d

Description

# Add a script generator if the project use the HttpsIndexer

## Context

For the moment, if a project use the HttpsIndexer, the project user have to manually build the zip file which will contains the `stepDefinition.json` and `buildInformation.json` (and also the folder hierarchy).

Even in a CI/CD, those task needs to be done by the users of ARA, which can leads to errors on the indexation or incorrect results if done incorrectly.

Here, the concept is to provide an easy way to get this script, directly from ARA, given the configuration of the project, to integrate it in a CI/CD pipeline and have an input ZIP which will be correctly formed.

## Expected

In the project's settings page, if the project use the FileSystemIndexer, then display a button for generating the communication script with Ara.

If the user clicks on the button, then display a popup (page ?) which shows a form with the following fields :

* Blocking validation (boolean) -> Blocks the validation with the use of Thresholds
* Add platform's specific configuration (Button "Add platform configuration")
* Platform's name (String) -> Name of the platform used for this run
* Blocking validation (boolean) -> Blocks the validation on this platform if Thresholds are not respected.
* Country (String) -> The country used on this platform for this execution
* Test executor (String) -> The framework used for this execution on this platform (postman, cucumber)
* SeverityTags (String) -> The severity tags to use in the indexation
* Enabled (boolean) -> Activate or not this specific platform
* Add quality Thresholds (Button "Add quality Threshold")
** Name (List of severities) -> Name of the threshold
** Failure (int) -> The percentage of passing tests required to pass this threshold
** Warning (int) -> The percentage of passing tests required to not mark the execution in warning.

At least one enabled platform is mandatory and all severities threshold are mandatory if blockingValidation is set to `true`.

When the user's clicks on `Generate` at the bottom of the form, then download a zip file which contains the shell script to send executions to this project using the HTTPS endpoint, an example script which contains the calls with all needed parameters (timestamp, release, version, versionTimestamp, buildUrl, branch, cycle, projectCode) and a Readme.txt which explains how to use the content of the zip.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the project's settings page and the existing HttpsIndexer/FileSystemIndexer configuration, noting the inconsistency between those names in the request. Define the form and validation flow for platforms and thresholds, then verify that Generate produces a ZIP containing the shell script, example calls, and Readme.txt with the required HTTPS parameters.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, shell
Domain
devops, full-stack
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.