看板应用teambition和其他企业系统的整合
概要
看板应用 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', 'POST', { 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + param.appAccessToken, 'X-Tenant-Id': param.orgId, 'X-Tenant-Type': 'organization' }, data); }
具体实现请参考:
通过kintone发布teambition任务
更多文章和演示:Kintone demo环境