腾讯云代码分析腾讯云代码分析
指南
API
  • AI 能力概述
  • AI 修复建议
  • AI 问题审计
  • AI 分析工具
  • IDE

    • Visual Studio Code TCA 插件
    • JetBrains IDEs TCA 插件
  • CNB

    • CNB TCA 插件
    • CNB TCA 徽章
  • Jenkins

    • Jenkins TCA 插件
  • MCP

    • TCA MCP 服务器
  • 工具概述
  • TCA-Armory-C2
  • TCA-Armory-R
  • TCA-Armory-Xcheck
  • RegexScan
  • 深入

    • 内网仓库分析
    • API 触发分析
    • 分析速度优化
    • 问题检出率提升
  • 其他

    • 问题忽略方式
立即体验
  • 服务协议
  • 隐私协议
  • 简体中文
  • English
指南
API
  • AI 能力概述
  • AI 修复建议
  • AI 问题审计
  • AI 分析工具
  • IDE

    • Visual Studio Code TCA 插件
    • JetBrains IDEs TCA 插件
  • CNB

    • CNB TCA 插件
    • CNB TCA 徽章
  • Jenkins

    • Jenkins TCA 插件
  • MCP

    • TCA MCP 服务器
  • 工具概述
  • TCA-Armory-C2
  • TCA-Armory-R
  • TCA-Armory-Xcheck
  • RegexScan
  • 深入

    • 内网仓库分析
    • API 触发分析
    • 分析速度优化
    • 问题检出率提升
  • 其他

    • 问题忽略方式
立即体验
  • 服务协议
  • 隐私协议
  • 简体中文
  • English
  • API

    • 接口文档

接口文档

点击访问 API 文档地址

  • Main OpenAPI 文档,该接口文档包含代码库信息、项目配置等数据。

  • Analysis OpenAPI 文档,包含代码扫描、代码度量、代码审计等结果数据接口。

接口请求前缀

  • Main OpenAPI:{origin}/server/main/api/

  • Analysis OpenAPI:{origin}/server/analysis/api/

说明:{origin} 指当前浏览器访问该文档 URL 域名部分,例如 https://tca.tencent.com。

鉴权方式

请求头部中添加如下格式:

// request headers 内添加
{
  "TCA-USERID": "{当前user-id,比如xiaoming}",
  "TCA-TICKET": "{TCA-TICKET}",
  "TCA-TIMESTAMP": "{当前时间戳,比如1614565593}",
}

python 示例

from time import time
from hashlib import sha256

def get_headers(user_id, token):
    timestamp = int(time())
    token_sig = "%s%s#%s#%s%s" % (timestamp, user_id, token, user_id, timestamp)
    ticket = sha256(token_sig.encode("utf-8")).hexdigest().upper()
    return {
        "TCA-USERID": user_id,
        "TCA-TIMESTAMP": str(timestamp),
        "TCA-TICKET": ticket
    }

进入个人中心-个人令牌获取 user_id 和 token 位置:

个人令牌

请求示例

如何获取团队标识、项目标识

可从访问链接URL中获取团队标识:org_sid,项目标识:team_name 字段。

如分析项目列表页面URL:{origin}/t/{org_sid}/p/{team_name}/repos/{repo_id}/projects

形如URL:{origin}/t/LRgg3msnZzL/p/tca/repos/20/projects

其对应的团队标识 org_sid 为 LRgg3msnZzL ,项目标识 team_name 为 tca

请求示例

import requests
# 假设:
# 当前域名为http://tca.com/,当前org_sid为helloworld
# 获取helloworld团队下的hellotca项目下登记的代码库
url="http://tca.com/server/main/api/orgs/helloworld/teams/hellotca/repos/?limit=12&offset=0"
headers = {
  "TCA-USERID": user_id,
  "TCA-TIMESTAMP": str(timestamp),
  "TCA-TICKET": ticket
}

response = requests.get(url, headers=headers)
print(response.json())
# 结果如下:
{
    "data": {
        "count": 1,
        "next": null,
        "previous": null,
        "results": [
            {
                "id": 23,
                "name": "repo_name",
                "scm_url": "http://git.repo.com/group/repo_name",
                "scm_type": "git",
                "branch_count": 1,
                "scheme_count": 1,
                "job_count": 1,
                "created_time": "2021-05-14 02:34:44.509118+00:00",
                "recent_active": {
                    "id": 27,
                    "branch_name": "master",
                    "active_time": "2021-05-14 02:34:44.509118+00:00",
                    "total_line_num": 1,
                    "code_line_num": 1
                },
                "created_from": "tca",
                "creator": {
                    "username": "author",
                    "nickname": "author",
                    "status": 1,
                    "avatar": "url",
                    "org": "org_name"
                },
                "symbol": null,
                "scm_auth": {
                    "id": 1,
                    "scm_account": null,
                    "scm_oauth": null,
                    "scm_ssh": {
                        "id": 1,
                        "name": "test",
                        "scm_platform": 2,
                        "scm_platform_desc": null,
                        "user": {
                            "username": "username",
                            "nickname": "nickname",
                            "status": 1,
                            "avatar": "url",
                            "org": "org_name"
                        }
                    },
                    "auth_type": "ssh_token",
                    "created_time": "2021-05-14T10:34:44.552859+08:00",
                    "modified_time": "2021-05-14T10:34:44.552887+08:00"
                },
                "project_team": {
                    "name": "test",
                    "display_name": "测试",
                    "status": 1,
                    "org_sid": "test"
                }
            }
        ]
    },
    "code": 0,
    "msg": "请求成功",
    "status_code": 200
}

分页方式

平台返回的数据分页格式是使用 limit 和 offset 参数进行分页处理。

示例

比如:server/main/api/orgs/<org_sid>/teams/?limit=12&offset=12获取得到的数据是从第 13 条开始获取

OpenAPI MCP Server

TCA OpenAPI MCP Server 提供 TCA OpenAPI 文档查询能力,帮助有定制化需求的用户快速获取接口信息,提升开发效率。

配置服务

在您的 MCP 客户端中添加配置:

{
  "mcpServers": {
    "tca-openapi-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "tca-openapi-mcp-server"
      ]
    }
  }
}

提示

您的本地环境需要预先安装Node.js。

CodeBuddy 使用示例

example

最近更新时间: 2025/12/30 13:08
贡献者: nickctang, faberihe