我正在尝试为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
我从上面的代码获得响应,但是没有人以明文形式提供密码来访问资源。有人对这个问题有任何想法吗?
答案 0 :(得分:1)
验证
任何适用于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身份验证文档。