{"id":13532932,"url":"https://github.com/flowwer-dev/pull-request-stats","last_synced_at":"2025-04-01T21:31:30.768Z","repository":{"id":37028496,"uuid":"279147582","full_name":"flowwer-dev/pull-request-stats","owner":"flowwer-dev","description":"Github action to print relevant stats about Pull Request reviewers","archived":false,"fork":false,"pushed_at":"2024-09-28T05:52:11.000Z","size":1763,"stargazers_count":362,"open_issues_count":6,"forks_count":79,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-10-18T17:52:24.758Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/flowwer-dev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"manuelmhtr"}},"created_at":"2020-07-12T21:02:59.000Z","updated_at":"2024-10-17T15:46:48.000Z","dependencies_parsed_at":"2024-06-18T12:34:40.463Z","dependency_job_id":"65da0234-4ba0-4322-9bb7-fe67d2dcb6e2","html_url":"https://github.com/flowwer-dev/pull-request-stats","commit_stats":{"total_commits":65,"total_committers":10,"mean_commits":6.5,"dds":0.2153846153846154,"last_synced_commit":"9807936598dcf2bf5a5befca44c6089d57be03b8"},"previous_names":[],"tags_count":51,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowwer-dev%2Fpull-request-stats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowwer-dev%2Fpull-request-stats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowwer-dev%2Fpull-request-stats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowwer-dev%2Fpull-request-stats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flowwer-dev","download_url":"https://codeload.github.com/flowwer-dev/pull-request-stats/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246713113,"owners_count":20821840,"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":[],"created_at":"2024-08-01T07:01:15.113Z","updated_at":"2025-04-01T21:31:26.598Z","avatar_url":"https://github.com/flowwer-dev.png","language":"JavaScript","readme":"# Pull Request Stats\n\n[![CI](https://github.com/flowwer-dev/pull-request-stats/workflows/Tests/badge.svg)](https://github.com/flowwer-dev/pull-request-stats/actions?query=workflow%3ATests)\n[![GitHub Marketplace](https://img.shields.io/badge/Marketplace-Pull%20Request%20Stats-blue.svg?colorA=24292e\u0026colorB=0366d6\u0026style=flat\u0026longCache=true\u0026logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAM6wAADOsB5dZE0gAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAERSURBVCiRhZG/SsMxFEZPfsVJ61jbxaF0cRQRcRJ9hlYn30IHN/+9iquDCOIsblIrOjqKgy5aKoJQj4O3EEtbPwhJbr6Te28CmdSKeqzeqr0YbfVIrTBKakvtOl5dtTkK+v4HfA9PEyBFCY9AGVgCBLaBp1jPAyfAJ/AAdIEG0dNAiyP7+K1qIfMdonZic6+WJoBJvQlvuwDqcXadUuqPA1NKAlexbRTAIMvMOCjTbMwl1LtI/6KWJ5Q6rT6Ht1MA58AX8Apcqqt5r2qhrgAXQC3CZ6i1+KMd9TRu3MvA3aH/fFPnBodb6oe6HM8+lYHrGdRXW8M9bMZtPXUji69lmf5Cmamq7quNLFZXD9Rq7v0Bpc1o/tp0fisAAAAASUVORK5CYII=)](https://github.com/marketplace/actions/pull-request-stats)\n\nGithub action to print relevant stats about Pull Request reviewers.\n\nThe objective of this action is to:\n\n* Reduce the time taken to review the pull requests.\n* Encourage quality on reviews.\n* Help to decide which people to assign as reviewers.\n\nRunning this action will add a section at the bottom of your pull requests description:\n\n![](/assets/pull-request.png)\n\nEach reviewer has a link pointing to their [historical behavior](https://app.flowwer.dev/charts/review-time/~(u~(i~'2741~n~'ddh)~p~30~r~(~(d~'qq57xy~t~'3co)~(d~'qqedft~t~'i1i)~(d~'qqfmub~t~'1rg0)~(d~'qqhjco~t~'5u)~(d~'qqlxa9~t~'20lw)~(d~'qqqo38~t~'2kp)~(d~'qpgl4i~t~'40i)~(d~'qpgq0r~t~'8wr)~(d~'qpgqv1~t~'9r1)~(d~'qqdzub~t~'398)~(d~'qq2xpc~t~'iz)~(d~'qpgoox~t~'1ep)~(d~'qpggla~t~'dt)~(d~'qpin24~t~'3nk)~(d~'qpi9kk~t~'1a89)~(d~'qpf7la~t~'jlz)~(d~'qprdyz~t~'1201)~(d~'qprf42~t~'1354)~(d~'qq4tod~t~'4ye)~(d~'qq4u7p~t~'5hq)~(d~'qq4wf3~t~'7p4)~(d~'qq4wgp~t~'7qq)~(d~'qq4g4a~t~'2v3)~(d~'qptb3r~t~'25p)~(d~'qpobfp~t~'2aq)~(d~'qq70w7~t~'ux)~(d~'qq6p5h~t~'g3d)~(d~'qqedrz~t~'im6)~(d~'qqg4sc~t~'b4)~(d~'qqlxo9~t~'a4s)~(d~'qqun50~t~'2nz)~(d~'qqr8mt~t~'14q)~(d~'qqumbp~t~'1fp)))) of each reviewer:\n\n![](/assets/historical.png)\n\nOr send the data to your favorite tools by using the integrations available:\n\n| \u003ca href=\"/docs/slack.md\"\u003e\u003cimg src=\"/assets/slack-logo.jpg\" width=\"64\"\u003e\u003c/a\u003e\u003cbr/\u003e[Slack](/docs/slack.md) | \u003ca href=\"/docs/teams.md\"\u003e\u003cimg src=\"/assets/teams-logo.jpg\" width=\"64\"\u003e\u003c/a\u003e\u003cbr/\u003e[MS Teams](/docs/teams.md) | \u003ca href=\"/docs/webhook.md\"\u003e\u003cimg src=\"/assets/webhook-logo.jpg\" width=\"64\"\u003e\u003c/a\u003e\u003cbr/\u003e[Webhooks](/docs/webhook.md) |\n| :--: | :--: | :--: |\n\n\n## Privacy\n* **No repository data is collected**, stored, or distributed by this GitHub action. This action is **state-less**.\n* Charts data is sent over the URL and never stored or transmitted anywhere else.\n* [Minimal data](/src/services/telemetry/sendStart.js) is sent to Mixpanel in order to improve this action. However, you can opt-out using the `telemetry` option.\n\n## Usage\n\nJust add this action to one of your [workflow files](https://docs.github.com/en/actions/configuring-and-managing-workflows/configuring-a-workflow):\n\n```yml\n      - name: Run pull request stats\n        uses: flowwer-dev/pull-request-stats@master\n```\n\nIf you are getting an empty table or an error, check the [troubleshooting section](#troubleshooting).\n\n### Action inputs\n\nThe possible inputs for this action are:\n\n| Parameter | Description | Default |\n| --------- | ----------- | ------- |\n| `token` | A [Personal Access Token](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token) with `repo` permissions. Required to calculate stats for an organization or multiple repos. | `GITHUB_TOKEN` |\n| `repositories` | A comma-separated list of GitHub repositories to calculate the stats, e.g. `username/repo1,username/repo2`. When specifying other repo(s), **it is mandatory to pass a Personal Access Token** in the `token` parameter.| Current repository |\n| `organization` | If you prefer, you may specify your organization's name to calculate the stats across all of its repos. When specifying an organization, **it is mandatory to pass a Personal Access Token** in the `token` parameter. | `null` |\n| `period` | The period used to calculate the stats, expressed in days. | `30` |\n| `limit` | The maximum number of rows to display in the table. A value of `0` means unlimited. | `0` |\n| `charts` | Whether to add a chart to the start. Possible values: `true` or `false`. | `false` |\n| `disableLinks` | If `true`, removes the links to the detailed charts. Possible values: `true` or `false`. | `false` |\n| `sortBy` | The column used to sort the data. Possible values: `REVIEWS`, `TIME`, `COMMENTS`. | `REVIEWS` |\n| `publishAs` | Where to publish the results. Possible values: as a `COMMENT`, on the pull request `DESCRIPTION`, or publish `NONE`. | `COMMENT` |\n| `exclude` | A comma-separated list of usernames (case-insensitive) to be excluded from the results (e.g. `username1,username2`), or a regular expression enclosed between slashes (eg. `/^bot/i` will exclude all usernames that begin with \"bot\"). | `null` |\n| `telemetry` | Indicates if the action is allowed to send monitoring data to the developer. This data is [minimal](/src/services/telemetry/sendStart.js) and helps me improve this action. **This option is a premium feature reserved for [sponsors](#premium-features-).** |`true`|\n| `slackWebhook` | **🔥 New.** A Slack webhook URL to post resulting stats. **This option is a premium feature reserved for [sponsors](#premium-features-).** See [full documentation here](/docs/slack.md).  | `null` |\n| `slackChannel` | The Slack channel where stats will be posted. Include the `#` character (eg. `#mychannel`). Required when a `slackWebhook` is configured. | `null` |\n| `teamsWebhook` | **🔥 New.** A Microsoft Teams webhook URL to post resulting stats. **This option is a premium feature reserved for [sponsors](#premium-features-).** See [full documentation here](/docs/teams.md).  | `null` |\n| `webhook` | **🔥 New.** A webhook URL to send the resulting stats as JSON (integrate with Zapier, IFTTT...). See [full documentation here](/docs/webhook.md). | `null` |\n\n\n### Action outputs\n\nThis action outputs the following variables:\n\n| Variable | Description |\n| --------- | ----------- |\n| `resultsMd` | The resulting stats stored as a step output variable in **Markdown** format. |\n| `resultsJson` | The resulting stats stored as a step output variable in **JSON** format. |\n\n\n## Examples\n\n**Minimal config**\n\nAdd this to the file `.github/workflows/stats.yml` in your repo:\n\n```yml\nname: Pull Request Stats\n\non:\n  pull_request:\n    types: [opened]\n\njobs:\n  stats:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Run pull request stats\n        uses: flowwer-dev/pull-request-stats@master\n```\n\nThis config will:\n\n* Calculate the reviewer stats for the current repo in the lasts 30 days.\n* Add links to the historical data.\n* Sort results by the \"total reviews\" column by default.\n\nand print a table like this:\n\n|                                                                                                                                                                    | User          | Total reviews | Median time to review                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | Total comments |\n| ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | -------------- |\n| \u003ca href=\"https://github.com/jartmez\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/8755542?u=5f845c5d64ccdef5da89024edd22fcbb306bad82\u0026v=4\" width=\"20\"\u003e\u003c/a\u003e | jartmez | **37**        | [**22m**](https://app.flowwer.dev/charts/review-time/~(u~(i~'8755542~n~'jartmez)~p~30~r~(~(d~'qpo9q0~t~'3j)~(d~'qq6cdw~t~'1g6v)~(d~'qq6trt~t~'6f)~(d~'qqjoj2~t~'3o)~(d~'qqjrvc~t~'36y)~(d~'qqfii9~t~'48)~(d~'qql57e~t~'2dp)~(d~'qqr6hn~t~'5k5f)~(d~'qpo899~t~'10d)~(d~'qpip3i~t~'7n)~(d~'qqjoyy~t~'t)~(d~'qql5c7~t~'1df)~(d~'qproj0~t~'3gk)~(d~'qqhhp4~t~'l)~(d~'qqhm9c~t~'13)~(d~'qqr6fl~t~'5gql)~(d~'qpeihh~t~'p4)~(d~'qpejk4~t~'10)~(d~'qprnsu~t~'2ce)~(d~'qprr5k~t~'6b)~(d~'qptpyf~t~'3v)~(d~'qpnutn~t~'zn)~(d~'qpponp~t~'2oh)~(d~'qq8aui~t~'16z)~(d~'qq8aut~t~'b5)~(d~'qq6cdd~t~'fh)~(d~'qq6f4b~t~'1g)~(d~'qq9vxk~t~'187g)~(d~'qqjohl~t~'et)~(d~'qqjl7a~t~'17)~(d~'qqkybd~t~'ku4)~(d~'qql5cn~t~'2l1)~(d~'qqr6iq~t~'5k5o)~(d~'qpegg0~t~'v7s)~(d~'qpii21~t~'aw7)~(d~'qpi8p0~t~'19cp)~(d~'qptjgu~t~'s6)~(d~'qppjc0~t~'1a71)~(d~'qqqnl1~t~'501k))))                                                                                                                                       | 13             |\n| \u003ca href=\"https://github.com/manuelmhtr\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1031639?u=30204017b73f7a1f08005cb8ead3f70b0410486c\u0026v=4\" width=\"20\"\u003e\u003c/a\u003e    | manuelmhtr    | 35            | [48m](https://app.flowwer.dev/charts/review-time/~(u~(i~'1031639~n~'manuelmhtr)~p~30~r~(~(d~'qq69s3~t~'156t)~(d~'qq6yq2~t~'4sy)~(d~'qq4ok9~t~'1jg)~(d~'qq363y~t~'4ab)~(d~'qqfq2q~t~'41)~(d~'qqj7fl~t~'12ng)~(d~'qqjvds~t~'1s9)~(d~'qqjanx~t~'1ze)~(d~'qqqwdx~t~'16g)~(d~'qqshq9~t~'bu)~(d~'qqsmra~t~'34)~(d~'qqfht9~t~'17l4)~(d~'qpigjp~t~'4a)~(d~'qpf7g2~t~'mv)~(d~'qqhwld~t~'7ei)~(d~'qq2kb8~t~'6ylo)~(d~'qpgujm~t~'ml)~(d~'qqfl7t~t~'9x)~(d~'qqfijx~t~'31t)~(d~'qqljx2~t~'1oe5)~(d~'qqsgm1~t~'11d0)~(d~'qqug3q~t~'gr)~(d~'qpginp~t~'1jp)~(d~'qpgv2b~t~'xv)~(d~'qq4w8a~t~'1kd)~(d~'qq8m4j~t~'1e)~(d~'qqdxja~t~'y7)~(d~'qq3356~t~'5yt)~(d~'qq35dl~t~'jq)~(d~'qpegn5~t~'vex)~(d~'qpejqb~t~'7v)~(d~'qpifjv~t~'8e1)~(d~'qpnpv9~t~'4s0a)~(d~'qptd4w~t~'14gf)~(d~'qq353p~t~'9fh9)~(d~'qq6cii~t~'13ez)~(d~'qq6tlq~t~'58x)~(d~'qq8l4d~t~'19z)~(d~'qqqte3~t~'27e)~(d~'qqqu19~t~'2uk)~(d~'qqr3ro~t~'3h7)~(d~'qqubcl~t~'19f4)~(d~'qqt08u~t~'j1))))                                                    | **96**         |\n| \u003ca href=\"https://github.com/ernestognw\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/33379285?u=c50ed2928058edc5d412af3d9b9045f6e3309970\u0026v=4\" width=\"20\"\u003e\u003c/a\u003e   | ernestognw    | 25            | [1h 27m](https://app.flowwer.dev/charts/review-time/~(u~(i~'33379285~n~'ernestognw)~p~30~r~(~(d~'qq57xy~t~'3co)~(d~'qqedft~t~'i1i)~(d~'qqfmub~t~'1rg0)~(d~'qqhjco~t~'5u)~(d~'qqlxa9~t~'20lw)~(d~'qqqo38~t~'2kp)~(d~'qpgl4i~t~'40i)~(d~'qpgq0r~t~'8wr)~(d~'qpgqv1~t~'9r1)~(d~'qqdzub~t~'398)~(d~'qq2xpc~t~'iz)~(d~'qpgoox~t~'1ep)~(d~'qpggla~t~'dt)~(d~'qpin24~t~'3nk)~(d~'qpi9kk~t~'1a89)~(d~'qpf7la~t~'jlz)~(d~'qprdyz~t~'1201)~(d~'qprf42~t~'1354)~(d~'qq4tod~t~'4ye)~(d~'qq4u7p~t~'5hq)~(d~'qq4wf3~t~'7p4)~(d~'qq4wgp~t~'7qq)~(d~'qq4g4a~t~'2v3)~(d~'qptb3r~t~'25p)~(d~'qpobfp~t~'2aq)~(d~'qq70w7~t~'ux)~(d~'qq6p5h~t~'g3d)~(d~'qqedrz~t~'im6)~(d~'qqg4sc~t~'b4)~(d~'qqlxo9~t~'a4s)~(d~'qqun50~t~'2nz)~(d~'qqr8mt~t~'14q)~(d~'qqumbp~t~'1fp))))                                                                                                                                                                                                                                           | 63             |\n| \u003ca href=\"https://github.com/javierbyte\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/2009676?u=9aa491152ac3aba42ef8c485cb5331f48bc2fce6\u0026v=4\" width=\"20\"\u003e\u003c/a\u003e      | javierbyte       | 12            | [30m](https://app.flowwer.dev/charts/review-time/~(u~(i~'2009676~n~'javierbyte)~p~30~r~(~(d~'qpezo6~t~'zh)~(d~'qqutun~t~'1o)~(d~'qqupn8~t~'1ry)~(d~'qqslpr~t~'6e6)~(d~'qqslq9~t~'6dg)~(d~'qqslp1~t~'6e5)~(d~'qqqqw9~t~'3v)~(d~'qqqy91~t~'5l1)~(d~'qpeolc~t~'gy)~(d~'qpf2hy~t~'ay)~(d~'qqufaz~t~'16pf)~(d~'qquho8~t~'1y))))                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | 0              |\n| \u003ca href=\"https://github.com/Phaze1D\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/8495952?v=4\" width=\"20\"\u003e\u003c/a\u003e                                                   | Phaze1D       | 4             | [34m](https://app.flowwer.dev/charts/review-time/~(u~(i~'8495952~n~'Phaze1D)~p~30~r~(~(d~'qprzn9~t~'84)~(d~'qpvagu~t~'a3)~(d~'qpvn25~t~'3lu)~(d~'qqqtu5~t~'2vy))))                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | 1              |\n\n\n**Visual config**\n\nAdd this to the file `.github/workflows/stats.yml`:\n\n```yml\nname: Pull Request Stats\n\non:\n  pull_request:\n    types: [opened]\n\njobs:\n  stats:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Run pull request stats\n        uses: flowwer-dev/pull-request-stats@master\n        with:\n          token: ${{ secrets.ADD_A_PERSONAL_ACCESS_TOKEN }}\n          organization: 'piedpiper'\n          period: 7\n          charts: true\n          disableLinks: true\n          sortBy: 'COMMENTS'\n```\n\nThis config will:\n\n* Calculate the reviewer stats for all the repos in the \"piedpiper\" organization in the lasts 7 days.\n* Display charts for the metrics.\n* Remove the links to detailed charts.\n* Sort results by the \"comments\" column.\n\nand print a table like this:\n\n|                                                                                                                                                                     | User                 | Total comments      | Total reviews      | Median time to review     |\n| ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- | ------------------------- | ------------------ | ------------------- |\n| \u003ca href=\"https://github.com/manuelmhtr\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/1031639\" width=\"32\"\u003e\u003c/a\u003e  | manuelmhtr\u003cbr/\u003e🥇  | **12**\u003cbr/\u003e▀▀▀▀▀▀▀▀ | **8**\u003cbr/\u003e▀▀▀▀     | 53m\u003cbr/\u003e                  |\n| \u003ca href=\"https://github.com/CarlosCRG19\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/61464973\" width=\"32\"\u003e\u003c/a\u003e | CarlosCRG19\u003cbr/\u003e🥈 | 3\u003cbr/\u003e▀▀            | 4\u003cbr/\u003e▀▀           | 58m\u003cbr/\u003e                  |\n| \u003ca href=\"https://github.com/jartmez\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/8755542\" width=\"32\"\u003e\u003c/a\u003e     | jartmez\u003cbr/\u003e🥉     | 1\u003cbr/\u003e▀             | 2\u003cbr/\u003e▀            | 1d 16h 18m\u003cbr/\u003e▀▀▀▀▀▀     |\n| \u003ca href=\"https://github.com/Estebes10\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/22161828\" width=\"32\"\u003e\u003c/a\u003e  | Estebes10\u003cbr/\u003e     | 1\u003cbr/\u003e▀             | 1\u003cbr/\u003e             | **19m**\u003cbr/\u003e              |\n| \u003ca href=\"https://github.com/ernestognw\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/33379285\" width=\"32\"\u003e\u003c/a\u003e | ernestognw\u003cbr/\u003e    | 0\u003cbr/\u003e              | 2\u003cbr/\u003e▀            | 2h 15m\u003cbr/\u003e               |\n| \u003ca href=\"https://github.com/Phaze1D\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/8495952\" width=\"32\"\u003e\u003c/a\u003e     | Phaze1D\u003cbr/\u003e       | 0\u003cbr/\u003e              | 3\u003cbr/\u003e▀            | 1h 28m\u003cbr/\u003e               |\n| \u003ca href=\"https://github.com/javierbyte\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/2009676\" width=\"32\"\u003e\u003c/a\u003e  | javierbyte\u003cbr/\u003e    | 0\u003cbr/\u003e              | 1\u003cbr/\u003e             | 21h 24m\u003cbr/\u003e▀▀▀           |\n\n## Stats\n\nThe stats are calculated as follows:\n\n* **Time to review:** The time a reviewer takes from the _Pull Request publication_ or the last _Commit push_ (whatever happens last) to the first time the pull request is reviewed.\n* **Time to review:** The **median** of the _times to review_ of all Pull Requests reviewed by a person in the period.\n* **Total reviews:** The count of all Pull Requests reviewed by a person in the period.\n* **Total comments:** The number of comments made while reviewing other users' Pull Requests during the specified period. Comments made on your own PRs or general PR discussions are excluded; only comments directly related to code are counted.\n\n## Integrations 🔌\n\nCheck the guide for the tool you want to integrate:\n\n* [Slack](/docs/slack.md)\n* [Microsoft Teams](/docs/teams.md)\n* [Webhooks](/docs/webhook.md)\n\n## Troubleshooting\n\n\u003cdetails\u003e\n  \u003csummary\u003eThe action is printing an empty table.\u003c/summary\u003e\n\n  1. Make sure the repositories have pull request reviews during the configured `period`.\n  2. When specifying `repositories` or `organization` parameters, a [Personal Access Token](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token) is required in the `token` parameter.\n  3. If providing a Personal Access Token, ensure it has the `repo` permission for the projects you want.\n  4. If you are not providing a Personal Access Token (thus, the action is using the default `GITHUB_TOKEN`), make sure the job has the `contents: read` and `pull-requests: write` [permissions](https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs#defining-access-for-the-github_token-scopes) While these permissions are typically provided by default, certain organizations may customize or overwrite them.\n\n  ```yml\n  jobs:\n    stats:\n      runs-on: ubuntu-latest\n      permissions:\n        contents: read\n        pull-requests: write\n      steps:\n        - name: Run pull request stats\n          uses: flowwer-dev/pull-request-stats@master\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eI get the error \"Error commenting on the pull request...\".\u003c/summary\u003e\n\n  This error happens when the organization configures the action's permissions as `read`. To fix it, overwrite them by adding a [`permissions`](https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs) configuration in the workflow file. The minimum required permissions are `contents: read` and `pull-requests: write`:\n\n  ```yml\n  jobs:\n    stats:\n      runs-on: ubuntu-latest\n      permissions:\n        contents: read\n        pull-requests: write\n      steps:\n        - name: Run pull request stats\n          uses: flowwer-dev/pull-request-stats@master\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eI'm a sponsor but still getting the error \"...is a premium feature, available to sponsors\".\u003c/summary\u003e\n\n  1. Check the sponsorship comes from the account that owns the configured repos (usually an organization).\n  2. Make sure the sponsorship is configured as `public`, otherwise, the action cannot access the sponsorship information. If you prefer to keep it `private`, please reach me out to make it work for you that way 😉.\n\u003c/details\u003e\n\n## Premium features ✨\n\nThis action offers some premium features only for sponsors:\n\n* Disabling telemetry.\n* Slack integration.\n* Microsoft Teams integration.\n* Coming soon: Discord integration, web version.\n\nThe **suggested sponsorship is $20 USD / month**. However, if it's not possible for you or your organization, please consider supporting it with any amount you can. Even a one-time sponsorship will enable the Premium features and encourage the progress of this project.\n\nBeing a sponsor will also give you access to the premium features in all of my [other projects](#related-projects).\n\nThanks for your support! 💙\n\n## Related projects 🔥\n\n* **[Recap](https://github.com/flowwer-dev/recap)**: Tired of writing pull request descriptions? Let GPT do it for you.\n\n## Used by\n\nUsed by hundreds of successful teams:\n\n| \u003ca href=\"https://www.sixt.com/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/25441140?s=200\u0026v=4\" width=\"64\"\u003e\u003c/a\u003e\u003cbr/\u003eSixt | \u003ca href=\"https://shop.lululemon.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/17386352?s=200\u0026v=4\" width=\"64\"\u003e\u003c/a\u003e\u003cbr/\u003eLululemon | \u003ca href=\"https://www.deliveryhero.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/7225556?s=200\u0026v=4\" width=\"64\"\u003e\u003c/a\u003e\u003cbr/\u003eDelivery H | \u003ca href=\"https://jokr.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/84920342?s=200\u0026v=4\" width=\"64\"\u003e\u003c/a\u003e\u003cbr/\u003eJOKR | \u003ca href=\"https://lego.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/4530164?s=200\u0026v=4\" width=\"64\"\u003e\u003c/a\u003e\u003cbr/\u003eLego | \u003ca href=\"https://firework.tv/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/25275837?s=200\u0026v=4\" width=\"64\"\u003e\u003c/a\u003e\u003cbr/\u003eLOOP | \u003ca href=\"https://www.usehatchapp.com/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/38331218?s=200\u0026v=4\" width=\"64\"\u003e\u003c/a\u003e\u003cbr/\u003eHatch | \u003ca href=\"https://www.zenfi.mx/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/68744962?s=200\u0026v=4\" width=\"64\"\u003e\u003c/a\u003e\u003cbr/\u003eZenfi |\n| :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: |\n| \u003ca href=\"https://www.intel.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/17888862?s=200\u0026v=4\" width=\"64\"\u003e\u003c/a\u003e\u003cbr/\u003e**Intel** | \u003ca href=\"https://auth0.com/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/2824157?s=200\u0026v=4\" width=\"64\"\u003e\u003c/a\u003e\u003cbr/\u003e**Auth0** | \u003ca href=\"https://www.additionwealth.com/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/86253902?s=200\u0026v=4\" width=\"64\"\u003e\u003c/a\u003e\u003cbr/\u003e**Addition** | \u003ca href=\"https://fauna.com/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1477000?s=200\u0026v=4\" width=\"64\"\u003e\u003c/a\u003e\u003cbr/\u003e**Fauna** | \u003ca href=\"http://open.cdc.gov/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/12104975?s=200\u0026v=4\" width=\"64\"\u003e\u003c/a\u003e\u003cbr/\u003e**CDC** | \u003ca href=\"https://www.wecasa.fr/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/56955553?s=200\u0026v=4\" width=\"64\"\u003e\u003c/a\u003e\u003cbr/\u003e**Wecasa** | \u003ca href=\"https://bolt.eu/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/37693190?s=200\u0026v=4\" width=\"64\"\u003e\u003c/a\u003e\u003cbr/\u003e**Bolt** | \u003ca href=\"https://republic.com/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/18252987?s=200\u0026v=4\" width=\"64\"\u003e\u003c/a\u003e\u003cbr/\u003e**Republic** |\n\n## Authors\n\n|\u003ca href=\"https://github.com/manuelmhtr\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1031639?v=4\" width=\"32\"\u003e\u003c/a\u003e|[@manuelmhtr](https://github.com/manuelmhtr)\u003cbr/\u003e🇲🇽 Guadalajara, MX|\n| -- | :-- |\n|\u003ca href=\"https://github.com/CarlosCRG19\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/61464973?v=4\" width=\"32\"\u003e\u003c/a\u003e|[@CarlosCRG19](https://github.com/CarlosCRG19)\u003cbr/\u003e🇲🇽 Colima, MX|\n\n\n## Help\n\nThis project is maintained by a small team, considering supporting the project by:\n\n* ⭐ Star this repo.\n* Sharing your [feedback](https://forms.gle/xNakBCbfjEnVvmcZ7).\n* Joining the [community](https://discord.gg/wk5zy5aAZQ).\n* Becoming a [sponsor](https://github.com/sponsors/manuelmhtr).\n\n## NEW: Check the web version! ⚡\n\n[\u003cimg alt=\"Flowwer web preview\" src=\"/assets/web-preview.png\" /\u003e](https://bit.ly/flowwer-app)\n\nBreaking News! **We’ve unleashed the stand-alone version of this action!**\n\n* Filter by repositories and date range.\n* Stats tracking over the time.\n* Tons of new features coming soon!\n\n[\u003cimg alt=\"Sign up to Flowwer\" height=\"42px\" src=\"/assets/signup-btn.png\" /\u003e](https://bit.ly/flowwer-app)\n\n## License\n\nMIT\n","funding_links":["https://github.com/sponsors/manuelmhtr"],"categories":["Community Resources","JavaScript"],"sub_categories":["Pull Requests"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflowwer-dev%2Fpull-request-stats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflowwer-dev%2Fpull-request-stats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflowwer-dev%2Fpull-request-stats/lists"}