{"id":11771979,"name":"ctrf-io/github-test-reporter","ecosystem":"actions","description":"Build, publish and view test reports on job summaries and pull requests","homepage":"https://ctrf.io","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/ctrf-io/github-test-reporter","keywords_array":["cicd","ctrf","github","github-actions","test-automation","test-reporting"],"namespace":"ctrf-io","versions_count":30,"first_release_published_at":"2025-01-16T00:03:22.000Z","latest_release_published_at":"2026-03-28T10:26:06.000Z","latest_release_number":"v1.0.28","last_synced_at":"2026-05-22T19:15:55.838Z","created_at":"2025-06-07T21:12:20.245Z","updated_at":"2026-05-22T19:15:55.838Z","registry_url":"https://github.com/ctrf-io/github-test-reporter","install_command":null,"documentation_url":null,"metadata":{"name":"GitHub Test Reporter","description":"Build, publish and view test reports on job summaries and pull requests","author":"ctrf-io","branding":{"icon":"check","color":"green"},"inputs":{"report-path":{"description":"Path or glob pattern of the CTRF JSON files.","required":true},"template-path":{"description":"Path to the Handlebars template for customizing markdown output.","required":false},"title":{"description":"Title to display in the GitHub Actions summary or pull request comment.","required":false},"summary-report":{"description":"Include the summary report.","required":false,"default":false},"summary-delta-report":{"description":"Include the summary delta report.","required":false,"default":false},"tests-changed-report":{"description":"Include the tests changed report showing added and removed tests.","required":false,"default":false},"github-report":{"description":"Include the GitHub report.","required":false,"default":false},"test-report":{"description":"Include the tests table report.","required":false,"default":false},"test-list-report":{"description":"Include the tests list report.","required":false,"default":false},"failed-report":{"description":"Include the failed tests report.","required":false,"default":false},"fail-rate-report":{"description":"Include the fail rate report.","required":false,"default":false},"flaky-report":{"description":"Include the flaky tests report.","required":false,"default":false},"flaky-rate-report":{"description":"Include the flaky rate report.","required":false,"default":false},"failed-folded-report":{"description":"Include the failed folded report.","required":false,"default":false},"previous-results-report":{"description":"Include the previous results report.","required":false,"default":false},"ai-report":{"description":"Include the AI analysis report.","required":false,"default":false},"ai-summary-report":{"description":"Include the AI summary report with structured analysis (summary, code issues, timeout issues, application issues, recommendations)","required":false,"default":false},"skipped-report":{"description":"Include the skipped report.","required":false,"default":false},"suite-folded-report":{"description":"Include the suite folded report.","required":false,"default":false},"suite-list-report":{"description":"Include the suite list report.","required":false,"default":false},"file-report":{"description":"Include the file report showing tests grouped by file path.","required":false,"default":false},"insights-report":{"description":"Include the insights report showing test metrics and statistics.","required":false,"default":false},"slowest-report":{"description":"Include a report showing the top 10 slowest tests by average duration.","required":false,"default":false},"pull-request-report":{"description":"Include the pull request report.","required":false,"default":false},"commit-report":{"description":"Include the commit report.","required":false,"default":false},"custom-report":{"description":"Include a custom report using a Handlebars template. To group tests in the custom report, use the 'group-by' or 'always-group-by' input.\n","required":false,"default":false},"community-report":{"description":"Include the community report. Also requires community-report-name.","required":false,"default":false},"summary":{"description":"Post generated markdown to the GitHub Actions summary.","required":false,"default":true},"pull-request":{"description":"Add a comment to the pull request with the generated report.","required":false,"default":false},"issue":{"description":"Add a comment to the issue number with the generated report.","required":false,"default":""},"annotate":{"description":"Add annotations to failed tests in the GitHub Actions UI.","required":false,"default":true},"status-check":{"description":"Create a status check for the workflow.","required":false,"default":false},"status-check-name":{"description":"Name of the status check.","required":false,"default":"GitHub Test Reporter Results"},"community-report-name":{"description":"Name of the community report to use.","required":false,"default":"summary-short"},"on-fail-only":{"description":"Add a pull request comment only if tests fail.","required":false,"default":false},"exit-on-no-files":{"description":"Exit the workflow with a failure status if no test files are found.","required":false,"default":false},"exit-on-fail":{"description":"Exit the workflow with a failure status if any tests fail.","required":false,"default":false},"exit-on-empty":{"description":"Exit the workflow with a failure status if no tests are found.","required":false,"default":false},"use-suite-name":{"description":"Prefix test names with the suite name for better grouping.","required":false,"default":false},"update-comment":{"description":"Update existing Pull Request comment.","required":false,"default":false},"overwrite-comment":{"description":"Overwrite existing Pull Request comment.","required":false,"default":false},"always-latest-comment":{"description":"Create a new comment if the existing comment is not the latest in the thread.","required":false,"default":false},"comment-tag":{"description":"Tag to match Pull Request comment","required":false,"default":false},"write-ctrf-to-file":{"description":"Path to write the processed CTRF report for future processing.","default":""},"upload-artifact":{"description":"Upload the processed CTRF report for future processing","required":false,"default":false},"collapse-large-reports":{"description":"Collapse large reports (test-table and test-list) by default.","required":false,"default":false},"artifact-name":{"description":"Name of the artifact containing test reports.","required":false,"default":"ctrf-report"},"previous-results-max":{"description":"Maximum number of previous test results to display in the report. Includes test results from current run","required":false,"default":10},"fetch-previous-results":{"description":"Always fetch previous workflow runs when using custom templates.","required":false,"default":false},"max-workflow-runs-to-check":{"description":"Maximum number of workflow runs to check for previous results.","required":false,"default":400},"max-previous-runs-to-fetch":{"description":"Maximum number of previous runs to fetch and process for metrics and reports.","required":false,"default":100},"baseline":{"description":"Baseline for metrics comparison. Number = previous n reports, string = reportId.","required":false,"default":1},"baseline-report-path":{"description":"Path to a specific CTRF report to use as a baseline.","required":false,"default":""},"group-by":{"description":"Specify grouping for applicable reports (e.g., suite or file path). Options: - 'suite': Group tests by their suite property. - 'filePath': Group tests by their file path. Default is 'filePath'. Use this for built-in or custom reports where grouping is needed.\n","required":false,"default":"filePath"},"always-group-by":{"description":"Force grouping by suite or file path for all reports, overriding default behavior","required":false,"default":false},"report-order":{"description":"Comma-separated list of report types to specify the order in which reports\n should be displayed in the summary.\n","required":false,"default":""},"ai":{"description":"JSON configuration for AI-powered test analysis. Supports multiple AI providers including OpenAI, Claude, Gemini, Grok, Deepseek, Mistral, Perplexity, Azure OpenAI, OpenRouter, and AWS Bedrock. Example: '{\"provider\": \"openai\", \"model\": \"gpt-4\", \"temperature\": 0.7, \"maxTokens\": 2000}'\n","required":false,"default":"{}"},"integrations-config":{"description":"JSON configuration for integrations with other developer tools","required":false,"default":"{}"}},"outputs":{"summary":{"description":"The markdown summary generated"},"report":{"description":"The report json"}},"runs":{"using":"node24","main":"dist/index.js"},"default_branch":"main","path":null},"repo_metadata":{"id":234557967,"uuid":"788637527","full_name":"ctrf-io/github-test-reporter","owner":"ctrf-io","description":"Publish and view test reporting directly in your GitHub Actions CI/CD workflow and Pull Requests with detailed test summaries, failed test analyses, and flaky test detection.","archived":false,"fork":false,"pushed_at":"2025-11-22T18:09:44.000Z","size":73431,"stargazers_count":291,"open_issues_count":14,"forks_count":36,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-11-22T20:19:25.677Z","etag":null,"topics":["cicd","ctrf","github","github-actions","test-automation","test-reporting"],"latest_commit_sha":null,"homepage":"https://ctrf.io","language":"TypeScript","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/ctrf-io.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-04-18T19:51:52.000Z","updated_at":"2025-11-19T09:31:43.000Z","dependencies_parsed_at":"2024-09-06T06:16:09.018Z","dependency_job_id":"12880d7b-7a5f-4bdc-b2b4-d5e49b930d9a","html_url":"https://github.com/ctrf-io/github-test-reporter","commit_stats":null,"previous_names":["ctrf-io/github-actions-ctrf","ctrf-io/github-actions-test-reporter-ctrf","ctrf-io/github-test-reporter"],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/ctrf-io/github-test-reporter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctrf-io%2Fgithub-test-reporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctrf-io%2Fgithub-test-reporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctrf-io%2Fgithub-test-reporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctrf-io%2Fgithub-test-reporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ctrf-io","download_url":"https://codeload.github.com/ctrf-io/github-test-reporter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctrf-io%2Fgithub-test-reporter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29332292,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T06:13:03.264Z","status":"ssl_error","status_checked_at":"2026-02-11T06:12:55.843Z","response_time":97,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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"},"tags":[]},"repo_metadata_updated_at":"2026-04-13T11:33:56.014Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":34.34343434343434,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":17.17171717171717},"purl":"pkg:githubactions/ctrf-io/github-test-reporter","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/actions/ctrf-io/github-test-reporter","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/actions/ctrf-io/github-test-reporter","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/actions/ctrf-io/github-test-reporter/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-14T14:46:00.208Z","issues_count":77,"pull_requests_count":101,"avg_time_to_close_issue":1388080.1285714286,"avg_time_to_close_pull_request":59389.683168316835,"issues_closed_count":70,"pull_requests_closed_count":101,"pull_request_authors_count":8,"issue_authors_count":43,"avg_comments_per_issue":1.1948051948051948,"avg_comments_per_pull_request":5.851485148514851,"merged_pull_requests_count":87,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":74,"past_year_pull_requests_count":99,"past_year_avg_time_to_close_issue":1337341.1641791044,"past_year_avg_time_to_close_pull_request":59115.0404040404,"past_year_issues_closed_count":67,"past_year_pull_requests_closed_count":99,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":40,"past_year_avg_comments_per_issue":1.1891891891891893,"past_year_avg_comments_per_pull_request":5.96969696969697,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":85,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctrf-io%2Fgithub-test-reporter/issues","maintainers":[],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/ctrf-io%2Fgithub-test-reporter/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/ctrf-io%2Fgithub-test-reporter/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/ctrf-io%2Fgithub-test-reporter/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/ctrf-io%2Fgithub-test-reporter/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/ctrf-io%2Fgithub-test-reporter/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/ctrf-io%2Fgithub-test-reporter/codemeta","maintainers":[]}