GitHub Action
Allure-to-Wrike failures sync
๐ Features | ๐ What and why | โ๏ธ Run and configuration | ๐ License
GitHub action that parsed published Allure reports and created Wrike tasks from failed or broken Allure tests.
- Parse published Allure report directly from URL;
- Can extract unique test suite and test name values;
- Script is able to create Wrike folder for each test suite where test case tasks are placed;
- If Wrike task already exists, duplication is not created. Fits well for CI.
- Within each task, brief details about the reasons for the test failure can be found.
In my company QA workflow was decided to create Wrike tasks for each broken or failed test from Allure report. Manually it's a lot of work but can be easily automated so this GHA action was born.
This repository can be used as GitHub action. Check .github/workflows/workflow.yml
for example of usability.
Action awaiting input of next parameter:
wrike_api_url
- Wrike API URL. By default it'shttps://www.wrike.com/api/v4/
.wrike_token
- Token string to use with the Wrike API. Permanent token is ok. See details here.wrike_root_folder_id
- ID of the folder where the script will create subfolders for tasks and tasks themselves. Any empty folder will be fine. Note that it's a different ID from the one shown in the Wrike UI. For example: "IEAE2ESRI42RONRN". This type of folder ID can be found using the API: https://www.wrike.com/api/v4/foldersallure_report_url
- String with Allure Report URL that Python script will accept as input. Allure report must be published and should be accessible by URL to script. Script can only parse one report per run in current implementation, but can be run multiple times with different inputs.
The Python script can also be run manually. You need Python >= 3.8 and to install the script dependencies from src/requirements.txt
. In case of manual execution, please provide environment variables, see src/.env.example
.
Example script execution command:python3 src/ci_task_maker.py https://example.github.io/allure_reports/001/
Distributed under the MIT License license. See LICENSE for more information.