Need help with other JFrog products?
Good news! Enterprise-scale distribution is now handled through the robust JFrog Platform.
Please contact us with any questions.
Your products are displayed at the top of the Bintray homepage once you are signed in.
You can manage and view packages, EULAs and permissions, on the product level.
Users and organizations on an Enterprise plan can assign a EULA for each product version.Oncea EULA is assigned to a product, any user downloading any of the packages in the product will have to accept the EULA before being able to complete the download. Once the user has accepted the EULA, they can download any of the packages in the product’s version. The user’s acceptance of the EULA is valid for new versions of the product, so even if the product gets updated, the user may continue to download new versions. The user’s acceptance of the EULA remains valid even if the EULA gets updated. The user will only have to renew their acceptance of the EULA next time they download a package if the EULA itself gets replaced.
Displaying Your EULA Before Download
Bintray lets you define a download URL which displays the corresponding EULA before providing access to your products' files. When an end user clicks on the download URL for any of a product’s files, Bintray will first display the product’s assigned EULA. Once the end user accepts the EULA, download commences automatically.
Download URLs that display your EULA have the following format:
:subject: The user or organization that owns the product
:repo: The name of the repository that is hosting the file
file_path: The fully qualified path in Bintray to the file
For example, to provide a download URL that requires the end user to accept the EULA for the JFrog Mission Control v1.1 installation ZIP file, JFrog would provide the following URL (click on the link to see the feature in action):
Automated EULA-Protected Downloads using the REST API
Download URLs that display a EULA work when the downloading user is going through Bintray’s UI and downloading publicly available content, however, they won’t work when your user wants to download the content through automation scripts in which there is no human intervention. Moreover, the download URLs require that the downloading user has a Bintray account, which may not always be the case.
Bintray offers a solution for this scenario that lets you provide automated downloads via REST API for private content that is EULA protected to external users.
Here is how it works:
Create an entitlement and access key that provides read access (at least) to your content
Provide your downloading user with the access key and its password
The user constructs a URL which,when pasted in a browser, notifies Bintray to display your EULA to be accepted
The user pastes the provided URL in a browser, logs in using the access key and password you provided and is presented with the EULA
The user accepts your EULA
Subsequent attempts to download the product that include the access key you provided will progress to completion since the EULA has already been accepted with the access key provided.
In this manner, you have provided automated access for external users (and scripts) to download your content via REST API while protecting your Products with a EULA.
Constructing the EULA Acceptance URL
To get Bintray to display your EULA, construct the URL in the following format:
:subject: The user or organization that owns the product
:product: The product for which you want to provide access
:version: The version for which you want to provide access
:username: The access key
Consider the following example: User "amy" wants to provide Bob (who doesn’t have a Bintray account) with access to a product called "AmyProd" version 1.1. Amy wants to protect her content and has protected it with a EULA. Amy creates the appropriate entitlement to her content and generates an access key called "amyOrg-key1@amyOrg" whose password is "p4ssw0rd", and provides these to Bob.
Bob now browses to the following URL:
Bintray displays a login screen for Bob to logintousingthe key ("amyOrg-key1@amyOrg") and password ("p4ssw0rd") that Amy provided him with.
After Bob logs in, Bintray displays the EULA which he can now accept.
From now on, any REST API used to download this version of Amy’s product that includes "amyOrg-key1@amyOrg" will progress to completion without requiring additional EULA acceptance. In other words, Bob (or anyone else with "amyOrg-key1@amyOrg") can use automation to download AmyProd 1.1
Effectively, Bob is an external user who is accessing Amy’s private content that requires EULA acceptance through the REST API - exactly the scenario described at the beginning of this section.
Tracking EULA Acceptance
To help you keep track of downloads for a product, Bintray shows you all users who have accepted its EULA. To view the list of users who have accepted a product’s EULA, select the EULA Tracking tab of the Edit Product page.
Creating and Editing a Product
To create a new product, click New Product on the Bintray homepage. Bintray will display the New Product form where you can fill in the details of your product.
Once your product is created, you can add packages to it. Click your product on the Bintray homepage to display its product page, and then click Edit.
On the Edit Product page, select the Packages tab and click Add Package. In the search box that pops up, start typing the name of the package you want to add. Bintray will display all the packages you own, in any repository, that match the search term. Select the packages you want to addfrom the list.
Once you have finished adding the relevant packages, you can see them displayed along with an indication of which teams have read access to the added packages. Click on the package’s permission to go to the relevant repository page if you need to modify access permissions for the package.
The Statistics Tab
Bintray allows you to view how many times a certain package or version has been downloaded, when the download occurred and where the downloader was located. This information indicates which packages or versions are recommended, popular or dealwithcommonly-used functionalities, so you can make a more informed decision about what you should download and use. You can also use this info as feedback about your own packages and versions.
The EULAs Tab
As described above, you can attach a EULA to your product if you are on an Enterprise plan. The EULA tab is where you can create all the EULAs you may need and gives you the option of writing them in asciidoc, markdown, or plain text. Once you have created EULAs, you can set one of them to be the default EULA assigned to any new version of your product.