{"id":29890004,"url":"https://github.com/opsmatters/opsmatters-core","last_synced_at":"2025-09-20T01:58:38.320Z","repository":{"id":57728190,"uuid":"119112655","full_name":"opsmatters/opsmatters-core","owner":"opsmatters","description":"Java library for the opsmatters suite including a data cache for New Relic Monitoring and Alerting, models, and reporting utilities.","archived":false,"fork":false,"pushed_at":"2018-04-13T20:53:29.000Z","size":231,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-29T17:16:33.315Z","etag":null,"topics":["java","java-library","monitoring","newrelic","opsmatters"],"latest_commit_sha":null,"homepage":"http://opsmatters.github.io","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/opsmatters.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-01-26T23:03:27.000Z","updated_at":"2018-04-13T20:53:30.000Z","dependencies_parsed_at":"2022-09-12T21:00:31.797Z","dependency_job_id":null,"html_url":"https://github.com/opsmatters/opsmatters-core","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/opsmatters/opsmatters-core","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opsmatters%2Fopsmatters-core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opsmatters%2Fopsmatters-core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opsmatters%2Fopsmatters-core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opsmatters%2Fopsmatters-core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opsmatters","download_url":"https://codeload.github.com/opsmatters/opsmatters-core/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opsmatters%2Fopsmatters-core/sbom","scorecard":{"id":711138,"data":{"date":"2025-08-11","repo":{"name":"github.com/opsmatters/opsmatters-core","commit":"c48904f7e8d029fd45357811ec38a735e261e3fd"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.7,"checks":[{"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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Dangerous-Workflow","score":-1,"reason":"no workflows found","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":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"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":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"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":"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":"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":"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: Apache License 2.0: 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":"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":"Vulnerabilities","score":0,"reason":"13 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-4jrv-ppp4-jm57","Warn: Project is vulnerable to: GHSA-5mg8-w23w-74h3","Warn: Project is vulnerable to: GHSA-7g45-4rm6-3mm3","Warn: Project is vulnerable to: GHSA-mvr2-9pj6-7w5j","Warn: Project is vulnerable to: GHSA-78wr-2p64-hpwj","Warn: Project is vulnerable to: GHSA-gwrp-pvrq-jmwv","Warn: Project is vulnerable to: GHSA-2qrg-x229-3v8q","Warn: Project is vulnerable to: GHSA-65fg-84f6-3jq3","Warn: Project is vulnerable to: GHSA-f7vh-qwp3-x37m","Warn: Project is vulnerable to: GHSA-fp5r-v3w9-4333","Warn: Project is vulnerable to: GHSA-w9p3-5cr8-m3jj","Warn: Project is vulnerable to: GHSA-j288-q9x7-2f5v","Warn: Project is vulnerable to: GHSA-9339-86wc-4qgf"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-22T08:14:03.811Z","repository_id":57728190,"created_at":"2025-08-22T08:14:03.811Z","updated_at":"2025-08-22T08:14:03.811Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276033067,"owners_count":25573472,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-19T02:00:09.700Z","response_time":108,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","java-library","monitoring","newrelic","opsmatters"],"created_at":"2025-07-31T22:23:14.754Z","updated_at":"2025-09-20T01:58:38.252Z","avatar_url":"https://github.com/opsmatters.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"![opsmatters](https://i.imgur.com/VoLABc1.png)\n\n# OpsMatters Core\n[![Build Status](https://travis-ci.org/opsmatters/opsmatters-core.svg?branch=master)](https://travis-ci.org/opsmatters/opsmatters-core)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.opsmatters/opsmatters-core/badge.svg?style=blue)](https://maven-badges.herokuapp.com/maven-central/com.opsmatters/opsmatters-core)\n[![Javadocs](http://javadoc.io/badge/com.opsmatters/opsmatters-core.svg)](http://javadoc.io/doc/com.opsmatters/opsmatters-core)\n\nJava library for the opsmatters suite including a data cache for New Relic Monitoring and Alerting, models, and reporting utilities.\n\n## Examples\n\nTo obtain a New Relic cache instance containing all the static configuration:\n```\nNewRelicCache cache = NewRelicCache.builder()\n    .apiKey(\"\u003cYOUR_API_KEY\u003e\")\n    .alerts(true)\n    .apm(true)\n    .mobile(true)\n    .browser(true)\n    .synthetics(true)\n    .insights(true)\n    .servers(true)\n    .plugins(true)\n    .infrastructure(true)\n    .build();\n```\nNext, create a manager to synchronise the cache with New Relic by importing all resources for the enabled products:\n```\nProviderManager manager = ProviderFactory.getManager(Provider.NEW_RELIC);\nboolean success = manager.sync(cache);\n```\nOnce the cache has been populated, it can be queried for the resources and collections it contains. Here are some examples:\n\n* To query the alert channels:\n```\nCollection\u003cAlertChannel\u003e channels = cache.alertChannels().list();\n```\n* To query the alert policies:\n```\nCollection\u003cAlertPolicy\u003e policies = cache.alertPolicies().list();\n```\n* To query the APM alert conditions for a particular alert policy:\n```\nCollection\u003cAlertCondition\u003e conditions = cache.alertPolicies().alertConditions(policy.getId()).list()\n```\n* To query the Infrastructure alert conditions for a particular alert policy:\n```\nCollection\u003cInfraAlertCondition\u003e infraConditions = cache.alertPolicies().infraAlertConditions(policy.getId()).list()\n```\n* To query the dashboards:\n```\nCollection\u003cDashboard\u003e dashboards = cache.dashboards().list();\n```\n\n## Prerequisites\n\nA New Relic account with an Admin user.\nThe user needs to generate an [Admin API Key](https://docs.newrelic.com/docs/apis/rest-api-v2/getting-started/api-keys) \nto provide read-write access via the [New Relic REST APIs](https://api.newrelic.com).\nThe Admin API Key is referenced in the documentation as the parameter \"YOUR_API_KEY\".\n\n## Installing\n\nFirst clone the repository using:\n```\n\u003e$ git clone https://github.com/opsmatters/opsmatters-core.git\n\u003e$ cd opsmatters-core\n```\n\nTo compile the source code, run all tests, and generate all artefacts (including sources, javadoc, etc):\n```\nmvn package \n```\n\n## Running the tests\n\nTo execute the unit tests:\n```\nmvn clean test \n```\n\nThe following tests are included:\n\n* ProviderTest: Creates a full NewRelicCache with all the available configuration items and then creates some test reports for the objects in a variety of formats.\n\n## Deployment\n\nThe build artefacts are hosted in The Maven Central Repository. \n\nAdd the following dependency to include the artefact within your project:\n```\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.opsmatters\u003c/groupId\u003e\n  \u003cartifactId\u003eopsmatters-core\u003c/artifactId\u003e\n  \u003cversion\u003e1.0.2\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n## Built With\n\n* [newrelic-api](https://github.com/opsmatters/newrelic-api) - Java client library for the New Relic Monitoring and Alerting REST APIs\n* [docx4j](https://www.docx4java.org/trac/docx4j) - Java library for creating and manipulating Microsoft Open XML files\n* [jxl](http://jexcelapi.sourceforge.net/) - Java API enabling developers to read, write, and modify Excel spreadsheets\n* [opencsv](http://opencsv.sourceforge.net/) - CSV parser library for Java\n* [Maven](https://maven.apache.org/) - Dependency Management\n* [JUnit](http://junit.org/) - Unit testing framework\n\n## Contributing\n\nPlease read [CONTRIBUTING.md](https://www.contributor-covenant.org/version/1/4/code-of-conduct.html) for details on our code of conduct, and the process for submitting pull requests to us.\n\n## Versioning\n\nThis project use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/opsmatters/opsmatters-core/tags). \n\n## Authors\n\n* **Gerald Curley** - *Initial work* - [opsmatters](https://github.com/opsmatters)\n\nSee also the list of [contributors](https://github.com/opsmatters/opsmatters-core/contributors) who participated in this project.\n\n## License\n\nThis project is licensed under the terms of the [Apache license 2.0](https://www.apache.org/licenses/LICENSE-2.0.html).\n\n\u003csub\u003eCopyright (c) 2018 opsmatters\u003c/sub\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopsmatters%2Fopsmatters-core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopsmatters%2Fopsmatters-core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopsmatters%2Fopsmatters-core/lists"}