Uploaded image for project: 'Artifactory Binary Repository'
  1. Artifactory Binary Repository
  2. RTFACT-13032

Incorrect UI representation of the GitProvider of VCS remote repos for private BitBucket servers

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 4.15.0
    • Fix Version/s: 5.0.0
    • Component/s: Remote Repository , Web UI
    • Labels:
      None

      Description

      Setup:
      Tested with Artifactory 4.15.0 with a VCS remote repository pointing at a BitBucket server

      Steps to setup the remote repository for private bitbucket servers:

      1. Create a VCS remote repository pointing to http:/bitbucketURL:7990/ (without the SCM part)
      2. Select Stash (NOT BITBUCKET) as the GitProvider
      3. Under the advanced tab select: Lenient Host Authentication

      Run a REST call GET Tags command to test your setup: curl -uadmin:password "http://localhost:8080/artifactory/api/vcs/tags/<PROJECT>/<PATH>/<toVCSRepo>/" which will return a response with the the tag list: "example-tag"...

      Suggestion for an improvement:

      Add a new GitProvider for private bitbucket servers/modify the Stash GitProvider to reflect that it also applies for private BitBucket servers

      If the BitBucket provider will be used:

      Some VCS REST API calls will not work with VCS remote repository pointing to a bitbucket server. E.g. using the downloadTag endpoint will return a 404 "Not implemented":

      $ curl -uadmin:password "http://localhost:8080/artifactory/api/vcs/downloadTag/<PROJECT>/<PATH>/<toVCSRepo>"

      {
      "errors" : [

      { "status" : 404, "message" : "Not Implemented" }

      ]}

      The expected behavior is to download a tag “example-tag” (zip of the files located under it).

      I did not test all of Artifactory’s VCS REST API commands. For example, the downloadBranch command is also not working.

      An example for a working command:

      $ curl -uadmin:password "http://localhost:8080/artifactory/api/vcs/tags/<PROJECT>/<PATH>/<toVCSRepo>/"

      [

      { "name" : "example-tag", "commitId" : "2f6a46637a23df23553e2a9e447747a4528c5e1c", "isBranch" : false }

      ]

      Artifactory proxies REST API calls to BitBucket server - BitBucket server needs to have the BitBucket Server Archive Plugin to serve REST endpoints for tags/branches download and archive. We mention this on our Wiki page:

      https://www.jfrog.com/confluence/display/RTF/VCS+Repositories#VCSRepositories-UsingStashorBitbucket

      The BitBucket gitprovider will cause an issue in which incorrect REST API endpoints of the bitbucket server will be addressed by Artifactory. See screenshot taken from wireshark for the issue in the outgoing request.

      External current API documenation
      1. Bitbucket Server Archive Plugin documentation:
      https://bitbucket.org/atlassian/stash-archive/src/bitbucket-archive-2.1.0/readme.md?fileviewer=file-view-default
      2. BitBucket REST API documentation: https://developer.atlassian.com/static/rest/bitbucket-server/4.11.2/bitbucket-rest.html

        Attachments

          Activity

            People

            • Assignee:
              tomere Tomer Elkayam
              Reporter:
              andreik Andrei Komarov
              Assigned QA:
              Yogev Abergel (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: