我正在使用sql http请求从JIRA检索问题,到目前为止,我可以根据受让人姓名或记者检索所选数量的问题。 我现在的问题是我无法根据创建字段(创建问题的日期)或其他自定义字段检索问题,我收到错误: 无法识别的字段! 我的方法是使用这部分代码:
**lv_json_request := '{'
||'"jql": "assignee='||:P9_ASSIGNEE||'",'
||'"startAt": '||NVL(:P9_STARTAT,0)||','
||'"maxResults": '||:P9_MAXRESULTS
||'}';**
您可以在下面找到整个pl / sql块,它适用于当前情况。
DECLARE
http_req utl_http.req;
http_resp utl_http.resp;
lv_json_request VARCHAR2(32767);
lc_response CLOB;
lv_response VARCHAR2(32767);
BEGIN
lv_json_request := '{'
||'"jql": "assignee='||:P9_ASSIGNEE||'",'
||'"startAt": '||NVL(:P9_STARTAT,0)||','
||'"maxResults": '||:P9_MAXRESULTS
||'}';
UTL_HTTP.set_wallet('file:/oracle/ora11/owm/wallets/oracle', 'apex4wallet');
http_req:= utl_http.begin_request
( url => 'https://rb-wam.bosch.com/tracker/rest/api/2/search'
, method => 'POST'
);
utl_http.set_header(http_req, 'Authorization', 'Basic '||:F_JIRA_TOKEN_REST);
utl_http.set_header(http_req, 'Content-Type', 'application/json');
utl_http.set_header(http_req, 'Content-Length', LENGTH(lv_json_request));
utl_http.write_text(http_req, lv_json_request);
http_resp:= utl_http.get_response(http_req);
-- read data from response
BEGIN
LOOP
utl_http.read_text(http_resp, lv_response);
HTP.PRN(lv_response);
lc_response := lc_response || TO_CLOB(lv_response);
END LOOP;
EXCEPTION
WHEN UTL_HTTP.END_OF_BODY THEN
utl_http.end_response(http_resp);
END;
-- log details
--DELETE webservice_log;
INSERT INTO webservice_log (seq_id,clob_response,clob_request) VALUES (sqe_Webservice_Log.NEXTVAL,lc_response,TO_CLOB(lv_json_request));
--HTP.P(lc_response);
EXCEPTION
WHEN OTHERS THEN
RAISE;
END;
答案 0 :(得分:0)
您可以在lv_json_request语句中添加类似的内容:
"createdDate<='||:P9_CREATED||'"
使用任何有效的运算符而不是“&lt; =”,具体取决于您的需求。