Oracle apex 如何从Oracle APEX页面调用Jira Rest API
要求- 对于创建的任何Oracle apex 如何从Oracle APEX页面调用Jira Rest API,oracle-apex,jira-rest-api,Oracle Apex,Jira Rest Api,要求- 对于创建的任何Jira问题,将在APEX页面上显示以下字段 发行编号/发行Id 总结 描述 地位 受让人 例如,user01和user02都可以访问Oracle APEX和Jira。user01在Jira中创建了3期,user02创建了5期。现在,当user01登录到Oracle APEX时,应该看到3个问题;当user02登录到Oracle APEX时,应该看到APEX页面上的5个问题 我是APEX Rest服务调用的新手,请大家提供一些示例APEX代码,以便根据上述要求使用用户名/
Jira
问题,将在APEX
页面上显示以下字段
谢谢大家。我以前也做过类似的事情。在我的例子中,目标是从Jira获取项目PRJ001(Jira项目密钥)的所有问题,并定期将它们存储在本地数据库表(J_问题)中,因此我创建了一个作业,该作业不时执行以下过程:
create or replace PROCEDURE "JIRA_SYNC_ISSUES" as
var_response CLOB;
var_counter number := 0;
var_total number := 1;
var_prj_key varchar2(10);
begin
var_prj_key := 'PRJ001';
var_total := 1;
var_counter := 0;
while var_total > var_counter
loop
apex_session.create_session (p_app_id => 107, p_page_id => 1, p_username => 'USERNAME01');
var_response:= apex_web_service.make_rest_request(
p_url => 'https://yourcompany.atlassian.net/rest/api/2/search?jql=project="'|| var_prj_key ||'"&maxResults=100&startAt=' || var_counter || '',
p_http_method => 'GET',
p_credential_static_id => 'oud_rest'
);
SELECT JSON_VALUE(var_response, '$.total' RETURNING NUMBER) into var_total
FROM DUAL;
for i in (SELECT *
FROM
JSON_TABLE(var_response, '$.issues[*]'
COLUMNS (
key VARCHAR2(100) PATH '$.key',
prj_key VARCHAR2(100) PATH '$.fields.project.key',
status VARCHAR2(100) PATH '$.fields.status.name',
updated VARCHAR2(100) PATH '$.fields.updated',
assignee VARCHAR2(100) PATH '$.fields.assignee.name',
time_spent NUMBER PATH '$.fields.timespent'
)))
loop
begin
insert into j_issues (jis_key, jis_jpr_key, jis_status, jis_updated, jis_assignee, jis_time_spent)
values (i.key,
i.prj_key,
i.status,
to_timestamp(substr(i.updated,1,10)||' '||substr(i.updated,12,8),'YYYY-MM-DD HH24:MI:SS'),
i.assignee,
i.time_spent);
exception
when dup_val_on_index then
update j_issues
set jis_jpr_key = i.prj_key,
jis_status = i.status,
jis_updated = to_timestamp(substr(i.updated,1,10)||' '||substr(i.updated,12,8),'YYYY-MM-DD HH24:MI:SS'),
jis_assignee = i.assignee,
jis_time_spent = i.time_spent
where jis_key = i.key;
end;
var_counter := var_counter + 1;
end loop;
end loop;
end jira_sync_issues;
在第一部分中,它验证并调用API。在第二种情况下,它获取var_响应并将其插入到所需的表中。
在第一部分中,我读了以下内容:
第二项:
注意var_计数器和var_总变量。它们用于迭代Jira响应,因为在每个响应中检索的项目是有限的。因此,如果您期望的值超过该限制,则应该进行更多调用以检索它们
如果问题的数量很大,那么像这样进行定时同步,而不是让用户等待整个结果,会有很多好处。数据进入数据库后,您可以像往常一样查询它
如果有帮助,请告诉我;) 我没有使用JIRA的REST API的经验,但您会希望使用
APEX\u WEB\u服务。发出\u REST\u请求
来拨打电话。使用Postman或其他API测试工具测试API,然后尝试使用该函数调用模拟该请求。非常感谢您的帮助。我会按照你的步骤让你知道。祝您今天过得愉快。