{"id":15449466,"url":"https://github.com/hooopo/oh-my-github-pipeline","last_synced_at":"2025-10-13T05:32:23.962Z","repository":{"id":155989028,"uuid":"617905659","full_name":"hooopo/oh-my-github-pipeline","owner":"hooopo","description":"🔄 A flexible open-source data pipeline for seamlessly syncing data from any github user to your database.","archived":false,"fork":false,"pushed_at":"2023-08-04T08:39:09.000Z","size":68,"stargazers_count":6,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-16T20:46:16.572Z","etag":null,"topics":["dashboard","data-pipeline","github","tidb"],"latest_commit_sha":null,"homepage":"https://github-dashboard-v3.vercel.app/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hooopo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-03-23T11:05:51.000Z","updated_at":"2023-10-27T04:28:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"3d2f8f46-74f5-4881-8cb3-cae40f6d8ee8","html_url":"https://github.com/hooopo/oh-my-github-pipeline","commit_stats":{"total_commits":34,"total_committers":2,"mean_commits":17.0,"dds":"0.32352941176470584","last_synced_commit":"2244e59f5f7fb55159638deecc6d2f1d60f0c50e"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/hooopo/oh-my-github-pipeline","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hooopo%2Foh-my-github-pipeline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hooopo%2Foh-my-github-pipeline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hooopo%2Foh-my-github-pipeline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hooopo%2Foh-my-github-pipeline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hooopo","download_url":"https://codeload.github.com/hooopo/oh-my-github-pipeline/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hooopo%2Foh-my-github-pipeline/sbom","scorecard":{"id":468945,"data":{"date":"2025-08-11","repo":{"name":"github.com/hooopo/oh-my-github-pipeline","commit":"2244e59f5f7fb55159638deecc6d2f1d60f0c50e"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.2,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/24 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/sync_github.yml:1","Warn: topLevel 'contents' permission set to 'write': .github/workflows/sync_upstream.yml:4","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":0,"reason":"license file not detected","details":["Warn: project does not have a license file"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/sync_github.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/hooopo/oh-my-github-pipeline/sync_github.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/sync_github.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/hooopo/oh-my-github-pipeline/sync_github.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/sync_github.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/hooopo/oh-my-github-pipeline/sync_github.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/sync_upstream.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/hooopo/oh-my-github-pipeline/sync_upstream.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/sync_upstream.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/hooopo/oh-my-github-pipeline/sync_upstream.yml/main?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:2: pin your Docker image by updating ruby:3.2-buster to ruby:3.2-buster@sha256:8401591f18ed4cb38e2ce73fe9f655e17c3386306851e2569f0102a05dc5aab2","Info:   0 out of   3 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   1 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"37 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-h47h-mwp9-c6q6","Warn: Project is vulnerable to: GHSA-4g8v-vg43-wpgf","Warn: Project is vulnerable to: GHSA-9822-6m93-xqf4","Warn: Project is vulnerable to: GHSA-fwhr-88qx-h9g7","Warn: Project is vulnerable to: GHSA-vfg9-r3fq-jvx4","Warn: Project is vulnerable to: GHSA-vfm5-rmrh-j26v","Warn: Project is vulnerable to: GHSA-x76w-6vjr-8xgj","Warn: Project is vulnerable to: GHSA-qjqp-xr96-cj99","Warn: Project is vulnerable to: GHSA-wwhv-wxv9-rpgw","Warn: Project is vulnerable to: GHSA-76r7-hhxj-r776","Warn: Project is vulnerable to: GHSA-8h22-8cf7-hq6g","Warn: Project is vulnerable to: GHSA-r4mg-4433-c7g3","Warn: Project is vulnerable to: GHSA-cr5q-6q9f-rq6q","Warn: Project is vulnerable to: GHSA-7fc5-f82f-cx69","Warn: Project is vulnerable to: GHSA-j3g3-5qv5-52mj","Warn: Project is vulnerable to: GHSA-353f-x4gh-cqq8","Warn: Project is vulnerable to: GHSA-5w6v-399v-w3cc","Warn: Project is vulnerable to: GHSA-mrxw-mxhj-p664","Warn: Project is vulnerable to: GHSA-r95h-9x8f-r3f7","Warn: Project is vulnerable to: GHSA-vvfq-8hwr-qm4m","Warn: Project is vulnerable to: GHSA-xc9x-jj77-9p9j","Warn: Project is vulnerable to: GHSA-68xg-gqqm-vgj8","Warn: Project is vulnerable to: GHSA-9hf4-67fc-4vf4","Warn: Project is vulnerable to: GHSA-c2f4-cvqm-65w2","Warn: Project is vulnerable to: GHSA-22f2-v57c-j9cx","Warn: Project is vulnerable to: GHSA-54rr-7fvw-6x8f","Warn: Project is vulnerable to: GHSA-7g2v-jj9q-g3rg","Warn: Project is vulnerable to: GHSA-7wqh-767x-r66v","Warn: Project is vulnerable to: GHSA-8cgq-6mh2-7j6v","Warn: Project is vulnerable to: GHSA-gjh7-p2fx-99vx","Warn: Project is vulnerable to: GHSA-vpfw-47h7-xj4g","Warn: Project is vulnerable to: GHSA-xj5v-6v4g-jfw6","Warn: Project is vulnerable to: GHSA-2x5m-9ch4-qgrr","Warn: Project is vulnerable to: GHSA-638j-pmjw-jq48","Warn: Project is vulnerable to: GHSA-cfjx-w229-hgx5","Warn: Project is vulnerable to: GHSA-rxv5-gxqc-xx8g","Warn: Project is vulnerable to: GHSA-w8gc-x259-rc7x"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 9 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-19T13:17:10.090Z","repository_id":155989028,"created_at":"2025-08-19T13:17:10.090Z","updated_at":"2025-08-19T13:17:10.090Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279013704,"owners_count":26085393,"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","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"}},"keywords":["dashboard","data-pipeline","github","tidb"],"created_at":"2024-10-01T21:00:39.805Z","updated_at":"2025-10-13T05:32:23.956Z","avatar_url":"https://github.com/hooopo.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Oh My GitHub Pipeline\n\n## GitHub Data Sync\n\nThis repository provides a powerful data pipeline that can sync all historical data for a GitHub user, as well as data for other users, to a free MySQL-compatible cloud database, TiDB Cloud. It can be used as a standalone data pipeline and combined with [Oh My GitHub Dashboard](https://github.com/hooopo/oh-my-github-dashboard) to create a personal dashboard.\n\nIn addition to generating a dashboard, this GitHub user data can also be used for the following purposes:\n\n* Generating a resume\n* Providing seed data for your frontend app demo\n* Feeding LLM to generate a digital persona\n* Syncing to your social networking site\n* Generating a personal branding website\n* Generating a weekly report\n\n### Setup Data Pipeline\n\nTo use this repository as a standalone data pipeline, simply fork this repo, and set the environment variables and the GitHub action will run automatically every hour. This will sync the specified user's GitHub data to TiDB Cloud.\n\n![image](https://user-images.githubusercontent.com/63877/226034715-edf3ea0f-870f-4933-8f6c-ea28a56dad1b.png)\n\nEnvironment Secrets\n\nTo use this repository, you will need to set the following secrets on GitHub:\n\n| Secret Name | Description |\n| --- | --- |\n| **DATABASE_URL** | The MySQL connection information in URI format for TiDB Cloud. You will need to register and create a serverless cluster on [https://tidb.cloud](https://tidb.cloud/), and the URI format should contain the necessary information for connecting to the cluster. An example of the DATABASE_URL format is: `mysql2://user:password@host:port/dbname` ![image](https://github.com/hooopo/repo-track-pipeline/assets/63877/dd91bf97-804d-4da8-b613-f5e65018d72d) |\n| **USER_LOGIN** | The user login of the account you want to sync. This can be your own GitHub account's user login or the user login of other users you want to sync. Note that if you choose to sync other users, you won't be able to sync private repositories and author_association information. |\n| ACCESS_TOKEN | Optional, default is `GITHUB_TOKEN`. A personal access token provided by GitHub, which can be obtained from [Sign in to GitHub · GitHub](https://github.com/settings/tokens). |\n| OPENAI_TOKEN | Optional, use it to generate story for your OSS contribution|\n\n⚠️ Make sure you enable GitHub Action for this forked repo.\n\n![image](https://user-images.githubusercontent.com/63877/226040673-bf5467ee-d8c7-4380-a705-0504229ddf16.png)\n\nEnable GitHub Action:\n![image](https://github.com/hooopo/oh-my-github-pipeline/assets/63877/3849182a-500e-4f0a-ad55-0429a4cc0e74)\n\nFor the first time, you can manually run GitHub Action:\n![image](https://github.com/hooopo/oh-my-github-pipeline/assets/63877/98b1b1d9-4b99-416f-8121-dd6eee1c8553)\n\n\n\n### Table Schema\n\nThis project involves the following table structures and their relationships, as illustrated in the diagram below.\n\n![image](https://user-images.githubusercontent.com/63877/227237749-d8ca55d9-4af3-47ad-b1f1-1526ca6bca4d.png)\n\n\nThe curr_user table contains only one record and is used by BI tools to directly locate the synchronized target user through SQL queries. If you are using other programming languages, you can directly query the users table using the login parameter: where login = 'user_login'.\n\nPlease refer to the table below for a brief description of each table's structure.\n\n```sql\n+------------------+--------------+------+-----+---------+----------------+\n| Field            | Type         | Null | Key | Default | Extra          |\n+------------------+--------------+------+-----+---------+----------------+\n| id               | bigint(20)   | NO   | PRI | \u003cnull\u003e  | auto_increment |\n| login            | varchar(255) | NO   |     | \u003cnull\u003e  |                |\n| company          | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| location         | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| twitter_username | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| followers_count  | int(11)      | YES  |     | 0       |                |\n| following_count  | int(11)      | YES  |     | 0       |                |\n| region           | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| created_at       | varchar(255) | NO   |     | \u003cnull\u003e  |                |\n| updated_at       | varchar(255) | NO   |     | \u003cnull\u003e  |                |\n+------------------+--------------+------+-----+---------+----------------+\n\n```\n\n```sql\n+--------------------+--------------+------+-----+---------+----------------+\n| Field              | Type         | Null | Key | Default | Extra          |\n+--------------------+--------------+------+-----+---------+----------------+\n| id                 | bigint(20)   | NO   | PRI | \u003cnull\u003e  | auto_increment |\n| name               | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| owner              | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| user_id            | bigint(20)   | YES  |     | \u003cnull\u003e  |                |\n| license            | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| is_private         | tinyint(1)   | YES  |     | \u003cnull\u003e  |                |\n| disk_usage         | int(11)      | YES  |     | \u003cnull\u003e  |                |\n| language           | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| description        | text         | YES  |     | \u003cnull\u003e  |                |\n| is_fork            | tinyint(1)   | YES  |     | \u003cnull\u003e  |                |\n| parent_id          | bigint(20)   | YES  |     | \u003cnull\u003e  |                |\n| fork_count         | int(11)      | YES  |     | \u003cnull\u003e  |                |\n| stargazer_count    | int(11)      | YES  |     | \u003cnull\u003e  |                |\n| pushed_at          | datetime(6)  | YES  |     | \u003cnull\u003e  |                |\n| topics             | json         | YES  |     | \u003cnull\u003e  |                |\n| created_at         | datetime(6)  | NO   |     | \u003cnull\u003e  |                |\n| updated_at         | datetime(6)  | NO   |     | \u003cnull\u003e  |                |\n| is_in_organization | tinyint(1)   | YES  |     | 0       |                |\n+--------------------+--------------+------+-----+---------+----------------+\n```\n\n```sql\n+--------------------+--------------+------+-----+---------+----------------+\n| Field              | Type         | Null | Key | Default | Extra          |\n+--------------------+--------------+------+-----+---------+----------------+\n| id                 | bigint(20)   | NO   | PRI | \u003cnull\u003e  | auto_increment |\n| repo_id            | bigint(20)   | YES  |     | \u003cnull\u003e  |                |\n| locked             | tinyint(1)   | YES  |     | \u003cnull\u003e  |                |\n| title              | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| closed             | tinyint(1)   | YES  |     | \u003cnull\u003e  |                |\n| closed_at          | datetime(6)  | YES  |     | \u003cnull\u003e  |                |\n| state              | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| number             | int(11)      | YES  |     | \u003cnull\u003e  |                |\n| user_id            | bigint(20)   | YES  | MUL | \u003cnull\u003e  |                |\n| author             | varchar(255) | YES  | MUL | \u003cnull\u003e  |                |\n| author_association | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| created_at         | datetime(6)  | NO   | MUL | \u003cnull\u003e  |                |\n| updated_at         | datetime(6)  | NO   | MUL | \u003cnull\u003e  |                |\n+--------------------+--------------+------+-----+---------+----------------+\n```\n\n```sql\n+--------------------+--------------+------+-----+---------+----------------+\n| Field              | Type         | Null | Key | Default | Extra          |\n+--------------------+--------------+------+-----+---------+----------------+\n| id                 | bigint(20)   | NO   | PRI | \u003cnull\u003e  | auto_increment |\n| repo_id            | bigint(20)   | YES  |     | \u003cnull\u003e  |                |\n| locked             | tinyint(1)   | YES  |     | \u003cnull\u003e  |                |\n| title              | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| closed             | tinyint(1)   | YES  |     | \u003cnull\u003e  |                |\n| closed_at          | datetime(6)  | YES  |     | \u003cnull\u003e  |                |\n| state              | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| number             | int(11)      | YES  |     | \u003cnull\u003e  |                |\n| author             | varchar(255) | YES  | MUL | \u003cnull\u003e  |                |\n| user_id            | bigint(20)   | YES  | MUL | \u003cnull\u003e  |                |\n| author_association | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| is_draft           | tinyint(1)   | YES  |     | \u003cnull\u003e  |                |\n| additions          | int(11)      | YES  |     | 0       |                |\n| deletions          | int(11)      | YES  |     | 0       |                |\n| merged_at          | datetime(6)  | YES  |     | \u003cnull\u003e  |                |\n| merged_by          | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| changed_files      | int(11)      | YES  |     | 0       |                |\n| merged             | tinyint(1)   | YES  |     | \u003cnull\u003e  |                |\n| comments_count     | int(11)      | YES  |     | 0       |                |\n| created_at         | datetime(6)  | NO   | MUL | \u003cnull\u003e  |                |\n| updated_at         | datetime(6)  | NO   | MUL | \u003cnull\u003e  |                |\n+--------------------+--------------+------+-----+---------+----------------+\n```\n\n```sql\n+--------------------+--------------+------+-----+---------+----------------+\n| Field              | Type         | Null | Key | Default | Extra          |\n+--------------------+--------------+------+-----+---------+----------------+\n| id                 | bigint(20)   | NO   | PRI | \u003cnull\u003e  | auto_increment |\n| repo_id            | bigint(20)   | YES  |     | \u003cnull\u003e  |                |\n| user_id            | bigint(20)   | YES  |     | \u003cnull\u003e  |                |\n| author_association | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| issue_id           | bigint(20)   | YES  |     | \u003cnull\u003e  |                |\n| created_at         | datetime(6)  | NO   |     | \u003cnull\u003e  |                |\n| updated_at         | datetime(6)  | NO   |     | \u003cnull\u003e  |                |\n+--------------------+--------------+------+-----+---------+----------------+\n```\n\n```sql\n\n+--------------------+--------------+------+-----+---------+----------------+\n| Field              | Type         | Null | Key | Default | Extra          |\n+--------------------+--------------+------+-----+---------+----------------+\n| id                 | bigint(20)   | NO   | PRI | \u003cnull\u003e  | auto_increment |\n| repo_id            | bigint(20)   | YES  |     | \u003cnull\u003e  |                |\n| user_id            | bigint(20)   | YES  |     | \u003cnull\u003e  |                |\n| author_association | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| created_at         | datetime(6)  | NO   |     | \u003cnull\u003e  |                |\n| updated_at         | datetime(6)  | NO   |     | \u003cnull\u003e  |                |\n+--------------------+--------------+------+-----+---------+----------------+\n```\n\n```sql\n+----------------+------------+------+-----+---------+-------+\n| Field          | Type       | Null | Key | Default | Extra |\n+----------------+------------+------+-----+---------+-------+\n| user_id        | bigint(20) | NO   | MUL | \u003cnull\u003e  |       |\n| target_user_id | bigint(20) | NO   |     | \u003cnull\u003e  |       |\n+----------------+------------+------+-----+---------+-------+\n```\n\n```sql\n+----------------+------------+------+-----+---------+-------+\n| Field          | Type       | Null | Key | Default | Extra |\n+----------------+------------+------+-----+---------+-------+\n| user_id        | bigint(20) | NO   | MUL | \u003cnull\u003e  |       |\n| target_user_id | bigint(20) | NO   |     | \u003cnull\u003e  |       |\n+----------------+------------+------+-----+---------+-------+\n```\n\n```sql\n+------------+-------------+------+-----+---------+-------+\n| Field      | Type        | Null | Key | Default | Extra |\n+------------+-------------+------+-----+---------+-------+\n| user_id    | bigint(20)  | NO   | MUL | \u003cnull\u003e  |       |\n| repo_id    | bigint(20)  | NO   |     | \u003cnull\u003e  |       |\n| starred_at | datetime(6) | NO   |     | \u003cnull\u003e  |       |\n+------------+-------------+------+-----+---------+-------+\n```\n\n```sql\n+----------------------------+--------------+------+-----+---------+----------------+\n| Field                      | Type         | Null | Key | Default | Extra          |\n+----------------------------+--------------+------+-----+---------+----------------+\n| id                         | bigint(20)   | NO   | PRI | \u003cnull\u003e  | auto_increment |\n| login                      | varchar(255) | NO   |     | \u003cnull\u003e  |                |\n| company                    | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| location                   | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| twitter_username           | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| followers_count            | int(11)      | YES  |     | 0       |                |\n| following_count            | int(11)      | YES  |     | 0       |                |\n| region                     | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| created_at                 | varchar(255) | NO   |     | \u003cnull\u003e  |                |\n| updated_at                 | varchar(255) | NO   |     | \u003cnull\u003e  |                |\n| last_issue_cursor          | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| last_pr_cursor             | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| last_follower_cursor       | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| last_following_cursor      | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| last_starred_repo_cursor   | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| last_repo_cursor           | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| last_commit_comment_cursor | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| last_issue_comment_cursor  | varchar(255) | YES  |     | \u003cnull\u003e  |                |\n| bio                        | text         | YES  |     | \u003cnull\u003e  |                |\n| story                      | text         | YES  |     | \u003cnull\u003e  |                |\n+----------------------------+--------------+------+-----+---------+----------------+\n```\n\n## Related repos\n\n* [Oh My GitHub Circles](https://github.com/hooopo/oh-my-github-circles)\n* [Oh My GitHub Pipeline](https://github.com/hooopo/oh-my-github-pipeline)\n* [Repo Contributor Circles](https://github.com/hooopo/repo-contributor-circles)\n* [Repo Track Pipeline](https://github.com/hooopo/repo-track-pipeline)\n* [OSSInsight Lite](https://github.com/pingcap/ossinsight-lite)\n* [OSSInsight](https://github.com/pingcap/ossinsight)\n* [Hackernews Insight](https://github.com/hooopo/hackernews-insight)\n* [Oh My GitHub Dashboard](https://github.com/hooopo/oh-my-github-dashboard)\n\n### Personal Dashboard\n\nSee the [Oh My GitHub Dashboard](https://github.com/hooopo/oh-my-github-dashboard) repository for more information on how to create a personal dashboard.\n\n![image](https://user-images.githubusercontent.com/63877/226038417-89937699-8cbb-49f1-8b0f-992db6bc2f26.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhooopo%2Foh-my-github-pipeline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhooopo%2Foh-my-github-pipeline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhooopo%2Foh-my-github-pipeline/lists"}