Pass cookies along with crumb in Jenkins API requests

PROD-34651

Change-Id: Iff820929b33f192cce4ec720d5cc9c9dbf80329f
diff --git a/_modules/jenkins_common.py b/_modules/jenkins_common.py
index 225042f..64cede6 100644
--- a/_modules/jenkins_common.py
+++ b/_modules/jenkins_common.py
@@ -62,7 +62,7 @@
     if not jenkins_url:
         raise SaltInvocationError('No Jenkins URL found.')
 
-    token_obj = get_api_crumb(jenkins_url, jenkins_user, jenkins_password)
+    token_obj, req_cookies = get_api_crumb(jenkins_url, jenkins_user, jenkins_password)
     req_data = {"script": render_groovy_script(script, props)}
     if token_obj:
         req_data[token_obj["crumbRequestField"]] = token_obj["crumb"]
@@ -70,7 +70,7 @@
     logger.debug("Calling Jenkins script API with URL: %s", jenkins_url)
     req = requests.post('%s/scriptText' % jenkins_url,
                         auth=(jenkins_user, jenkins_password) if jenkins_user else None,
-                        data=req_data)
+                        data=req_data, cookies=req_cookies)
     ret["code"] = req.status_code
     ret["msg"] = req.text
     if req.status_code in success_status_codes:
@@ -112,14 +112,14 @@
                             auth=(jenkins_user, jenkins_password) if jenkins_user else None)
     if tokenReq.status_code == 200:
         logger.debug("Got Jenkins API crumb: %s", tokenReq.json())
-        return tokenReq.json()
+        return tokenReq.json(), tokenReq.cookies
     elif tokenReq.status_code in [404, 401, 502, 503]:
         # 404 means CSRF security is disabled, so api crumb is not necessary,
         # 401 means unauthorized
         # 50x means jenkins is unavailabe - fail in call_groovy_script, but
         #     not here, to handle exception in state
         logger.debug("Got error %s: %s", str(tokenReq.status_code), tokenReq.reason)
-        return None
+        return None, None
     else:
         raise Exception("Cannot obtain Jenkins API crumb. Status code: %s. Text: %s" %
                         (tokenReq.status_code, tokenReq.text))