{"id":558,"name":null,"description":"uniform notifier for rails logger, customized logger, javascript alert, javascript console, growl and xmpp","url":"https://github.com/flyerhzm/uniform_notifier","last_synced_at":"2026-06-16T00:30:21.304Z","repository":{"id":1188639,"uuid":"1091892","full_name":"flyerhzm/uniform_notifier","owner":"flyerhzm","description":"uniform notifier for rails logger, customized logger, javascript alert, javascript console, growl and xmpp","archived":false,"fork":false,"pushed_at":"2025-08-31T13:53:00.000Z","size":164,"stargazers_count":253,"open_issues_count":7,"forks_count":39,"subscribers_count":5,"default_branch":"master","last_synced_at":"2026-06-04T00:02:33.599Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/flyerhzm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2010-11-18T15:16:10.000Z","updated_at":"2026-05-30T07:15:23.000Z","dependencies_parsed_at":"2025-05-02T08:36:51.591Z","dependency_job_id":"b439801a-3fb6-4ae4-91ab-a3afd1992bdc","html_url":"https://github.com/flyerhzm/uniform_notifier","commit_stats":null,"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/flyerhzm/uniform_notifier","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flyerhzm","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/sbom","scorecard":{"id":405063,"data":{"date":"2025-08-11","repo":{"name":"github.com/flyerhzm/uniform_notifier","commit":"eb19fba0621e55eabbac5c2c28464a1d2c1066d0"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.7,"checks":[{"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":"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":"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":"Code-Review","score":3,"reason":"Found 7/19 approved changesets -- score normalized to 3","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":"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/ci.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/flyerhzm/uniform_notifier/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/flyerhzm/uniform_notifier/ci.yml/master?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction 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":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","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":"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":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"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":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 18 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-18T20:59:03.104Z","repository_id":1188639,"created_at":"2025-08-18T20:59:03.105Z","updated_at":"2025-08-18T20:59:03.105Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33886153,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-03T02:00:06.370Z","response_time":59,"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"}},"owner":{"login":"flyerhzm","name":"Richard Huang","uuid":"66836","kind":"user","description":"Founder at synvert.net and awesomecode.io\r\n\r\nSpeaker of RailsConf and RubyConf","email":"","website":"https://synvert.net","location":"Shanghai, China","twitter":"flyerhzm","company":null,"icon_url":"https://avatars.githubusercontent.com/u/66836?v=4","repositories_count":110,"last_synced_at":"2024-04-14T15:24:03.749Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/flyerhzm","funding_links":[],"total_stars":14683,"followers":1051,"following":55,"created_at":"2022-11-02T16:34:30.356Z","updated_at":"2024-04-14T15:24:15.892Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flyerhzm","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flyerhzm/repositories"},"packages":[{"id":13805513,"name":"ruby-uniform-notifier","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/flyerhzm/uniform_notifier","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/flyerhzm/uniform_notifier","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T18:35:19.019Z","latest_release_published_at":"2026-02-13T18:35:19.019Z","latest_release_number":"1.16.0-1","last_synced_at":"2026-03-13T19:24:55.238Z","created_at":"2026-02-13T18:35:18.647Z","updated_at":"2026-03-13T19:24:55.238Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-uniform-notifier","install_command":"apt-get install ruby-uniform-notifier","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-uniform-notifier","standards_version":"4.6.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb (\u003e= 1), rake, ruby-rspec, ruby-xmpp4r, ruby-slack-notifier","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T18:35:32.147Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-uniform-notifier?arch=source\u0026distro=ubuntu-23.10\u0026repository_url=https://launchpad.net/ubuntu/mantic","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-uniform-notifier","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-uniform-notifier","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-uniform-notifier/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-uniform-notifier/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-uniform-notifier/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-uniform-notifier/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-uniform-notifier/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-uniform-notifier/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-uniform-notifier/codemeta","maintainers":[],"registry":{"name":"ubuntu-23.10","url":"https://launchpad.net/ubuntu/mantic","ecosystem":"ubuntu","default":false,"packages_count":36642,"maintainers_count":0,"namespaces_count":4,"keywords_count":2223,"github":"ubuntu","metadata":{"codename":"mantic","mirror":"http://old-releases.ubuntu.com/ubuntu","funded_packages_count":444},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.636Z","updated_at":"2026-06-10T05:17:48.008Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/namespaces"}},{"id":13407471,"name":"ruby-uniform-notifier","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/flyerhzm/uniform_notifier","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/flyerhzm/uniform_notifier","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-06T16:12:49.185Z","latest_release_published_at":"2026-02-06T16:12:49.185Z","latest_release_number":"1.16.0-1","last_synced_at":"2026-03-06T16:43:20.230Z","created_at":"2026-02-06T16:12:48.887Z","updated_at":"2026-03-06T16:43:20.231Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-uniform-notifier","install_command":"apt-get install ruby-uniform-notifier","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-uniform-notifier","standards_version":"4.6.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb (\u003e= 1), rake, ruby-rspec, ruby-xmpp4r, ruby-slack-notifier","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{},"purl":"pkg:deb/ubuntu/ruby-uniform-notifier?arch=source\u0026distro=ubuntu-24.04","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-uniform-notifier","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-uniform-notifier","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-uniform-notifier/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-uniform-notifier/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-uniform-notifier/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-uniform-notifier/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-uniform-notifier/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-uniform-notifier/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-uniform-notifier/codemeta","maintainers":[],"registry":{"name":"ubuntu-24.04","url":"https://launchpad.net/ubuntu/noble","ecosystem":"ubuntu","default":true,"packages_count":37306,"maintainers_count":0,"namespaces_count":4,"keywords_count":1701,"github":"ubuntu","metadata":{"codename":"noble","funded_packages_count":198},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:45.928Z","updated_at":"2026-06-10T05:17:44.581Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/namespaces"}},{"id":13567343,"name":"ruby-uniform-notifier","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/flyerhzm/uniform_notifier","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/flyerhzm/uniform_notifier","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-11T06:51:52.871Z","latest_release_published_at":"2026-02-11T06:51:52.871Z","latest_release_number":"1.16.0-1","last_synced_at":"2026-03-11T15:30:45.889Z","created_at":"2026-02-11T06:51:52.693Z","updated_at":"2026-03-11T15:30:45.889Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-uniform-notifier","install_command":"apt-get install ruby-uniform-notifier","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-uniform-notifier","standards_version":"4.6.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb (\u003e= 1), rake, ruby-rspec, ruby-xmpp4r, ruby-slack-notifier","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T14:57:18.025Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-uniform-notifier?arch=source\u0026distro=ubuntu-23.04\u0026repository_url=https://launchpad.net/ubuntu/lunar","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-uniform-notifier","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-uniform-notifier","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-uniform-notifier/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-uniform-notifier/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-uniform-notifier/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-uniform-notifier/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-uniform-notifier/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-uniform-notifier/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-uniform-notifier/codemeta","maintainers":[],"registry":{"name":"ubuntu-23.04","url":"https://launchpad.net/ubuntu/lunar","ecosystem":"ubuntu","default":false,"packages_count":36116,"maintainers_count":0,"namespaces_count":4,"keywords_count":1000,"github":"ubuntu","metadata":{"codename":"lunar","mirror":"http://old-releases.ubuntu.com/ubuntu","funded_packages_count":133},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:49.117Z","updated_at":"2026-06-10T05:17:49.008Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/namespaces"}},{"id":322279,"name":"uniform_notifier","ecosystem":"rubygems","description":"uniform notifier for rails logger, customized logger, javascript alert, javascript console and xmpp","homepage":"http://rubygems.org/gems/uniform_notifier","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/flyerhzm/uniform_notifier","keywords_array":[],"namespace":null,"versions_count":29,"first_release_published_at":"2010-11-19T08:14:50.918Z","latest_release_published_at":"2025-08-31T13:53:43.686Z","latest_release_number":"1.18.0","last_synced_at":"2026-06-11T23:30:17.274Z","created_at":"2022-04-06T12:04:16.979Z","updated_at":"2026-06-11T23:30:21.527Z","registry_url":"https://rubygems.org/gems/uniform_notifier","install_command":"gem install uniform_notifier -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/uniform_notifier/","metadata":{"funding":null},"repo_metadata":{"id":1188639,"uuid":"1091892","full_name":"flyerhzm/uniform_notifier","owner":"flyerhzm","description":"uniform notifier for rails logger, customized logger, javascript alert, javascript console, growl and xmpp","archived":false,"fork":false,"pushed_at":"2025-08-31T13:53:00.000Z","size":164,"stargazers_count":253,"open_issues_count":7,"forks_count":39,"subscribers_count":5,"default_branch":"master","last_synced_at":"2026-06-04T00:02:33.599Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/flyerhzm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2010-11-18T15:16:10.000Z","updated_at":"2026-05-30T07:15:23.000Z","dependencies_parsed_at":"2025-05-02T08:36:51.591Z","dependency_job_id":"b439801a-3fb6-4ae4-91ab-a3afd1992bdc","html_url":"https://github.com/flyerhzm/uniform_notifier","commit_stats":null,"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/flyerhzm/uniform_notifier","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flyerhzm","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/sbom","scorecard":{"id":405063,"data":{"date":"2025-08-11","repo":{"name":"github.com/flyerhzm/uniform_notifier","commit":"eb19fba0621e55eabbac5c2c28464a1d2c1066d0"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.7,"checks":[{"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":"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":"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":"Code-Review","score":3,"reason":"Found 7/19 approved changesets -- score normalized to 3","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":"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/ci.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/flyerhzm/uniform_notifier/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/flyerhzm/uniform_notifier/ci.yml/master?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction 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":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","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":"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":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"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":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 18 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-18T20:59:03.104Z","repository_id":1188639,"created_at":"2025-08-18T20:59:03.105Z","updated_at":"2025-08-18T20:59:03.105Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33886153,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-03T02:00:06.370Z","response_time":59,"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"},"owner_record":{"login":"flyerhzm","name":"Richard Huang","uuid":"66836","kind":"user","description":"Founder at synvert.net and awesomecode.io\r\n\r\nSpeaker of RailsConf and RubyConf","email":"","website":"https://synvert.net","location":"Shanghai, China","twitter":"flyerhzm","company":null,"icon_url":"https://avatars.githubusercontent.com/u/66836?v=4","repositories_count":110,"last_synced_at":"2024-04-14T15:24:03.749Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/flyerhzm","funding_links":[],"total_stars":14683,"followers":1051,"following":55,"created_at":"2022-11-02T16:34:30.356Z","updated_at":"2024-04-14T15:24:15.892Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flyerhzm","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flyerhzm/repositories"},"tags":[{"name":"v1.18.0","sha":"66295e5df3475633a962d55217458ad496fe6869","kind":"tag","published_at":"2025-08-31T13:52:53.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.18.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.18.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.18.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.18.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.18.0/manifests"},{"name":"v1.17.0","sha":"eb19fba0621e55eabbac5c2c28464a1d2c1066d0","kind":"tag","published_at":"2025-05-07T07:00:30.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.17.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.17.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.17.0/manifests"},{"name":"v1.16.0","sha":"423d62ff4f68d6a02497c8a1add6378be7bac3b5","kind":"tag","published_at":"2022-03-24T11:39:16.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.16.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.16.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.16.0/manifests"},{"name":"v1.15.0","sha":"520ee47cedde358556b962abcd6897a2e2a0dcca","kind":"tag","published_at":"2022-03-21T03:09:20.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.15.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.15.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.15.0/manifests"},{"name":"v1.14.2","sha":"c34ec54077b93e05968005dd923b3ea2a06e4a9c","kind":"tag","published_at":"2021-03-23T23:50:44.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.14.2","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.14.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.14.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.14.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.14.2/manifests"},{"name":"v1.14.1","sha":"ed28676b33fb02207e895394be3ccbee897116e1","kind":"tag","published_at":"2021-02-28T10:27:55.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.14.1","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.14.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.14.1/manifests"},{"name":"v1.14.0","sha":"bf0defdea36594defb1686a42bfdf478ae51e398","kind":"tag","published_at":"2021-02-26T07:30:32.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.14.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.14.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.14.0/manifests"},{"name":"v1.13.2","sha":"e87b4c95e3dc1438f5bdc29e37c4bc2eb2e878e9","kind":"tag","published_at":"2021-01-11T12:01:10.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.13.2","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.13.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.13.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.13.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.13.2/manifests"},{"name":"v1.13.1","sha":"ec9a996ab31a3ba4ec06c53599cba379cc98ce3b","kind":"tag","published_at":"2021-01-07T23:39:17.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.13.1","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.13.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.13.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.13.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.13.1/manifests"},{"name":"v1.13.0","sha":"bff46c2e43941d1dab890c0d674a28fdb4a8171e","kind":"tag","published_at":"2019-10-05T07:21:31.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.13.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.13.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.13.0/manifests"},{"name":"v1.12.1","sha":"e1322c607b5c0208f4e4bb79c072e5f885033faf","kind":"tag","published_at":"2018-10-30T00:43:25.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.12.1","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.12.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.12.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.12.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.12.1/manifests"},{"name":"v1.12.0","sha":"e8d68a566d4650cdfce485e0e89b6dde165562ba","kind":"tag","published_at":"2018-08-17T00:41:21.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.12.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.12.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.12.0/manifests"},{"name":"v1.11.0","sha":"1e34af4a0d015e8e374533fccef3268f62e33019","kind":"tag","published_at":"2017-11-13T02:23:20.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.11.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.11.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.11.0/manifests"},{"name":"v1.10.0","sha":"851ebecfa7fe0122b8e786c1ead2cac24471e5da","kind":"tag","published_at":"2016-01-06T05:55:21.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.10.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.10.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.10.0/manifests"},{"name":"v1.9.0","sha":"e59037eda22a6603e2ec2f6c3b8b42bc0c347491","kind":"tag","published_at":"2015-04-19T07:06:05.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.9.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.9.0/manifests"},{"name":"v1.8.0","sha":"27984ada7049f90c9bb641d857cf94aa887edb9f","kind":"tag","published_at":"2015-03-17T14:33:32.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.8.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.8.0/manifests"},{"name":"v1.7.0","sha":"43ce32f4aaadd175ede96963cc0b83bf8391ec35","kind":"tag","published_at":"2015-02-08T09:28:49.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.7.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.7.0/manifests"},{"name":"v1.6.2","sha":"6b9c3dc935245c82e6c42400390388f85ea8d2db","kind":"tag","published_at":"2014-06-10T00:30:42.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.6.2","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.6.2/manifests"},{"name":"v1.6.1","sha":"9b41b192f9510c47f9e9af1ec65dec49597084c0","kind":"tag","published_at":"2014-05-02T03:44:10.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.6.1","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.6.1/manifests"},{"name":"v1.6.0","sha":"9048591b5934fdd0530a76bcf75d64d43fbac0c1","kind":"tag","published_at":"2014-04-30T08:30:37.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.6.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.6.0/manifests"},{"name":"v1.5.0","sha":"41ab2bfdb7ddd9b6cd7e0b898c1693dd76aed39c","kind":"tag","published_at":"2014-04-26T14:14:57.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.5.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.5.0/manifests"},{"name":"v1.4.0","sha":"242e3508ccf8bf490e6eb949449b9c1e34c654c7","kind":"tag","published_at":"2013-11-03T05:59:50.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.4.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.4.0/manifests"},{"name":"v1.3.0","sha":"d824353041daed2319112a53df8f926fae1e76e1","kind":"tag","published_at":"2013-08-28T05:42:31.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.3.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.3.0/manifests"},{"name":"v1.2.0","sha":"e8930f34e10a50aeef8e13e15dc7df0469c955e2","kind":"tag","published_at":"2013-03-03T14:39:17.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.2.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.2.0/manifests"},{"name":"v1.1.1","sha":"ee0119d83e84e6bc509971c24191a37ef0f0d911","kind":"tag","published_at":"2012-12-28T14:45:18.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.1.1","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"5fe7b24d106a234c45860efa4bf7c1cd7018d085","kind":"tag","published_at":"2012-09-28T15:20:49.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.1.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.1.0/manifests"},{"name":"v1.0.2","sha":"1e97e05518963edba1027748856492c8569dba30","kind":"tag","published_at":"2012-03-06T22:33:03.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.0.2","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"a59406fe34f0ca992c11f20c1965c81f56f33ae2","kind":"tag","published_at":"2010-12-15T14:08:52.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.0.1","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"a474c302178710ebc9de73f1304115c64f99b805","kind":"tag","published_at":"2010-11-19T08:14:38.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.0.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.0.0/manifests"}]},"repo_metadata_updated_at":"2026-06-11T23:30:21.500Z","dependent_packages_count":8,"downloads":175008262,"downloads_period":"total","dependent_repos_count":12017,"rankings":{"downloads":0.16279925513765459,"dependent_repos_count":0.31277528127474047,"dependent_packages_count":2.0444687280471894,"stargazers_count":3.728771980687102,"forks_count":4.1876205662291905,"docker_downloads_count":0.27709325275141894,"average":1.7855881773545492},"purl":"pkg:gem/uniform_notifier","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/uniform_notifier","docker_dependents_count":341,"docker_downloads_count":471391002,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/uniform_notifier","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/uniform_notifier/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2026-06-09T08:30:28.000Z","issues_count":16,"pull_requests_count":60,"avg_time_to_close_issue":11068331.636363637,"avg_time_to_close_pull_request":3633634.293103448,"issues_closed_count":11,"pull_requests_closed_count":58,"pull_request_authors_count":36,"issue_authors_count":15,"avg_comments_per_issue":1.5,"avg_comments_per_pull_request":0.5333333333333333,"merged_pull_requests_count":49,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":12.0,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/issues","maintainers":[{"login":"flyerhzm","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/flyerhzm"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/uniform_notifier/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/uniform_notifier/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/uniform_notifier/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/uniform_notifier/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/uniform_notifier/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/uniform_notifier/codemeta","maintainers":[{"uuid":"456","login":"flyerhzm","name":null,"email":null,"url":null,"packages_count":43,"html_url":"https://rubygems.org/profiles/flyerhzm","role":null,"created_at":"2022-11-09T09:55:18.572Z","updated_at":"2022-11-09T09:55:18.572Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/flyerhzm/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":207800,"maintainers_count":68931,"namespaces_count":0,"keywords_count":18771,"github":"rubygems","metadata":{"funded_packages_count":7455},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-06-10T05:04:00.514Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":12348267,"name":"uniform_notifier","ecosystem":"rubygems","description":"uniform notifier for rails logger, customized logger, javascript alert, javascript console and xmpp","homepage":"http://rubygems.org/gems/uniform_notifier","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/flyerhzm/uniform_notifier","keywords_array":[],"namespace":null,"versions_count":29,"first_release_published_at":"2010-11-19T08:14:50.918Z","latest_release_published_at":"2025-08-31T13:53:43.686Z","latest_release_number":"1.18.0","last_synced_at":"2026-06-12T03:30:36.429Z","created_at":"2025-10-07T06:42:16.061Z","updated_at":"2026-06-12T03:32:07.725Z","registry_url":"https://gem.coop/gems/uniform_notifier","install_command":"gem install uniform_notifier -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/uniform_notifier/","metadata":{"funding":null},"repo_metadata":{"id":1188639,"uuid":"1091892","full_name":"flyerhzm/uniform_notifier","owner":"flyerhzm","description":"uniform notifier for rails logger, customized logger, javascript alert, javascript console, growl and xmpp","archived":false,"fork":false,"pushed_at":"2025-08-31T13:53:00.000Z","size":164,"stargazers_count":252,"open_issues_count":7,"forks_count":39,"subscribers_count":5,"default_branch":"master","last_synced_at":"2026-05-27T15:06:53.357Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/flyerhzm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2010-11-18T15:16:10.000Z","updated_at":"2026-05-26T08:33:37.000Z","dependencies_parsed_at":"2025-05-02T08:36:51.591Z","dependency_job_id":"b439801a-3fb6-4ae4-91ab-a3afd1992bdc","html_url":"https://github.com/flyerhzm/uniform_notifier","commit_stats":null,"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/flyerhzm/uniform_notifier","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flyerhzm","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/sbom","scorecard":{"id":405063,"data":{"date":"2025-08-11","repo":{"name":"github.com/flyerhzm/uniform_notifier","commit":"eb19fba0621e55eabbac5c2c28464a1d2c1066d0"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.7,"checks":[{"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":"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":"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":"Code-Review","score":3,"reason":"Found 7/19 approved changesets -- score normalized to 3","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":"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/ci.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/flyerhzm/uniform_notifier/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/flyerhzm/uniform_notifier/ci.yml/master?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction 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":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","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":"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":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"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":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 18 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-18T20:59:03.104Z","repository_id":1188639,"created_at":"2025-08-18T20:59:03.105Z","updated_at":"2025-08-18T20:59:03.105Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33739861,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-31T02:00:06.040Z","response_time":95,"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"},"owner_record":{"login":"flyerhzm","name":"Richard Huang","uuid":"66836","kind":"user","description":"Founder at synvert.net and awesomecode.io\r\n\r\nSpeaker of RailsConf and RubyConf","email":"","website":"https://synvert.net","location":"Shanghai, China","twitter":"flyerhzm","company":null,"icon_url":"https://avatars.githubusercontent.com/u/66836?v=4","repositories_count":110,"last_synced_at":"2024-04-14T15:24:03.749Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/flyerhzm","funding_links":[],"total_stars":14683,"followers":1051,"following":55,"created_at":"2022-11-02T16:34:30.356Z","updated_at":"2024-04-14T15:24:15.892Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flyerhzm","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flyerhzm/repositories"},"tags":[{"name":"v1.18.0","sha":"66295e5df3475633a962d55217458ad496fe6869","kind":"tag","published_at":"2025-08-31T13:52:53.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.18.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.18.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.18.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.18.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.18.0/manifests"},{"name":"v1.17.0","sha":"eb19fba0621e55eabbac5c2c28464a1d2c1066d0","kind":"tag","published_at":"2025-05-07T07:00:30.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.17.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.17.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.17.0/manifests"},{"name":"v1.16.0","sha":"423d62ff4f68d6a02497c8a1add6378be7bac3b5","kind":"tag","published_at":"2022-03-24T11:39:16.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.16.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.16.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.16.0/manifests"},{"name":"v1.15.0","sha":"520ee47cedde358556b962abcd6897a2e2a0dcca","kind":"tag","published_at":"2022-03-21T03:09:20.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.15.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.15.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.15.0/manifests"},{"name":"v1.14.2","sha":"c34ec54077b93e05968005dd923b3ea2a06e4a9c","kind":"tag","published_at":"2021-03-23T23:50:44.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.14.2","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.14.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.14.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.14.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.14.2/manifests"},{"name":"v1.14.1","sha":"ed28676b33fb02207e895394be3ccbee897116e1","kind":"tag","published_at":"2021-02-28T10:27:55.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.14.1","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.14.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.14.1/manifests"},{"name":"v1.14.0","sha":"bf0defdea36594defb1686a42bfdf478ae51e398","kind":"tag","published_at":"2021-02-26T07:30:32.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.14.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.14.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.14.0/manifests"},{"name":"v1.13.2","sha":"e87b4c95e3dc1438f5bdc29e37c4bc2eb2e878e9","kind":"tag","published_at":"2021-01-11T12:01:10.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.13.2","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.13.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.13.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.13.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.13.2/manifests"},{"name":"v1.13.1","sha":"ec9a996ab31a3ba4ec06c53599cba379cc98ce3b","kind":"tag","published_at":"2021-01-07T23:39:17.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.13.1","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.13.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.13.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.13.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.13.1/manifests"},{"name":"v1.13.0","sha":"bff46c2e43941d1dab890c0d674a28fdb4a8171e","kind":"tag","published_at":"2019-10-05T07:21:31.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.13.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.13.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.13.0/manifests"},{"name":"v1.12.1","sha":"e1322c607b5c0208f4e4bb79c072e5f885033faf","kind":"tag","published_at":"2018-10-30T00:43:25.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.12.1","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.12.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.12.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.12.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.12.1/manifests"},{"name":"v1.12.0","sha":"e8d68a566d4650cdfce485e0e89b6dde165562ba","kind":"tag","published_at":"2018-08-17T00:41:21.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.12.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.12.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.12.0/manifests"},{"name":"v1.11.0","sha":"1e34af4a0d015e8e374533fccef3268f62e33019","kind":"tag","published_at":"2017-11-13T02:23:20.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.11.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.11.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.11.0/manifests"},{"name":"v1.10.0","sha":"851ebecfa7fe0122b8e786c1ead2cac24471e5da","kind":"tag","published_at":"2016-01-06T05:55:21.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.10.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.10.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.10.0/manifests"},{"name":"v1.9.0","sha":"e59037eda22a6603e2ec2f6c3b8b42bc0c347491","kind":"tag","published_at":"2015-04-19T07:06:05.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.9.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.9.0/manifests"},{"name":"v1.8.0","sha":"27984ada7049f90c9bb641d857cf94aa887edb9f","kind":"tag","published_at":"2015-03-17T14:33:32.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.8.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.8.0/manifests"},{"name":"v1.7.0","sha":"43ce32f4aaadd175ede96963cc0b83bf8391ec35","kind":"tag","published_at":"2015-02-08T09:28:49.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.7.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.7.0/manifests"},{"name":"v1.6.2","sha":"6b9c3dc935245c82e6c42400390388f85ea8d2db","kind":"tag","published_at":"2014-06-10T00:30:42.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.6.2","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.6.2/manifests"},{"name":"v1.6.1","sha":"9b41b192f9510c47f9e9af1ec65dec49597084c0","kind":"tag","published_at":"2014-05-02T03:44:10.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.6.1","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.6.1/manifests"},{"name":"v1.6.0","sha":"9048591b5934fdd0530a76bcf75d64d43fbac0c1","kind":"tag","published_at":"2014-04-30T08:30:37.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.6.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.6.0/manifests"},{"name":"v1.5.0","sha":"41ab2bfdb7ddd9b6cd7e0b898c1693dd76aed39c","kind":"tag","published_at":"2014-04-26T14:14:57.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.5.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.5.0/manifests"},{"name":"v1.4.0","sha":"242e3508ccf8bf490e6eb949449b9c1e34c654c7","kind":"tag","published_at":"2013-11-03T05:59:50.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.4.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.4.0/manifests"},{"name":"v1.3.0","sha":"d824353041daed2319112a53df8f926fae1e76e1","kind":"tag","published_at":"2013-08-28T05:42:31.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.3.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.3.0/manifests"},{"name":"v1.2.0","sha":"e8930f34e10a50aeef8e13e15dc7df0469c955e2","kind":"tag","published_at":"2013-03-03T14:39:17.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.2.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.2.0/manifests"},{"name":"v1.1.1","sha":"ee0119d83e84e6bc509971c24191a37ef0f0d911","kind":"tag","published_at":"2012-12-28T14:45:18.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.1.1","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"5fe7b24d106a234c45860efa4bf7c1cd7018d085","kind":"tag","published_at":"2012-09-28T15:20:49.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.1.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.1.0/manifests"},{"name":"v1.0.2","sha":"1e97e05518963edba1027748856492c8569dba30","kind":"tag","published_at":"2012-03-06T22:33:03.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.0.2","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"a59406fe34f0ca992c11f20c1965c81f56f33ae2","kind":"tag","published_at":"2010-12-15T14:08:52.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.0.1","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"a474c302178710ebc9de73f1304115c64f99b805","kind":"tag","published_at":"2010-11-19T08:14:38.000Z","download_url":"https://codeload.github.com/flyerhzm/uniform_notifier/tar.gz/v1.0.0","html_url":"https://github.com/flyerhzm/uniform_notifier/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/flyerhzm/uniform_notifier@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/tags/v1.0.0/manifests"}]},"repo_metadata_updated_at":"2026-06-12T03:32:07.699Z","dependent_packages_count":0,"downloads":175020895,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":0.1535409018906075,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":0.051180300630202506},"purl":"pkg:gem/uniform_notifier?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/uniform_notifier","docker_dependents_count":341,"docker_downloads_count":471391002,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/uniform_notifier","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/uniform_notifier/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-06-02T17:22:36.678Z","issues_count":16,"pull_requests_count":60,"avg_time_to_close_issue":11068331.636363637,"avg_time_to_close_pull_request":3633634.293103448,"issues_closed_count":11,"pull_requests_closed_count":58,"pull_request_authors_count":36,"issue_authors_count":15,"avg_comments_per_issue":1.5,"avg_comments_per_pull_request":0.5333333333333333,"merged_pull_requests_count":49,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":12.0,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/issues","maintainers":[{"login":"flyerhzm","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/flyerhzm"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/uniform_notifier/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/uniform_notifier/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/uniform_notifier/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/uniform_notifier/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/uniform_notifier/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/uniform_notifier/codemeta","maintainers":[{"uuid":"456","login":"flyerhzm","name":null,"email":null,"url":null,"packages_count":43,"html_url":"https://gem.coop/profiles/flyerhzm","role":null,"created_at":"2025-10-10T00:35:18.669Z","updated_at":"2025-10-10T00:35:18.669Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/flyerhzm/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":192635,"maintainers_count":67943,"namespaces_count":0,"keywords_count":18400,"github":"gem-coop","metadata":{"funded_packages_count":6885},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-06-10T05:17:24.062Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":14533773,"name":"misc/ruby-uniform_notifier","ecosystem":"pkgsrc","description":"Uniform notifier for rails logger and more","homepage":"https://github.com/flyerhzm/uniform_notifier","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/flyerhzm/uniform_notifier","keywords_array":["misc","ruby"],"namespace":"misc","versions_count":1,"first_release_published_at":"2026-04-06T12:06:28.000Z","latest_release_published_at":"2026-04-06T12:06:28.000Z","latest_release_number":"1.18.0","last_synced_at":"2026-05-27T08:26:14.347Z","created_at":"2026-05-27T08:26:13.907Z","updated_at":"2026-05-27T08:35:12.260Z","registry_url":"https://pkgsrc.se/misc/ruby-uniform_notifier","install_command":"pkg_add ruby40-uniform_notifier","documentation_url":"https://pkgsrc.se/misc/ruby-uniform_notifier","metadata":{"pkg_slug":"ruby-uniform_notifier","pkgbase":"ruby33-uniform_notifier","machine_arch":"x86_64","opsys":"NetBSD","pkgname_latest":"ruby33-uniform_notifier-1.18.0"},"repo_metadata":{},"repo_metadata_updated_at":"2026-05-27T08:26:14.876Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:pkgsrc/misc/ruby-uniform_notifier?arch=x86_64\u0026os=NetBSD","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pkgsrc/misc/ruby-uniform_notifier","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pkgsrc/misc/ruby-uniform_notifier","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pkgsrc/misc/ruby-uniform_notifier/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/misc%2Fruby-uniform_notifier/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/misc%2Fruby-uniform_notifier/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/misc%2Fruby-uniform_notifier/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/misc%2Fruby-uniform_notifier/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/misc%2Fruby-uniform_notifier/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/misc%2Fruby-uniform_notifier/codemeta","maintainers":[],"registry":{"name":"pkgsrc-netbsd-x86_64-10.1-all","url":"https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/x86_64/10.1/All","ecosystem":"pkgsrc","default":true,"packages_count":19498,"maintainers_count":0,"namespaces_count":42,"keywords_count":308,"github":"pkgsrc","metadata":{"funded_packages_count":48},"icon_url":"https://github.com/pkgsrc.png","created_at":"2026-05-26T08:59:24.518Z","updated_at":"2026-06-09T05:04:46.058Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/namespaces"}},{"id":13467455,"name":"ruby-uniform-notifier","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/flyerhzm/uniform_notifier","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/flyerhzm/uniform_notifier","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-09T17:31:18.735Z","latest_release_published_at":"2026-02-09T17:31:18.735Z","latest_release_number":"1.16.0-1","last_synced_at":"2026-03-09T18:23:45.165Z","created_at":"2026-02-09T17:31:18.081Z","updated_at":"2026-03-09T18:32:55.012Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-uniform-notifier","install_command":"apt-get install ruby-uniform-notifier","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-uniform-notifier","standards_version":"4.6.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb (\u003e= 1), rake, ruby-rspec, ruby-xmpp4r, ruby-slack-notifier","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-uniform-notifier?arch=source\u0026distro=ubuntu-24.10\u0026repository_url=https://launchpad.net/ubuntu/oracular","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-uniform-notifier","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-uniform-notifier","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-uniform-notifier/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-uniform-notifier/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-uniform-notifier/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-uniform-notifier/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-uniform-notifier/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-uniform-notifier/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-uniform-notifier/codemeta","maintainers":[],"registry":{"name":"ubuntu-24.10","url":"https://launchpad.net/ubuntu/oracular","ecosystem":"ubuntu","default":false,"packages_count":38437,"maintainers_count":0,"namespaces_count":4,"keywords_count":1473,"github":"ubuntu","metadata":{"codename":"oracular","mirror":"http://old-releases.ubuntu.com/ubuntu","funded_packages_count":214},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.028Z","updated_at":"2026-06-10T05:17:05.787Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/namespaces"}},{"id":13713540,"name":"ruby-uniform-notifier","ecosystem":"debian","description":null,"homepage":"https://github.com/flyerhzm/uniform_notifier","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/flyerhzm/uniform_notifier","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T23:43:32.187Z","latest_release_published_at":"2026-02-12T23:43:32.187Z","latest_release_number":"1.16.0-1","last_synced_at":"2026-03-13T23:47:47.676Z","created_at":"2026-02-12T23:43:32.001Z","updated_at":"2026-03-13T23:47:47.676Z","registry_url":"https://tracker.debian.org/pkg/ruby-uniform-notifier","install_command":"apt-get install ruby-uniform-notifier","documentation_url":"https://packages.debian.org/bookworm/ruby-uniform-notifier","metadata":{"component":"main","architecture":"all","priority":"extra","binary":"ruby-uniform-notifier","standards_version":"4.6.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb (\u003e= 1), rake, ruby-rspec, ruby-xmpp4r, ruby-slack-notifier","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-12T23:43:32.723Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-uniform-notifier?arch=source\u0026distro=debian-12","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-uniform-notifier","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-uniform-notifier","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-uniform-notifier/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-uniform-notifier/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-uniform-notifier/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-uniform-notifier/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-uniform-notifier/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-uniform-notifier/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-uniform-notifier/codemeta","maintainers":[],"registry":{"name":"debian-12","url":"https://packages.debian.org/bookworm","ecosystem":"debian","default":true,"packages_count":34734,"maintainers_count":0,"namespaces_count":4,"keywords_count":2667,"github":"debian","metadata":{"codename":"bookworm","funded_packages_count":395},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.459Z","updated_at":"2026-06-10T05:17:51.014Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/namespaces"}},{"id":13669694,"name":"ruby-uniform-notifier","ecosystem":"debian","description":null,"homepage":"https://github.com/flyerhzm/uniform_notifier","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/flyerhzm/uniform_notifier","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T12:47:38.985Z","latest_release_published_at":"2026-02-12T12:47:38.985Z","latest_release_number":"1.16.0-1","last_synced_at":"2026-03-14T18:12:06.229Z","created_at":"2026-02-12T12:47:38.822Z","updated_at":"2026-03-14T18:12:06.229Z","registry_url":"https://tracker.debian.org/pkg/ruby-uniform-notifier","install_command":"apt-get install ruby-uniform-notifier","documentation_url":"https://packages.debian.org/trixie/ruby-uniform-notifier","metadata":{"component":"main","architecture":"all","priority":"extra","binary":"ruby-uniform-notifier","standards_version":"4.6.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb (\u003e= 1), rake, ruby-rspec, ruby-xmpp4r, ruby-slack-notifier","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-12T12:47:39.682Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-uniform-notifier?arch=source\u0026distro=debian-13\u0026repository_url=https://packages.debian.org/trixie","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-uniform-notifier","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-uniform-notifier","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-uniform-notifier/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-uniform-notifier/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-uniform-notifier/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-uniform-notifier/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-uniform-notifier/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-uniform-notifier/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-uniform-notifier/codemeta","maintainers":[],"registry":{"name":"debian-13","url":"https://packages.debian.org/trixie","ecosystem":"debian","default":false,"packages_count":38024,"maintainers_count":0,"namespaces_count":4,"keywords_count":1987,"github":"debian","metadata":{"codename":"trixie","funded_packages_count":316},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:50.448Z","updated_at":"2026-06-10T05:17:04.542Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/namespaces"}}],"commits":{"id":19608,"full_name":"flyerhzm/uniform_notifier","default_branch":"master","total_commits":171,"total_committers":41,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":4.170731707317073,"dds":0.5847953216374269,"past_year_total_commits":3,"past_year_total_committers":2,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":1.5,"past_year_dds":0.33333333333333337,"last_synced_at":"2026-06-14T16:24:20.918Z","last_synced_commit":"66295e5df3475633a962d55217458ad496fe6869","created_at":"2023-03-07T11:41:36.728Z","updated_at":"2026-06-14T16:22:56.176Z","committers":[{"name":"Richard Huang","email":"flyerhzm@gmail.com","login":"flyerhzm","count":71},{"name":"Awesome Code","email":"team@xinminlabs.com","login":null,"count":35},{"name":"dtaniwaki","email":"daisuketaniwaki@gmail.com","login":"dtaniwaki","count":6},{"name":"mishina","email":"temma182008@gmail.com","login":"mishina2228","count":5},{"name":"Dan Finnie","email":"dan@danfinnie.com","login":"danfinnie","count":4},{"name":"Konstantin Kosmatov","email":"key@kosmatov.su","login":null,"count":3},{"name":"Akira Matsuda","email":"ronnie@dio.jp","login":"amatsuda","count":3},{"name":"Andrew King","email":"me@andrewsking.com","login":"andykingking","count":3},{"name":"Fabio Perrella","email":"fabio.perrella@gmail.com","login":"fabioperrella","count":3},{"name":"Stefan Wrobel","email":"swrobel","login":"swrobel","count":3},{"name":"Joshua Wood","email":"josh@hintmedia.com","login":null,"count":2},{"name":"Brian Kelly","email":"polymonic@gmail.com","login":"spilth","count":2},{"name":"Sinan Keskin","email":"sinan@kesk.in","login":"sinankeskin","count":2},{"name":"Steven Soroka","email":"ssoroka78@gmail.com","login":"ssoroka","count":2},{"name":"tinogomes","email":"tinorj@gmail.com","login":"tinogomes","count":1},{"name":"teckwan","email":"wong.teck.wan@outlook.com","login":"teckwan","count":1},{"name":"skawaji","email":"s.kawaji@ehealthcare.co.jp","login":"skawaji","count":1},{"name":"Alexey Nikitin","email":"nikitin@dreamindustries.co","login":null,"count":1},{"name":"Andrew Hao","email":"ahao@blurb.com","login":null,"count":1},{"name":"AwesomeCode","email":"team@awesomecode.io","login":null,"count":1},{"name":"Flip Sasser","email":"flip@x451.com","login":null,"count":1},{"name":"Name=Goslawski Dawid","email":"dawid.goslawski@nsn.com","login":null,"count":1},{"name":"Nicolas Besnard","email":"nicolas.besnard@rea-group.com","login":null,"count":1},{"name":"jeniaefimov","email":"e.effimov@mail.ru","login":null,"count":1},{"name":"dmathieu","email":"42@dmathieu.com","login":"dmathieu","count":1},{"name":"adamors","email":"adamors","login":"adamors","count":1},{"name":"Yuriy Tsemashko","email":"y.tsemashko@gmail.com","login":"azzz","count":1},{"name":"Tim van der Horst","email":"timgvdh@gmail.com","login":"vdh","count":1},{"name":"Stanisław Pitucha","email":"stan.pitucha@envato.com","login":"viraptor","count":1},{"name":"Olle Jonsson","email":"olle.jonsson@gmail.com","login":"olleolleolle","count":1},{"name":"Nicolas Besnard","email":"besnard.nicolas@gmail.com","login":"nicolas-besnard","count":1},{"name":"Nick Hammond","email":"nick@nickhammond.com","login":"nickhammond","count":1},{"name":"Milica","email":"milicacob@gmail.com","login":"mmaksimovic","count":1},{"name":"Ian Duggan","email":"ian@ianduggan.net","login":"ijcd","count":1},{"name":"Hiroshi SHIBATA","email":"hsbt@ruby-lang.org","login":"hsbt","count":1},{"name":"Alexey Bobyrev","email":"alexey.bobyrev@gmail.com","login":"sfate","count":1},{"name":"Andrew Sullivan Cant","email":"acant@sugarcrm.com","login":"acant","count":1},{"name":"Arkadiy Zabazhanov","email":"kinwizard@gmail.com","login":"pyromaniac","count":1},{"name":"Clément Prod'homme","email":"prodhomme.clement@hotmail.fr","login":"cprodhomme","count":1},{"name":"Danilo Cabello","email":"cabello","login":"cabello","count":1},{"name":"Dave Allie","email":"dave@tanda.co","login":"daveallie","count":1}],"past_year_committers":[{"name":"Richard Huang","email":"flyerhzm@gmail.com","login":"flyerhzm","count":2},{"name":"Nick Hammond","email":"nick@nickhammond.com","login":"nickhammond","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-15T00:00:11.107Z","repositories_count":6259695,"commits_count":882445972,"contributors_count":35085396,"owners_count":1166707,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"flyerhzm/uniform_notifier","html_url":"https://github.com/flyerhzm/uniform_notifier","last_synced_at":"2026-06-09T08:30:28.000Z","status":"error","issues_count":16,"pull_requests_count":60,"avg_time_to_close_issue":11068331.636363637,"avg_time_to_close_pull_request":3633634.293103448,"issues_closed_count":11,"pull_requests_closed_count":58,"pull_request_authors_count":36,"issue_authors_count":15,"avg_comments_per_issue":1.5,"avg_comments_per_pull_request":0.5333333333333333,"merged_pull_requests_count":49,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":12.0,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-12T18:47:59.195Z","updated_at":"2026-06-09T08:30:28.001Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyerhzm%2Funiform_notifier/issues","issue_labels_count":{"feature":1},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":14,"CONTRIBUTOR":2},"pull_request_author_associations_count":{"CONTRIBUTOR":42,"OWNER":13,"NONE":5},"issue_authors":{"nicolas-besnard":2,"tay":1,"utkarsh2102":1,"jpmckinney":1,"Piioo":1,"notslang":1,"vassilevsky":1,"hderms":1,"victormatheusdev":1,"ruckc":1,"datnt":1,"aniketstiwari":1,"huangyoufeng76-debug":1,"tnm":1,"CloCkWeRX":1},"pull_request_authors":{"flyerhzm":13,"dtaniwaki":6,"mishina2228":3,"sinankeskin":3,"dmathieu":2,"nicolas-besnard":2,"danfinnie":2,"cabello":1,"kosmatov":1,"hsbt":1,"viraptor":1,"adamors":1,"ssoroka":1,"alkuzad":1,"vdh":1,"andrewhao":1,"sfate":1,"amatsuda":1,"azzz":1,"jeniaefimov":1,"acant":1,"olleolleolle":1,"andykingking":1,"hugobarthelemy":1,"shekibobo":1,"fabioperrella":1,"ijcd":1,"tank-bohr":1,"cprodhomme":1,"mmaksimovic":1,"swrobel":1,"skawaji":1,"daveallie":1,"hannahbot-zz":1,"joshuap":1,"pyromaniac":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-10T00:00:24.323Z","repositories_count":14788253,"issues_count":33447685,"pull_requests_count":110074515,"authors_count":11298725,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":1},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{"huangyoufeng76-debug":1},"past_year_pull_request_authors":{},"maintainers":[{"login":"flyerhzm","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/flyerhzm"}],"active_maintainers":[]},"events":{"total":{"PullRequestEvent":1,"ForkEvent":1,"WatchEvent":5,"IssueCommentEvent":2,"PushEvent":5,"PullRequestReviewEvent":2,"PullRequestReviewCommentEvent":1,"CreateEvent":2},"last_year":{"ForkEvent":1,"WatchEvent":4,"PushEvent":2,"PullRequestReviewEvent":2,"PullRequestReviewCommentEvent":1,"CreateEvent":1}},"keywords":[],"dependencies":[{"ecosystem":"rubygems","filepath":"Gemfile","sha":null,"kind":"manifest","created_at":"2022-07-25T20:00:30.683Z","updated_at":"2022-07-25T20:00:30.683Z","repository_link":"https://github.com/flyerhzm/uniform_notifier/blob/master/Gemfile","dependencies":[{"id":398530234,"package_name":"rake","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":398530235,"package_name":"rexml","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"rubygems","filepath":"uniform_notifier.gemspec","sha":null,"kind":"manifest","created_at":"2022-07-25T20:00:30.774Z","updated_at":"2022-07-25T20:00:30.774Z","repository_link":"https://github.com/flyerhzm/uniform_notifier/blob/master/uniform_notifier.gemspec","dependencies":[{"id":398530275,"package_name":"rspec","ecosystem":"rubygems","requirements":"\u003e 0","direct":true,"kind":"development","optional":false},{"id":398530276,"package_name":"slack-notifier","ecosystem":"rubygems","requirements":"\u003e= 1.0","direct":true,"kind":"development","optional":false},{"id":398530277,"package_name":"xmpp4r","ecosystem":"rubygems","requirements":"= 0.5","direct":true,"kind":"development","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/ci.yml","sha":null,"kind":"manifest","created_at":"2025-05-02T08:36:51.495Z","updated_at":"2025-05-02T08:36:51.495Z","repository_link":"https://github.com/flyerhzm/uniform_notifier/blob/master/.github/workflows/ci.yml","dependencies":[{"id":22948745306,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":22948745307,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]}],"score":30.25434840630649,"created_at":"2024-12-15T21:38:08.357Z","updated_at":"2026-06-16T00:30:21.305Z","avatar_url":"https://github.com/flyerhzm.png","language":"Ruby","monthly_downloads":0,"readme":"# UniformNotifier\n\n[![CI](https://github.com/flyerhzm/uniform_notifier/actions/workflows/ci.yml/badge.svg)](https://github.com/flyerhzm/uniform_notifier/actions/workflows/ci.yml)\n[![AwesomeCode Status for flyerhzm/uniform_notifier](https://awesomecode.io/projects/3e29a7de-0b37-4ecf-b06d-410ebf815174/status)](https://awesomecode.io/repos/flyerhzm/uniform_notifier)\n\nuniform_notifier is extracted from [bullet][0], it gives you the ability to send notification through rails logger, customized logger, javascript alert, javascript console, xmpp, airbrake, honeybadger and AppSignal.\n\n## Install\n\n### install directly\n\n    gem install uniform_notifier\n\nif you want to notify by xmpp, you should install xmpp4r first\n\n    gem install xmpp4r\n\nif you want to notify by airbrake, you should install airbrake first\n\n    gem install airbrake\n\nif you want to notify by Honeybadger, you should install honeybadger first\n\n    gem install honeybadger\n\nif you want to notify by rollbar, you should install rollbar first\n\n    gem install rollbar\n\nif you want to notify by bugsnag, you should install bugsnag first\n\n    gem install bugsnag\n\nif you want to notify by AppSignal, you should install AppSignal first\n\n    gem install appsignal\n\nif you want to notify by slack, you should install slack-notifier first\n\n    gem install slack-notifier\n\nif you want to notify by terminal-notifier, you must install it first\n\n    gem install terminal-notifier\n\n### add it into Gemfile (Bundler)\n\n    gem \"uniform_notifier\"\n\n  you should add xmpp4r, airbrake, bugsnag, honeybadger, slack-notifier, terminal-notifier gem if you want.\n\n## Usage\n\nThere are two types of notifications,\none is \u003ccode\u003einline_notify\u003c/code\u003e, for javascript alert and javascript console notifiers, which returns a string and will be combined,\nthe other is \u003ccode\u003eout_of_channel_notify\u003c/code\u003e, for rails logger, customized logger, xmpp, which doesn't return anything, just send the message to the notifiers.\n\nBy default, all notifiers are disabled, you should enable them first.\n\n```ruby\n# javascript alert\nUniformNotifier.alert = true\n# javascript alert with options\n# the attributes key adds custom attributes to the script tag appended to the body\nUniformNotifier.alert = { :attributes =\u003e { :nonce =\u003e 'mySecret-nonce', 'data-key' =\u003e 'value' } }\n\n# javascript console (Safari/Webkit browsers or Firefox w/Firebug installed)\nUniformNotifier.console = true\n# javascript console with options\n# the attributes key adds custom attributes to the script tag appended to the body\nUniformNotifier.console = { :attributes =\u003e { :nonce =\u003e 'mySecret-nonce', 'data-key' =\u003e 'value' } }\n\n# rails logger\nUniformNotifier.rails_logger = true\n\n# airbrake\nUniformNotifier.airbrake = true\n# airbrake with options\nUniformNotifier.airbrake = { :error_class =\u003e Exception }\n\n# AppSignal\nUniformNotifier.appsignal = true\n# AppSignal with options\nUniformNotifier.appsignal = { :namespace =\u003e \"Background\", :tags =\u003e { :hostname =\u003e \"frontend1\" } }\n\n# Honeybadger\n#\n# Reporting live data from development is disabled by default. Ensure\n# that the `report_data` option is enabled via configuration.\nUniformNotifier.honeybadger = true\n# Honeybadger with options\nUniformNotifier.honeybadger = { :error_class =\u003e 'Exception' }\n\n# rollbar\nUniformNotifier.rollbar = true\n# rollbar with options (level can be 'debug', 'info', 'warning', 'error' or 'critical')\nUniformNotifier.rollbar = { :level =\u003e 'warning' }\n\n# bugsnag\nUniformNotifier.bugsnag = true\n# bugsnag with options\nUniformNotifier.bugsnag = { :api_key =\u003e 'something' }\n\n# slack\nUniformNotifier.slack = true\n# slack with options\nUniformNotifier.slack = { :webhook_url =\u003e 'http://some.slack.url', :channel =\u003e '#default', :username =\u003e 'notifier' }\n\n# customized logger\nlogger = File.open('notify.log', 'a+')\nlogger.sync = true\nUniformNotifier.customized_logger = logger\n\n# xmpp\nUniformNotifier.xmpp = { :account =\u003e 'sender_account@jabber.org',\n                         :password =\u003e 'password_for_jabber',\n                         :receiver =\u003e 'recipient_account@jabber.org',\n                         :show_online_status =\u003e true }\n\n# terminal-notifier\nUniformNotifier.terminal_notifier = true\n\n# raise an error\nUniformNotifier.raise = true # raise a generic exception\n\nclass MyExceptionClass \u003c Exception; end\nUniformNotifier.raise = MyExceptionClass # raise a custom exception type\n\nUniformNotifier.raise = false # don't raise errors\n```\n\nAfter that, you can enjoy the notifiers, that's cool!\n\n```ruby\n# the notify message will be notified to rails logger, customized logger or xmpp.\nUniformNotifier.active_notifiers.each do |notifier|\n  notifier.out_of_channel_notify(\"customize message\")\nend\n\n# the notify message will be wrapped by \u003cscript type=\"text/javascript\"\u003e...\u003c/script\u003e,\n# you should append the javascript_str at the bottom of http response body.\n# for more information, please check https://github.com/flyerhzm/bullet/blob/master/lib/bullet/rack.rb\nresponses = []\nUniformNotifier.active_notifiers.each do |notifier|\n  responses \u003c\u003c notifier.inline_notify(\"customize message\")\nend\njavascript_str = responses.join(\"\\n\")\n```\n\n## XMPP/Jabber Support\n\nTo get XMPP support up-and-running, follow the steps below:\n\n* Install the xmpp4r gem: \u003ccode\u003egem install xmpp4r\u003c/code\u003e\n* Make both the sender and the recipient account add each other as contacts.\n  This will require you to manually log into both accounts, add each other\n  as contact and confirm each others contact request.\n* Boot up your application. UniformNotifier will automatically send an XMPP notification when XMPP is turned on.\n\n\n[0]: https://github.com/flyerhzm/bullet\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["activerecord","activejob","mvc","rubygems","crash-reporting","rspec","static-code-analysis","rubocop","code-formatter","gem"],"project_url":"https://ruby.ecosyste.ms/api/v1/projects/558","html_url":"https://ruby.ecosyste.ms/projects/558"}