Test Scenarios
Goal
The Test Scenarios repository focuses on scenarios written by Software Testers (on a JIRA, not accessible to the public). Several tools have been developed:
- a tool for generating Markdown pages from XRay scenarios on JIRA
- a tool for synchronizing scenarios to be automated or in the process of being automated in issues
- a tool for updating a kanban based on the status of scenarios
Schedule
- Every week day at 06:00 AM (for the generation of Markdown pages)
- Every week day at 07:00 AM (for the synchronization of scenarios in issues)
Code
You can find workflows :
- Generate Markdown pages from XRay scenarios (Github)
- Synchronize XRay scenarios and Github Issues (Github)
- Update Kanban based on the status of scenarios (Github)
How it works
Generate Markdown pages from XRay scenarios
Two folders (Core and Modules) on JIRA are exported. The script uses the XRay API to retrieve the scenarios and their folders. Each XRay folder corresponds to a Hugo content directory. Each XRay scenario corresponds to a page of Hugo content.
From XRay…
… to Hugo.
Synchronize XRay scenarios and Github Issues
The script use the following process:
- Fetch all XRay scenarios (To Be Automated / Automation In Progress / Automated)
- For each scenario:
- IF the XRay scenario has not linked Github issue
- THEN the script create a new issue;
- IF the XRay scenario has been updated (title or description)
- THEN the script update the Github issue (title & description);
- IF the linked Github issue has not the good assignee from JIRA,
- THEN the script update the Github issue (assignee);
- IF the linked Github issue has no label, or the linked Github issue has late labels,
- THEN the script update the Github issue (labels);
- IF the Github label is different of the XRay status
- THEN the script update the XRay scenario (status).
- IF the XRay scenario has not linked Github issue
Update Kanban based on the status of scenarios
The workflow use the Machine-Maker/add-to-project-action
action to move in Github project some issues based on their labels:
- Label “
STATE : To Be Automated
” : Column “Todo
” - Label “
STATE : Automation in progress
” : Column “In Progress
” - Label “
STATE : Automated
” : Column “Done
”