HTTP Rest Operation Not Working Against Artifactory
Article ID: 185678
CA Release Automation - Release Operations Center (Nolio)CA Release Automation - DataManagement Server (Nolio)
We use the default Rest Operation to pull build information from Artifactory. This Rest Operation is returning code 200 and appears to work, but the result body is empty.
Since the result is empty, the CARA process cannot parse out any artifacts to use as part of the deployment.
First, this all began after upgrading Artifactory from 6.13 to 6.15. It is unclear if the upgrade of Artifactory caused this or if it was a configuration changed after the upgrade.
By default, the rest action uses an Authentication Method = None. This does not attempt to authenticate the user at all. When Authentication Method = Basic then the action will send the request without a username/password. If the request receives a 401 response with a WWW-Authenticate header then the action responds by providing the username and password specified in the action. This means that there can be up to 4 steps in this process.
1. The http request.
2. The 401 WWW-Authenticate response.
3. The http request with the authorization header.
4. The 200 response (if authenticated properly).
When using Preemptive Authentication the action sends the request with the authorization header first. So it basically jumps to step 3.
Release : 6.6
Component : CA Release Automation Core
There are a few options that can be pursued to solve this issue:
Option 1: If you have an agent on linux then create a "Run Command Line" action to use an equivalent curl command to get the data needed.
Option 2: Update the HTTP Rest Operation action to use Authentication Method = BASIC AND Preemptive Authentication = true.
Note: While testing/troubleshooting we found that using a browser, in incognito mode, to make the same rest api call was returning the same blank results.