Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Badge request: ProGet NuGet feeds #2605

Open
nlowe opened this issue Dec 28, 2018 · 6 comments
Open

Badge request: ProGet NuGet feeds #2605

nlowe opened this issue Dec 28, 2018 · 6 comments
Labels
good first issue New contributors, join in! service-badge Accepted and actionable changes, features, and bugs

Comments

@nlowe
Copy link
Contributor

nlowe commented Dec 28, 2018

馃搵 Description

  • Service: Inedo ProGet
  • Latest Version (), Latest Prerelease (), Download Count ()

Specifically, we're looking for support for the nuget feeds, but there are a lot of other feed types that others could find useful.

馃敆 Data

ProGet supports many types of artifact feeds. This issue is specifically looking to add support for the nuget feeds. other feeds supported by ProGet:

  • NuGet
  • PowerShell Packages / Modules
  • Ruby Gems
  • Visual Studio Extensions
  • Maven
  • npm
  • Bower
  • Chocolatey
  • Docker

I'd be willing to contribute support for the nuget feed, although I'm not sure if this would be better off as a generic addition to the existing nuget service that supports arbitrary feed URL's or as it's own service so support for other feed types can be added later.

@nlowe nlowe changed the title Badge Request: Badges for ProGet feeds Badge Request: Badges for ProGet nuget feeds Dec 28, 2018
@calebcartwright calebcartwright added service-badge Accepted and actionable changes, features, and bugs good first issue New contributors, join in! labels Dec 28, 2018
@calebcartwright
Copy link
Member

calebcartwright commented Dec 28, 2018

IMO this should be implemented as a separate family of services under the services/proget/.. directory. I look at proget as being very functionally similar to other services we support (nexus, bintray, etc.) for binary/artifact storage and distribution.

I'd hope that the proget APIs will return the info we'll need (version, download counts, etc.) in a standard/homogenized response regardless of the format of the target feeds/repositories but if not we can break out more granular services

i.e. I hope we can have services like proget-downloads.service.js, proget-version.service.js, etc. otherwise maybe we could do proget-nuget-downloads.service.js, etc.

@nlowe
Copy link
Contributor Author

nlowe commented Dec 28, 2018

For nuget feeds specifically, they're just standard nuget v2/v3 feeds (depending on the version of proget) available at <proto>://<hostAndPath>/nuget/<feedName>. The other feed types are similarly routed.

@calebcartwright
Copy link
Member

calebcartwright commented Dec 28, 2018

I assume that's for consumption right? As in that's the type of path I would use to add a nuget feed from proget as a nuget package source for my app vs. that's where I'd get the total/interval download counts from proget

@paulmelnikow
Copy link
Member

Hi! I bet it would be possible to reuse some of the createNugetServiceFamily for these services, even if they're implemented in their own folder and namespace as @calebcartwright suggests. Have you taken a look at whether some new options are needed, or if these would cover them?

/*
* Create a version and download service for a NuGet v2 API. Return an object
* containing both services.
*
* defaultLabel: The label for the left hand side of the badge.
* serviceBaseUrl: The base URL for the Shields service, e.g. nuget
* withTenant: When true, an optional `tenant` is extracted from the badge
* URL, which represents the subdomain of the API. When no tenant is
* provided, defaults to `www`.
* apiDomain: When `withTenant` is true, this is the rest of the domain,
* e.g. `myget.org`.
* apiBaseUrl: When `withTenant` is false, this is the base URL of the API,
* e.g. https://api.nuget.org/v3
* withFeed: When true, the badge URL includes a required feed name, which is
* added to the request API.
*/
function createServiceFamily({
defaultLabel,
serviceBaseUrl,
withTenant = true,
apiDomain,
apiBaseUrl,
withFeed = true,
}) {

@nlowe
Copy link
Contributor Author

nlowe commented Jan 16, 2019

I think those options should cover everything, but I need to do some more digging on how it's structured. Currently those classes depend on knowing things like feed URL's ahead of time.

@paulmelnikow paulmelnikow changed the title Badge Request: Badges for ProGet nuget feeds Badge pequest: ProGet NuGet feeds Jan 28, 2019
@paulmelnikow paulmelnikow changed the title Badge pequest: ProGet NuGet feeds Badge request: ProGet NuGet feeds Jan 28, 2019
@nunoguerreirorosa
Copy link

Was there any progress in regards to proget badges ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue New contributors, join in! service-badge Accepted and actionable changes, features, and bugs
Projects
None yet
Development

No branches or pull requests

4 participants