{"id":22022346,"url":"https://github.com/sonatype-nexus-community/gonexus","last_synced_at":"2025-05-07T06:43:39.877Z","repository":{"id":53594246,"uuid":"195233097","full_name":"sonatype-nexus-community/gonexus","owner":"sonatype-nexus-community","description":"Go API for provisioning and interacting with Sonatype's Nexus Repository Manager and Nexus IQ Server","archived":false,"fork":false,"pushed_at":"2024-03-20T15:34:38.000Z","size":300,"stargazers_count":43,"open_issues_count":8,"forks_count":24,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-03-31T07:22:30.923Z","etag":null,"topics":["iq","lifecycle","nexus","repository","sonatype"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sonatype-nexus-community.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-04T11:57:09.000Z","updated_at":"2024-09-30T06:20:30.000Z","dependencies_parsed_at":"2024-03-20T16:51:48.922Z","dependency_job_id":null,"html_url":"https://github.com/sonatype-nexus-community/gonexus","commit_stats":null,"previous_names":["hokiegeek/gonexus"],"tags_count":93,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sonatype-nexus-community%2Fgonexus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sonatype-nexus-community%2Fgonexus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sonatype-nexus-community%2Fgonexus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sonatype-nexus-community%2Fgonexus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sonatype-nexus-community","download_url":"https://codeload.github.com/sonatype-nexus-community/gonexus/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252831176,"owners_count":21810779,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["iq","lifecycle","nexus","repository","sonatype"],"created_at":"2024-11-30T06:20:06.245Z","updated_at":"2025-05-07T06:43:39.861Z","avatar_url":"https://github.com/sonatype-nexus-community.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gonexus [![DepShield Badge](https://depshield.sonatype.org/badges/sonatype-nexus-community/gonexus/depshield.svg)](https://depshield.github.io) [![CircleCI](https://circleci.com/gh/sonatype-nexus-community/gonexus.svg?style=svg)](https://circleci.com/gh/sonatype-nexus-community/gonexus)\n\nProvides a go client library for connecting to, and interacting with, [Sonatype](//www.sonatype.com) Nexus applications such as Nexus Repository Manager and Nexus IQ Server.\n\n## Organization of this library\n\nThe library is broken into two packages. One for each application.\n\n### nexusrm [![GoDoc](http://godoc.org/github.com/sonatype-nexus-community/gonexus/rm?status.png)](http://godoc.org/github.com/sonatype-nexus-community/gonexus/rm) [![nexusrm coverage](https://gocover.io/_badge/github.com/sonatype-nexus-community/gonexus/rm?0 \"nexusrm coverage\")](http://gocover.io/github.com/sonatype-nexus-community/gonexus/rm)\n\nCreate a connection to an instance of Nexus Repository Manager\n\n```go\n// import \"github.com/sonatype-nexus-community/gonexus/rm\"\nrm, err := nexusrm.New(\"http://localhost:8081\", \"username\", \"password\")\nif err != nil {\n    panic(err)\n}\n```\n\n#### Supported RM Endpoints\n\n| Endpoint                                                                                                       |         Status         | Min RM Version |\n| -------------------------------------------------------------------------------------------------------------- | :--------------------: | :------------: |\n| [Assets](https://help.sonatype.com/repomanager3/rest-and-integration-api/assets-api)                           |      :full_moon:       |                |\n| [Blob Store](https://help.sonatype.com/repomanager3/rest-and-integration-api/blob-store-api)                   |       :new_moon:       |      3.19      |\n| [Components](https://help.sonatype.com/repomanager3/rest-and-integration-api/components-api)                   | :waning_gibbous_moon:  |                |\n| Content Selectors                                                                                              |       :new_moon:       |      3.19      |\n| [Email](https://help.sonatype.com/repomanager3/rest-and-integration-api/email-api)                             |       :new_moon:       |      3.19      |\n| [IQ Server](https://help.sonatype.com/repomanager3/rest-and-integration-api/iq-server-api)                     |       :new_moon:       |      3.19      |\n| [Licensing](https://help.sonatype.com/repomanager3/rest-and-integration-api/licensing-api)                     |       :new_moon:       |      3.19      |\n| [Lifecycle](https://help.sonatype.com/repomanager3/rest-and-integration-api/lifecycle-api)                     |       :new_moon:       |                |\n| [Maintenance](https://help.sonatype.com/repomanager3/rest-and-integration-api/maintenance-api) _pro_           | :waning_crescent_moon: |                |\n| [Nodes](https://help.sonatype.com/repomanager3/rest-and-integration-api/nodes-api) _pro_                       |       :new_moon:       |                |\n| [Read-Only](https://help.sonatype.com/repomanager3/rest-and-integration-api/read-only-api)                     |      :full_moon:       |                |\n| [Repositories](https://help.sonatype.com/repomanager3/rest-and-integration-api/repositories-api)               |      :full_moon:       |                |\n| Routing Rules                                                                                                  |       :new_moon:       |      3.17      |\n| [Search](https://help.sonatype.com/repomanager3/rest-and-integration-api/search-api)                           | :waning_gibbous_moon:  |                |\n| [Script](https://help.sonatype.com/repomanager3/rest-and-integration-api/script-api)                           |      :full_moon:       |                |\n| [Security Management](https://help.sonatype.com/repomanager3/rest-and-integration-api/security-management-api) |       :new_moon:       |      3.19      |\n| [Staging](https://help.sonatype.com/repomanager3/staging) _pro_                                                | :waning_gibbous_moon:  |                |\n| [Status](https://help.sonatype.com/repomanager3/rest-and-integration-api/status-api)                           |      :full_moon:       |                |\n| [Support](https://help.sonatype.com/repomanager3/rest-and-integration-api/support-api)                         |      :full_moon:       |                |\n| [Tagging](https://help.sonatype.com/repomanager3/tagging) _pro_                                                | :waning_gibbous_moon:  |                |\n| [Tasks](https://help.sonatype.com/repomanager3/rest-and-integration-api/tasks-api)                             |       :new_moon:       |                |\n\n#### Supported Provisioning API\n\n| API        |        Status         |\n| ---------- | :-------------------: |\n| Core       |      :new_moon:       |\n| Security   |      :new_moon:       |\n| Blob Store | :waning_gibbous_moon: |\n| Repository | :waning_gibbous_moon: |\n\n_Legend_: :full_moon: complete :new_moon: untouched :waning_crescent_moon::last_quarter_moon::waning_gibbous_moon: partial support\n\n### nexusiq [![GoDoc](http://godoc.org/github.com/sonatype-nexus-community/gonexus/iq?status.png)](http://godoc.org/github.com/sonatype-nexus-community/gonexus/iq) [![nexusiq coverage](https://gocover.io/_badge/github.com/sonatype-nexus-community/gonexus/iq?0 \"nexusiq coverage\")](http://gocover.io/github.com/sonatype-nexus-community/gonexus/iq)\n\nCreate a connection to an instance of Nexus IQ Server\n\n```go\n// import \"github.com/sonatype-nexus-community/gonexus/iq\"\niq, err := nexusiq.New(\"http://localhost:8070\", \"username\", \"password\")\nif err != nil {\n    panic(err)\n}\n\n```\n\n#### Supported IQ Endpoints\n\n| Endpoint                                                                                                             |   Status    | Min IQ Version |\n| -------------------------------------------------------------------------------------------------------------------- | :---------: | :------------: |\n| [Application](https://help.sonatype.com/iqserver/automating/rest-apis/application-rest-apis---v2)                    | :full_moon: |                |\n| [Authorization Configuration](https://help.sonatype.com/iqserver/automating/rest-apis)                               | :full_moon: |      r70       |\n| [Component Details](https://help.sonatype.com/iqserver/automating/rest-apis/component-details-rest-api---v2)         | :full_moon: |                |\n| [Component Evaluation](https://help.sonatype.com/iqserver/automating/rest-apis/component-evaluation-rest-apis---v2)  | :full_moon: |                |\n| [Component Labels](https://help.sonatype.com/iqserver/automating/rest-apis/component-labels-rest-api---v2)           | :full_moon: |                |\n| [Component Remediation](https://help.sonatype.com/iqserver/automating/rest-apis/component-remediation-rest-api---v2) | :full_moon: |      r64       |\n| [Component Search](https://help.sonatype.com/iqserver/automating/rest-apis/component-search-rest-apis---v2)          | :full_moon: |                |\n| [Component Versions](https://help.sonatype.com/iqserver/automating/rest-apis/component-versions-rest-api---v2)       | :full_moon: |                |\n| [Component Waivers](https://help.sonatype.com/iqserver/automating/rest-apis/component-waivers-rest-api---v2)         | :new_moon:  |      r76       |\n| [Configuration](https://help.sonatype.com/iqserver/automating/rest-apis/configuration-rest-api---v2)                 | :new_moon:  |      r65       |\n| [Data Retention Policy](https://help.sonatype.com/iqserver/automating/rest-apis/data-retention-policy-rest-api---v2) | :full_moon: |                |\n| [Organization](https://help.sonatype.com/iqserver/automating/rest-apis/organization-rest-apis---v2)                  | :full_moon: |                |\n| [Policy Violation](https://help.sonatype.com/iqserver/automating/rest-apis/policy-violation-rest-api---v2)           | :full_moon: |                |\n| [Policy Waiver](https://help.sonatype.com/iqserver/automating/rest-apis/policy-waiver-rest-api---v2)                 | :new_moon:  |      r71       |\n| [Promote Scan](https://help.sonatype.com/iqserver/automating/rest-apis/promote-scan-rest-api---v2)                   | :new_moon:  |                |\n| [Report-related](https://help.sonatype.com/iqserver/automating/rest-apis/report-related-rest-apis---v2)              | :full_moon: |                |\n| [Role](https://help.sonatype.com/iqserver/automating/rest-apis/role-rest-api---v2)                                   | :full_moon: |      r70       |\n| [SAML](https://help.sonatype.com/iqserver/automating/rest-apis/saml-rest-api---v2)                                   | :new_moon:  |      r74       |\n| [Source Control](https://help.sonatype.com/integrations/nexus-iq-for-github)                                         | :full_moon: |                |\n| [Success Metrics Data](https://help.sonatype.com/iqserver/automating/rest-apis/success-metrics-data-rest-api---v2)   | :full_moon: |                |\n| [Users](https://help.sonatype.com/iqserver/automating/rest-apis/user-rest-api---v2)                                  | :full_moon: |      r70       |\n| [User Token](https://help.sonatype.com/iqserver/automating/rest-apis/user-token-rest-api---v2)                       | :new_moon:  |      r76       |\n| [Vulnerability Details](https://help.sonatype.com/iqserver/automating/rest-apis/vulnerability-details-rest-api---v2) | :new_moon:  |      r75       |\n| [Webhooks](https://help.sonatype.com/iqserver/automating/iq-server-webhooks)                                         | :full_moon: |                |\n\n_Legend_: :full_moon: complete :new_moon: untouched :waning_crescent_moon::last_quarter_moon::waning_gibbous_moon: partial support\n\n##### iqwebhooks [![GoDoc](http://godoc.org/github.com/sonatype-nexus-community/gonexus/iq/iqwebhooks?status.png)](http://godoc.org/github.com/sonatype-nexus-community/gonexus/iq/iqwebhooks) [![nexusiq webhooks coverage](https://gocover.io/_badge/github.com/sonatype-nexus-community/gonexus/iq/iqwebhooks/?0 \"nexusiq webhooks coverage\")](http://gocover.io/github.com/sonatype-nexus-community/gonexus/iq/iqwebhooks)\n\nThe `iq/iqwebhooks` subpackage provides structs for all of the event types along with helper functions.\n\nMost notably it provides a function called `Listen` which is an `http.HandlerFunc` that can be used as an endpoint handler for a server functioning as a webhook listener.\nThe handler will place any webhook event it finds in a channel to be consumed at will.\n\nAn example of using the handler to listen for Application Evaluation events:\n\n```go\n// import \"github.com/sonatype-nexus-community/gonexus/iq/webhooks\"\nappEvals, _ := iqwebhooks.ApplicationEvaluationEvents()\n\ngo func() {\n    for _ = range appEvals:\n        log.Println(\"Received Application Evaluation event\")\n    }\n}()\n\nhttp.HandleFunc(\"/ingest\", iqwebhooks.Listen)\n```\n\nSee the [documentation](https://godoc.org/github.com/sonatype-nexus-community/gonexus/iq/iqwebhooks#example-Listen) for a full example showing other event types.\n\n## The Fine Print\n\nIt is worth noting that this is **NOT SUPPORTED** by [Sonatype](//www.sonatype.com), and is a contribution of [@HokieGeek](https://github.com/HokieGeek)\nplus us to the open source community (read: you!)\n\nRemember:\n\n- Use this contribution at the risk tolerance that you have\n- Do **NOT** file Sonatype support tickets related to this\n- **DO** file issues here on GitHub, so that the community can pitch in\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsonatype-nexus-community%2Fgonexus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsonatype-nexus-community%2Fgonexus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsonatype-nexus-community%2Fgonexus/lists"}