如何在不使用密码的情况下在JIRA中调用RESTAPI

时间:2016-02-29 11:22:39

标签: oauth jira-plugin jersey-client jira-rest-api

我正在尝试为JIRA构建一个使用REST API的插件。使用Jersey客户端连接Web资源并获取JSON响应,即create index sub_svc_parm_ixpvs on sub_svc_parm (parm_id, val, sub_svc_id) ; create index sub_svc_ixss on sub_svc (sub_svc_id, sub_svc_status_id) TABLESPACE "SMP_IDX_SUB_SVC" ; Plan hash value: 176576580 ---------------------------------------------------------------------------- -------------------- | Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time | ---------------------------------------------------------------------------- -------------------- | 0 | SELECT STATEMENT | | 1802K| 56M| | 43296 (1)| 59:49:34 | |* 1 | HASH JOIN | | 1802K| 56M| 37M| 43296 (1)| 59:49:34 | |* 2 | INDEX FULL SCAN | SUB_SVC_IXSS | 1763K| 16M| | 33679 (1)| 46:32:15 | |* 3 | INDEX RANGE SCAN| SUB_SVC_PARM_IXPVS | 2308K| 50M| | 1857 (0)| 02:34:00 | ------------------------------------------------------------------------------------------------ Predicate Information (identified by operation id): --------------------------------------------------- 1 - access("SS"."SUB_SVC_ID"="SSP"."SUB_SVC_ID") 2 - filter("SS"."SUB_SVC_STATUS_ID"<>"FN_GET_STATUS_ID"('SubSvcSpec','deleted') AND "SS"."SUB_SVC_STATUS_ID"<>"FN_GET_STATUS_ID"('SubSvcSpec','inactive') AND "SS"."SUB_SVC_STATUS_ID"<>"FN_GET_STATUS_ID"('SubSvcSpec','add_in_progress') AND "SS"."SUB_SVC_STATUS_ID"<>"FN_GET_STATUS_ID"('SubSvcSpec','activation_in_progress') AND "SS"."SUB_SVC_STATUS_ID"<>"FN_GET_STATUS_ID"('SubSvcSpec','courtesy_block_in_progress') AND "SS"."SUB_SVC_STATUS_ID"<>"FN_GET_STATUS_ID"('SubSvcSpec','mso_block_in_progress') AND "SS"."SUB_SVC_STATUS_ID"<>"FN_GET_STATUS_ID"('SubSvcSpec','delete_in_progress') AND "SS"."SUB_SVC_STATUS_ID"<>"FN_GET_STATUS_ID"('SubSvcSpec','deactivation_in_progress') AND "SS"."SUB_SVC_STATUS_ID"<>"FN_GET_STATUS_ID"('SubSvcSpec','change_in_progress')) 3 - access("SSP"."PARM_ID"="GET_PARM_ID"('net_ppv_credit_limit',"GET_CLASS_ID"('SubSv cSpec'),"GET_SVCID"('smp_cpe_cas'))) filter("SSP"."VAL"<>'140.00') 。这里我在标头中使用ClientResponse并使用基本类型授权,它需要用户名和密码。我想使用会话或任何其他类型的授权技术,因为没有人提供密码作为纯文本,然后加密用户名和密码并发送请求。所以我的问题是:有没有其他方法可以在JIRA中调用REST API,这样我就可以在不使用密码的情况下调用其他REST API。
我的代码是:

Authorization

我从上面的代码获得响应,但是没有人以明文形式提供密码来访问资源。有人对这个问题有任何想法吗?

1 个答案:

答案 0 :(得分:1)

请参阅JIRA REST API Reference

  

验证

     

任何适用于JIRA的身份验证都可以使用REST API。 首选的身份验证方法是OAuth(示例)和HTTP Basic(使用SSL时),它们都记录在JIRA REST API教程中。其他支持的方法包括HTTP Cookie和可信应用程序。

     

JIRA在浏览器中使用基于cookie的身份验证,因此您可以在页面上从Javascript调用REST并依赖浏览器已建立的身份验证。要重现JIRA登录页面的行为(例如,向用户显示身份验证错误消息),可以POST/auth/1/session资源。

     

Atlassian Connect附加组件的身份验证

     

使用Atlassian Connect构建的JIRA加载项可以使用JWT,以便使用JIRA轻松一致地验证API请求,并验证查询参数的完整性。有关详细信息,请参阅Atlassian Connect JWT身份验证文档。