Guest API access changed in 7.1?

I just upgraded our Teamcity installation to 7.1 this morning from 7.0.4, and it appears there's an undocumented change in the handling of guest access to artifacts via the REST API.  Prior to the upgrade, I was able to use the following Ivy configuration info to download artifacts:


    <url name="teamcity-rep" alwaysCheckExactRevision="yes" checkmodified="true">
        <ivy pattern="${teamcity.server}/httpAuth/repository/download/[module]/[revision]/teamcity-ivy.xml" />
        <artifact pattern="${teamcity.server}/httpAuth/repository/download/[module]/[revision]/[artifact](.[ext])" />

<credentials host="${}" realm="TeamCity" username="guest" passwd="" />

However, today this method started failing silently, both when run from developer desktops and when run from within Teamcity... the Ivy report would say that the artifacts requested could not be found, but no error would appear in teamcity-server.log.  Conversely, when Ivy tried downloading revs that didn't exist in Teamcity, I would get the following server log error:

INFO - s.RepositoryDownloadController - Responding with 404 error: Could not find build by revision rule: latest.lastPinned. Request details: HEAD '/Teamcity/httpAuth/repository/download/bt380/latest.lastPinned/teamcity-ivy.xml', from client, authenticated as guest

so it seems that the guest authentication is happening although the artifacts that existed weren't being provided.

I was able to fix the issue by switching to the guestAuth URLs and removing the "credentials" element from ivysettings.xml, but I haven't seen any indication in the What's New or release notes that authenticating as guest using the former "credentials" method would no longer work.  Did I miss something, or is this a defect?

Comment actions Permalink


Sorry for the delay in replying.

Thank you for your feedback, actually it is a bug. I filed it as TW-23763.

Comment actions Permalink

I see from the defect that it will be fixed in an upcoming release; thanks!


Please sign in to leave a comment.