{"id":22871530,"url":"https://github.com/qainsights/perfaction","last_synced_at":"2025-05-05T22:33:27.752Z","repository":{"id":38194761,"uuid":"288057223","full_name":"QAInsights/PerfAction","owner":"QAInsights","description":"GitHub Action to run performance tests using Apache JMeter and its plugins.","archived":false,"fork":false,"pushed_at":"2024-05-21T08:53:05.000Z","size":370,"stargazers_count":49,"open_issues_count":4,"forks_count":69,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-01T01:48:44.989Z","etag":null,"topics":["apache","docker","github-actions","jmeter","jmeter-plugins","linux","performance","performance-testing"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/QAInsights.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-17T01:35:36.000Z","updated_at":"2024-09-19T10:23:32.000Z","dependencies_parsed_at":"2023-01-05T05:02:44.705Z","dependency_job_id":"32be8d76-fb6b-4401-b38c-958713063172","html_url":"https://github.com/QAInsights/PerfAction","commit_stats":{"total_commits":189,"total_committers":3,"mean_commits":63.0,"dds":"0.010582010582010581","last_synced_commit":"aff34bf402d45fe14511f9f29edeecb95c7e3727"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QAInsights%2FPerfAction","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QAInsights%2FPerfAction/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QAInsights%2FPerfAction/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QAInsights%2FPerfAction/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/QAInsights","download_url":"https://codeload.github.com/QAInsights/PerfAction/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229546461,"owners_count":18090083,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apache","docker","github-actions","jmeter","jmeter-plugins","linux","performance","performance-testing"],"created_at":"2024-12-13T13:19:45.737Z","updated_at":"2025-05-05T22:33:27.744Z","avatar_url":"https://github.com/QAInsights.png","language":"Shell","readme":"# 🚀 PerfAction \r\n\r\n[![](https://img.shields.io/badge/dev.to-Actions%20Hackathon-blue)](https://dev.to/qainsights/perfaction-run-jmeter-performance-tests-191)\r\n[![saythanks](https://img.shields.io/badge/say-thanks-1EAEDB.svg)](https://saythanks.io/to/catch.nkn%40gmail.com)\r\n[![](https://img.shields.io/badge/license-MIT-0a0a0a.svg?style=flat\u0026colorA=1EAEDB)](https://qainsights.com)\r\n[![](https://img.shields.io/badge/%E2%9D%A4-QAInsights-0a0a0a.svg?style=flat\u0026colorA=1EAEDB)](https://qainsights.com)\r\n[![](https://img.shields.io/badge/%E2%9D%A4-YouTube%20Channel-0a0a0a.svg?style=flat\u0026colorA=1EAEDB)](https://www.youtube.com/user/QAInsights?sub_confirmation=1)\r\n\r\nThis GitHub Action helps to automate performance testing using [Apache JMeter](https://jmeter.apache.org/) and its [plugins](https://jmeter-plugins.org/). \r\n\r\nPerfAction also featured in `LoadTestWorld 2021` conference.\r\n\r\n![PerfAction for JMeter](./assets/Banner.jpg)\r\n\r\n# 🤔 How to use this GitHub Action?\r\n\r\n## Prerequisites\r\n\r\nFollowing are the prerequisites for this GitHub Action:\r\n\r\n* `test-plan-path`\r\n  * Mandatory\r\n  * JMeter test plan and its dependencies such as test data, plugins etc\r\n* `args`\r\n  * Optional\r\n  * Additional arguments you can pass it to your test plan execution\r\n* `results-file`\r\n  * Optional\r\n  * If you want your result to have a different extension than jtl such as `.csv` default value `result.jtl`.\r\n\r\n## 👇 Usage\r\n\r\n### Example #1 with no arguments \r\n\r\n```yaml\r\n- name: JMeter Test\r\n  uses: QAInsights/PerfAction@v5.6.2\r\n  with:\r\n    test-plan-path: ./TestPlans/S01_SimpleExample/S01_SimpleExample.jmx\r\n    args: \"\"\r\n- name: Upload Results\r\n  uses: actions/upload-artifact@v3\r\n  with:\r\n    name: jmeter-results\r\n    path: result.jtl\r\n    if-no-files-found: error\r\n```\r\n\r\n### Example #2 with arguments\r\n\r\n```yaml\r\n- name: JMeter Test\r\n  uses: QAInsights/PerfAction@v5.6.2\r\n  with:\r\n    test-plan-path: ./TestPlans/S01_SimpleExample/S01_SimpleExample.jmx\r\n    args: \"-H my.proxy.server -P 8000\"\r\n    \r\n- name: Upload Results\r\n  uses: actions/upload-artifact@v3\r\n  with:\r\n    name: jmeter-results\r\n    path: result.jtl\r\n    if-no-files-found: error\r\n```\r\n### Example #3 with arguments to Generate HTML Reports\r\n\r\nPlease make sure that you create a directory where you want to generate HTML report.\r\n\r\n```yaml\r\n- name: Create reports directory\r\n  run: mkdir reports\r\n\r\n- name: JMeter Test\r\n  uses: QAInsights/PerfAction@v5.6.2\r\n  with:\r\n    test-plan-path: ./TestPlans/S01_SimpleExample/S01_SimpleExample.jmx\r\n    args: \"-e -o ./reports/html/\"\r\n    \r\n- name: Upload Results\r\n  uses: actions/upload-artifact@v3\r\n  with:\r\n    name: jmeter-results\r\n    path: result.jtl\r\n    if-no-files-found: error\r\n\r\n- name: Upload HTML Reports\r\n  uses: actions/upload-artifact@v3\r\n  with:\r\n    name: jmeter-html-reports\r\n    path: reports\r\n    if-no-files-found: error\r\n```\r\n\r\n## 📥 Download JMeter Test Results\r\n\r\nBy default, this GitHub Action will log the performance statistics under `result.jtl`. After the execution, it will be uploaded to the GitHub artifacts.\r\n\r\nTo download the JMeter results, go to your `Actions` and then click on the executed workflow, then click on `jmeter-results` link which will download the zip file.\r\n\r\n![Download-JMeter-Results](./assets/Download-JMeter-Results.jpg)\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqainsights%2Fperfaction","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqainsights%2Fperfaction","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqainsights%2Fperfaction/lists"}