关于 🚀 Go-Tapd-SDK
Go-Tapd-SDK 是用于访问 Tapd API 的 Go 客户端库,适合开发 Tapd 应用或 Webhook 处理程序的 Go 开发者。项目说明当前版本尚不稳定,不建议用于生产环境。
主要功能
- 01通过 Go 访问 Tapd API
- 02Basic Authentication API 服务
- 03Personal Access Token API 服务
- 04Webhook 服务示例
适用场景
- 01在 Go 应用中调用 Tapd API
- 02使用 Basic Authentication 认证 API 请求
- 03使用 Personal Access Token 访问 API
- 04构建 Tapd Webhook 处理程序
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
🚀 Go-Tapd-SDK
Go-Tapd-SDK 是一个 Go 客户端库,用于访问 Tapd API。
警告
目前仍是非稳定版本,不建议用于生产环境。
如果遇到任何问题,欢迎提交 issue。
🧰 命令行工具
说明
🧰 更喜欢使用终端或 CI?试试配套项目
go-tapd/cli,这是一个基于此 SDK 构建的命令行工具。⚙️ 使用 CLI 执行快速的本地操作、Shell 脚本和自动化任务。安装和使用示例请参阅代码仓库。
📥 安装
go get github.com/go-tapd/tapd
✨ 功能
请参阅 features.md
🔧 使用方法
API 服务
- 使用 Basic Authentication API 服务的示例:
package main
import (
"context"
"log"
"github.com/go-tapd/tapd"
)
func main() {
client, err := tapd.NewClient("client_id", "client_secret")
if err != nil {
log.Fatal(err)
}
// example: get labels
labels, _, err := client.LabelService.GetLabels(context.Background(), &tapd.GetLabelsRequest{
WorkspaceID: new(123456),
})
if err != nil {
log.Fatal(err)
}
log.Printf("labels: %+v", labels)
}
- 使用 Personal Access Token (PAT) API 服务的示例:
package main
import (
"context"
"log"
"github.com/go-tapd/tapd"
)
func main() {
client, err := tapd.NewPATClient("your_access_token")
if err != nil {
log.Fatal(err)
}
// example: get stories
stories, _, err := client.StoryService.GetStories(context.Background(), &tapd.GetStoriesRequest{
WorkspaceID: new(123456),
})
if err != nil {
log.Fatal(err)
}
log.Printf("stories: %+v", stories)
}
Webhook 服务示例
package main
import (
"context"
"log"
"net/http"
"github.com/go-tapd/tapd/webhook"
)
type StoreUpdateListener struct{}
func (l *StoreUpdateListener) OnStoryUpdate(ctx context.Context, event *webhook.StoryUpdateEvent) error {
log.Printf("StoreUpdateListener: %+v", event)
return nil
}
func main() {
dispatcher := webhook.NewDispatcher(
webhook.WithRegisters(&StoreUpdateListener{}),
)
dispatcher.Registers(&StoreUpdateListener{})
srv := http.NewServeMux()
srv.HandleFunc("/webhook", func(w http.ResponseWriter, r *http.Request) {
log.Println("Received webhook request")
if err := dispatcher.DispatchRequest(r); err != nil {
log.Println(err)
}
w.Write([]byte("ok"))
})
http.ListenAndServe(":8080", srv)
}
📜 许可证
MIT License (MIT)。更多信息请参阅许可证文件。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。