{"id":27146559,"url":"https://github.com/iinsys/pr-summarizer","last_synced_at":"2025-04-08T10:48:05.835Z","repository":{"id":281042317,"uuid":"943992436","full_name":"iinsys/pr-summarizer","owner":"iinsys","description":"Summarize PR and gives random jokes","archived":false,"fork":false,"pushed_at":"2025-04-07T14:13:35.000Z","size":124,"stargazers_count":8,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-07T15:24:44.100Z","etag":null,"topics":["actions","rust-lang","rust-library"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/iinsys.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":{"custom":["https://www.patreon.com/bansikah22"]}},"created_at":"2025-03-06T15:53:13.000Z","updated_at":"2025-04-07T14:13:39.000Z","dependencies_parsed_at":"2025-03-06T17:44:28.862Z","dependency_job_id":"841d7953-a918-49c8-af34-412924700dc2","html_url":"https://github.com/iinsys/pr-summarizer","commit_stats":null,"previous_names":["bansikah22/pr-summarizer","iinsys/pr-summarizer"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iinsys%2Fpr-summarizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iinsys%2Fpr-summarizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iinsys%2Fpr-summarizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iinsys%2Fpr-summarizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iinsys","download_url":"https://codeload.github.com/iinsys/pr-summarizer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247828791,"owners_count":21002975,"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":["actions","rust-lang","rust-library"],"created_at":"2025-04-08T10:48:05.288Z","updated_at":"2025-04-08T10:48:05.820Z","avatar_url":"https://github.com/iinsys.png","language":"Rust","funding_links":["https://www.patreon.com/bansikah22"],"categories":[],"sub_categories":[],"readme":"# PR Summarizer with Jokes\n\n![GitHub Test Actions Status](https://github.com/bansikah22/pr-summarizer/actions/workflows/test.yml/badge.svg)\n![GitHub Test Actions Status](https://github.com/bansikah22/pr-summarizer/actions/workflows/release.yml/badge.svg)\n![GitHub Issues](https://img.shields.io/github/issues/bansikah22/pr-summarizer?color=red)\n![Open Source](https://img.shields.io/github/license/bansikah22/pr-summarizer?color=green)\n\nA GitHub Action that automatically summarizes pull requests and adds a random programming joke to make code reviews more enjoyable.\n\n## Features\n\n- 📝 **PR Change Analysis**: Detects modified, added, and deleted files\n- 📊 **Summary Generation**: Converts PR changes into short, meaningful descriptions\n- 💬 **GitHub Commenting**: Posts the summary as a comment on the PR\n- 😄 **Random Jokes**: Fetches and appends a programming joke to the comment\n- 🔄 **External Repository Support**: Can be used across multiple GitHub repositories\n\n## Example Output\n\n```\n🚀 PR Summary\n📝 Changes Overview\n✨ Implement user authentication system\n✅ Added JWT token generation and validation\n✅ Created user registration endpoint\n🧪 Added tests for auth endpoints\n📚 Updated API documentation\n📂 Affected Files\n\n🟢 [+] src/auth/jwt.rs\n🟢 [+] src/auth/middleware.rs\n🔵 [M] src/routes/users.rs\n🔵 [M] src/models/user.rs\n🟢 [+] tests/auth_tests.rs\n🔵 [M] README.md\n\n😄 Code Humor\nWhy do programmers prefer dark mode? Because light attracts bugs! 🤓\n\nThis summary was automatically generated by PR Summarizer ⚡\n```\n\n## Usage\n\nAdd this to your repository's `.github/workflows/pr-summary.yml`:\n\n```yaml\nname: PR Summarizer\n\non:\n  pull_request:\n    types: [opened, synchronize, reopened]\n\npermissions:\n  pull-requests: write  # Required to comment on PRs\n  issues: write        # Required for PR comments via issues API\n\njobs:\n  summarize:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout repository\n        uses: actions/checkout@v4\n        with:\n          fetch-depth: 0  # Ensures full history for diff analysis\n\n      - name: Run PR Summarizer\n        uses: bansikah22/pr-summarizer@v1.0.0  # Uses the lastest actions tag\n        with:\n          github_token: ${{ secrets.GITHUB_TOKEN }}\n```\n\nYou can also visit test repositories [Test PR Summarizer](https://github.com/bansikah22/test-pr-summarizer) so see how it works on external repositories.\n\n## How It Works\n\n1. When a pull request is opened or updated, the action is triggered\n2. It analyzes the changes made in the PR\n3. It generates a concise summary of the changes\n4. It fetches a programming joke from several APIs\n5. It posts a comment on the PR with the summary and joke\n\n## Development\n\n### Prerequisites\n\n- Rust 1.83.+\n- Cargo\n\n### Building\n\n```bash\ncargo build --release\n```\n\n## 🤝 Contributors\n\nWe appreciate the efforts of all contributors who help improve this project. \n\n| Contributor        | Role                         |\n|-------------------|-----------------------------|\n| **Noel Bansikah** | Author \u0026 Maintainer         |\n| **Synk** |  Maintainer         |\n| **Christian Yamele** |  Rust Developer        |\n\nContributions are welcomed! 🎉 Feel free to submit issues, feature requests, or pull requests to help enhance this project.\n\n## 📜 License\n\n[MIT](./LICENSE) License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiinsys%2Fpr-summarizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiinsys%2Fpr-summarizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiinsys%2Fpr-summarizer/lists"}