乐趣区

关于javascript:看板应用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 环境

退出移动版