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

本贴最后更新于 1439 天前,其中的信息可能已经天翻地覆

概要

看板应用 teambition

企业 OA 系统 kintone

我们希望能把自己企业 OA 系统(kintone)中的任务直接发布到外包企业的项目管理系统(teambition)上。

效果图

tb.gif

关键代码


        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 发布 teambition 任务

更多文章和演示:Kintone demo 环境

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...