看板应用 teambition 和其他企业系统的整合

2020-08-14 10:23:35 +08:00
 Cybozu0

概要

看板应用 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 环境

1196 次点击
所在节点    推广
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/698170

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX