【teambition 二开】创建计划工时

teambition 开放平台提供的SDK 只有go和node

文档也不是清澈,如: plantime intege 计划工时数

看了我以为是小时,结果单位是:毫秒

文档:https://open.teambition.com/docs/apis/6321c6cf912d20d3b5a48f2cteambitionhttps://open.teambition.com/docs/apis/6321c6cf912d20d3b5a48f2c

然后用node代码实现了一个。

代码:

javascript 复制代码
import {Configuration, ApiClient}  from '@tng/teambition-openapi-sdk'

const appId = "demo appId "
const appSecret = "demo appSecret "
const cfg = new Configuration({appId: appId, appSecret: appSecret })

const client = new ApiClient(cfg);

const orgId = "demo orgId "

// 创建计划工时
const requestHeader = {
    xTenantId: orgId,
    xTenantType: "organization"
};

const requestBody = {
    userId: "demo userId",                    // 工时执行人ID
    submitterId: "demo submitterId",           // 工时提交人ID
    objectId: "demo objectId",                  // 任务ID
    objectType: "task",                        // 对象类型
    includesHolidays: 0,                       // 是否包含节假日(0:不包含,1:包含)
    isDuration: 0,                             // 是否跨天(0:不跨天,1:跨天)
    plantime: 28800000,                        // 计划工时数(单位:毫秒,这里是8小时=28800000毫秒)
    startDate: "2025-12-25",                  // 开始时间(日期格式:YYYY-MM-DD)
    endDate: "2025-12-26",                    // 结束时间(日期格式:YYYY-MM-DD)
    ignoreActivity: false                      // 是否关闭任务动态
};

console.log("=== 请求 Header ===");
console.log(JSON.stringify(requestHeader, null, 2));
console.log("\n=== 请求 Body ===");
console.log(JSON.stringify(requestBody, null, 2));
console.log("\n=== 开始发送请求 ===");

client.worktime.createPlanTime({
    header: requestHeader,
    body: requestBody
}).then(({data}) => {
    console.log("\n=== 响应数据 ===");
    console.log("计划工时创建成功:", data)
}).catch(error => {
    console.info(error)
    if (error.response) {
        console.error("状态码:", error.response.status);
        console.error("响应头:", error.response.headers);
        console.error("响应体:", error.response.data);
      } else if (error.request) {
        console.error("请求未收到响应:", error.request);
      } else {
        console.error("其他错误:", error.message);
      }
})



相关推荐
斯晨的AI笔记1 天前
在服务器上跑 npm ci 四十分钟没装完,我打包把 node_modules 扔了过去
服务器·node.js
cpolar技术支持1 天前
第三方平台回调总说收不到?把本机 Webhook 收单页跑通,用 cpolar 固定二级子域名给对面看实时请求
node.js·内网穿透·webhook·cpolar·回调对接
damoluomu2 天前
Node.js CMS 的官网和仓库,22 个一次收齐(五)
node.js
Flynt2 天前
Deno 官宣一年后停更:我把它的招牌特性在 Node 26 和 Bun 里挨个找了一遍
node.js·deno·bun
孟陬2 天前
Node.js 中 `\b` 的作用
node.js·bun
小小荧2 天前
🚀 Node.js 之父离开 Deno,带着整个团队加入了 Cloudflare
前端·node.js
damoluomu2 天前
Directus 换掉 GPL 之后,Node.js CMS 到底怎么选?(四)
node.js
前端一小卒3 天前
搜索 API 额度用完返回空数组,Agent 就开始一本正经地胡说
前端·javascript·node.js
濮水大叔3 天前
Cabloy 双引擎架构详解:Vona 与 Zova 是如何协作的
typescript·node.js·全栈