概要
看板应用 teambition
企业 OA 系统 kintone
我们希望能把自己企业 OA 系统(kintone)中的任务直接发布到外包企业的项目管理系统(teambition)上。
效果图
关键代码
function genAppAccessToken(param) {
const periodical = 3600;
const iat = Math.floor(Date.now() / (1000 * periodical)) * periodical;
const oHeader = {
alg: 'HS256',
typ: 'JWT'
};
const oPayload = {
iat:iat,
exp: iat + Math.floor(1.1 * periodical),
_appId: param.appId,
};
return KJUR.jws.JWS.sign('HS256', oHeader, oPayload, { utf8: param.appSecret });
}
function createTask(param) {
const data = {
'operatorId': param.uid,
'projectId': param.projectId,
'templateId': param.templateId,
'content': param.content,
'priority': param.priority,
'visible': param.visible }
const options = ['tasklistId', 'taskgroupId', 'executorId', 'statusId', 'startDate', 'dueDate', 'note', 'parentTaskId', 'participants', 'customfields'];
for (let i = 0; i < options.length; i++) {
param[options[i]] && (data[options[i]] = param[options[i]]);
}
return kintone.proxy('[https://open.teambition.com/api/task/create',](https://open.teambition.com/api/task/create%27,) 'POST', {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + param.appAccessToken,
'X-Tenant-Id': param.orgId,
'X-Tenant-Type': 'organization'
}, data);
}
具体实现请参考:
更多文章和演示:Kintone demo 环境
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于