[2018-11-03 22:02:39 Z] DEBUG : RallyEIF::WRK::RallyConnection.rescue in connect - StandardError: RallyAPI: - rescued exception - A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - connect(2) for "proxy" port 80 (http://proxy:80) on request to https://rally1.rallydev.com/slm/webservice/v2.0/user with params {} [2018-11-03 22:02:39 Z] ERROR : RallyEIF::WRK::RallyConnection.rescue in connect - Could not connect to Rally at https://rally1.rallydev.com/slm using APIKey credentials
This is generally due to a proxy not being configured for the connector to use or due to a proxy server that is unavailable while the connector is being run.
If you are using the connector under Windows, a common source of confusion is that a browser will still successfully connect to the Agile Central servers. Please be aware that the connector does not honor the same proxy policy that is being supplied to the Internet Settings in the Windows Control Panel. Therefore, a browser may connect successfully to the Agile Central servers, but the connector is unable to connect. This is because the connector is based on Ruby which, due to its multi-operating system compatibility, does not look to the Windows settings to determine its path for network connectivity.
There is no configuration directive within the connector's XML file to handle a proxy for Rally, so it needs to be configured via an environment variable.
The variable name will be HTTP_PROXY and the value will be set to your proxy server address.
If further troubleshooting needs to be performed, there is some troubleshooting that can be done using the curl tool. Curl is a command line tool which, much like our connectors, will need to have the appropriate proxy server settings specified in its parameters.
Download and install curl for your OS here. Linux users will probably already have curl installed.
Open a command line and run the following command:
curl --proxy <your.proxy.server> -I https://rally1.rallydev.com
A successful connection should appear as follows:
HTTP/2 200
date: Wed, 28 Nov 2018 17:27:53 GMT
content-type: text/html; charset=UTF-8
set-cookie: __cfduid=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; expires=Thu, 28-Nov-19 17:27:53 GMT; path=/; domain=.rallydev.com; HttpOnly
expires: Thu, 01 Jan 1970 00:00:00 GMT
x-xss-protection: 1; mode=block
set-cookie: JSESSIONID=qd-app-00xxxxxxxxxxxxxxxxxxxxxxxxxx.qd-app-00;Path=/;Secure;HttpOnly
vary: Accept-Encoding
p3p: CP="NON DSP COR CURa PSAa PSDa OUR NOR BUS PUR COM NAV STA"
cache-control: private,max-age=0,must-revalidate
strict-transport-security: max-age=31536000; includeSubDomains; preload;
set-cookie: SERVERID=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; path=/
expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
server: cloudflare
cf-ray: xxxxxxxxxxxxxxxx-DEN
Once you have curl working with the correct proxy settings, you may then apply those settings to the connector. Please bear in mind it may be necessary to work with your networking team to establish the correct settings for your proxy server including address, port number and credentials.