JIRA Cloud> HTTP Request with proxy

We were using JIRA integration with UiPath using HTTP request. Recently, our JIRA got migrated to cloud and problem is integrating with JIRA cloud. We have to use proxy for authentication. We have tried to set proxy in our HTTP requests but 407 code is coming as a result. Any help?

Header:

Simple Auth:
username; Email
Password: Token

Error:
Your credentials could not be authenticated: “Credentials are missing.”. You will not be permitted access until your credentials can be verified.

Hi @pushkar.singh

Welcome to the community

Please try giving username and password as header details

Alternately check this thread

cheers

Tried

2 header entries:
1> Proxy with username:password@proxy details
2> Authentication as mentioned in the post with encrypted code.

Hi @pushkar.singh

Did you check the link thread because it says to pass the username and password as colon separated

cheers

Yes
While encoding, we have to enter username:API Token and after it, we will get one encoded value.

In Postman, I have defined proxy settings and using header value for authentication. It works well.
In Uipath, I have defined in Uipath.config as defined Redirecting Robots through a Proxy Server (uipath.com) and used same header value but no success.

Hi @pushkar.singh

As per docs I see this. Is there a possibility to get any other authetication options

cheers

ohkay

Windows Credentials Proxy Authentication

Starting with v2021.4.4, the Robot can work with proxy configurations that use Authentication via Windows Credentials. To enable this functionality, add the UIPATH_PROXY_USE_DEFAULT_CREDENTIALS system environment variable on the machine.

In this part, UIPATH_PROXY_USE_DEFAULT_CREDENTIALS is the key but nothing is mentioned about value. How will it accept credentails?

Hi @pushkar.singh

To start with the doc that you are referring to is to setup a proxy connection between different UiPath services.

There is some value on the http request which is creating the problem for you I believe.

Can you give the details what you are trying and how you are trying to pass

If it is working on postman then try checking the hidden headers on it and also try encoding the url that you are passing just to ensure it is not failing because of that.

Ideally that should not be the case as you are getting 407 which happens only when creds for proxy are wrong

Also some one tried using a vb code can check that

And coming to windows it takes the current user details and you have to set the value to true or 1 while adding in environment variables

cheers

Postman:

Global settings> proxy server with port, username, password
Header: Basic encoded[Jira email:API Token]

It works.

UiPath:
Uipath.Config>
< add key=“ProxyAddress” value=“http://userproxy.xxx.net:8080” />
< add key=“BypassLocalAddresses” value=“True” />
< add key=“BypassList” value=“*.atlassian.net” />
< add key=“UserName” value=“xxxx” />
< add key=“Password” value=“xxx” />
< add key=“Domain” value=“xxx” />

Header: Basic encoded[Jira email:API Token]

407 server error.

Hi @pushkar.singh

Did you try the windows creds or the vba code that was provided in the previous post?

Will that work for you?

Cheers

tried windows credentials… no success.

1 Like

Hi @pushkar.singh

Then you current only way left is to use invoke code…

Unless anyone has anyother way

Cheers

I’ve never tried invoke code before. I entered code provided above but it is throwing many compile errors.

Error ERROR Validation Error No compiled code to run
error BC30456: ‘GetEncoding’ is not a member of ‘String’. At line 13
error BC30311: Value of type ‘HttpWebResponse’ cannot be converted to ‘String’. At line 17 Sequences/MainApplication/Others/UpdateJira.xaml

Hi @pushkar.singh

Please use this

Dim fr As System.Net.HttpWebRequest
Dim targetURI As New Uri(strURL)

fr = DirectCast(System.Net.HttpWebRequest.Create(targetURI), System.Net.HttpWebRequest)

Dim webProxy As System.Net.IWebProxy = New System.Net.WebProxy(strIpAddressAndPort)
webProxy.Credentials = New System.Net.NetworkCredential(strProxyUsername, strProxyPassword)
fr.Proxy = webProxy
fr.Credentials = New System.Net.NetworkCredential(strSimpleAuthUsername, strSimpleAuthPassword)

Dim username As String = strSimpleAuthUsername
Dim password As String = strSimpleAuthPassword
Dim encoded As String = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding(“ISO-8859-1”).GetBytes(username + “:” + password))
fr.Headers.Add(“Authorization”, "Basic " + encoded)

Dim res As System.Net.HttpWebResponse = DirectCast(fr.GetResponse(), System.Net.HttpWebResponse)
webRes = res

Dim html As String = New StreamReader(res.GetResponseStream()).ReadToEnd()
strHtml = html

cheers

error BC30456: ‘Encoding’ is not a member of ‘String’. At line 13
error BC30456: ‘GetEncoding’ is not a member of ‘String’. At line 13

Hi @pushkar.singh

After copy pasting please replace the inverted comma in your code

Also can you please try restarting the studio and let me know if you still see the error

cheers

Executed. Below are the results:
image

Hi @pushkar.singh

After that give a log message and check the response code and description to find what happened using below

webres.StatusDescription

webres.StatusCode

cheers

Results:
OK
OK

what does it mean?
I am expecting json response.

Hi @pushkar.singh

are you not getting the response in strHTML variable?

can you run it in debug and from local panel can you check the vqalues of Webres variable .That will contain the response details.

Code and Description returned ‘OK’ that means the call is successful

cheers