Groovy 在Jenkins管道中维护HTTP会话

Groovy 在Jenkins管道中维护HTTP会话,groovy,httprequest,session-cookies,jenkins-pipeline,alm,Groovy,Httprequest,Session Cookies,Jenkins Pipeline,Alm,我想在詹金斯管道内使用。要使用此API,我需要遵循以下步骤: 已创建身份验证+登录会话cookie 得到我需要的 注销 我还需要保持一个会话: 尽管RESTful应用程序在理想情况下是无状态的,但ALM平台需要会话来管理锁定、客户端生存期和执行其他基本任务 使用,我无法维持会话 我有一个使用curl和pipeline step sh的工作解决方案,但我想做一些更干净的事情,使用plugin/jenkins或一些groovy/java解决方案的步骤。我不知道ALM REST API,但听起来你想使

我想在詹金斯管道内使用。要使用此API,我需要遵循以下步骤:

已创建身份验证+登录会话cookie 得到我需要的 注销 我还需要保持一个会话:

尽管RESTful应用程序在理想情况下是无状态的,但ALM平台需要会话来管理锁定、客户端生存期和执行其他基本任务

使用,我无法维持会话


我有一个使用curl和pipeline step sh的工作解决方案,但我想做一些更干净的事情,使用plugin/jenkins或一些groovy/java解决方案的步骤。

我不知道ALM REST API,但听起来你想使用cookies使用正常的HTTP会话,但是通过jenkins的httpRequest。这似乎不容易得到开箱即用的支持,但您可以这样手动执行:

httpRequesturl:https://the-url.com/login.php def cookieContent=response.headers.getSet-Cookie httpRequest 网址:https://the-url.com/the-thing.php, customHeaders:[[名称:Cookie,值:cookieContent]] 您可能需要使用连接来查看服务器接受和返回的内容。希望您可以使用内置身份验证提供登录,但您可能需要在正文中提供登录,例如:

contentType: "APPLICATION_FORM",
requestBody: "user=${env.USER}&pass=${env.PASS}",
希望这有帮助