我需要使用 python 代码访问 Jenkins REST API。需要一些有关正确方法的指导。
我在启用 SSL 的 apache tomcat 中托管了 jenkins v2.176.1。我已经基于此配置了 Azure AD 身份验证。我可以在浏览器中使用我的 Azure AD 凭据登录并访问 jenkins 的 REST API。
当我尝试根据此处的示例从 curl 或邮递员访问 REST API 时,我能够获取访问令牌,但 jenkins rest api(Authorization: Bearer [access_token]在标头中)响应显示为未经授权。
配置的 API 权限是:在 Azure 活动目录图下, Group.Read.All 和 User.Read.All 。
我可以从邮递员访问 REST API 的唯一方法是:
步骤 1:在带有 oauth2 选项的邮递员授权选项卡中 --> 获取新的访问令牌 --> grant_type as "Authorization Code"。响应包含 access_token、refresh_token 和id_token。
这将在邮递员中设置与微软登录相关的 cookie。
第 2 步:https://[jenkinsHost]/securityRealm/commenceLogin使用参数“id_token:id_token”(从上一步获得)执行 GET …