{"id":39461410,"url":"https://github.com/koderover/lark-project-plugin","last_synced_at":"2026-03-06T09:02:02.989Z","repository":{"id":328131894,"uuid":"1112064301","full_name":"koderover/lark-project-plugin","owner":"koderover","description":null,"archived":false,"fork":false,"pushed_at":"2026-02-28T10:42:45.000Z","size":1924,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-28T15:20:00.048Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/koderover.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-08T05:17:12.000Z","updated_at":"2026-02-28T10:42:49.000Z","dependencies_parsed_at":"2026-03-06T09:01:38.152Z","dependency_job_id":null,"html_url":"https://github.com/koderover/lark-project-plugin","commit_stats":null,"previous_names":["koderover/lark-project-plugin"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/koderover/lark-project-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koderover%2Flark-project-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koderover%2Flark-project-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koderover%2Flark-project-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koderover%2Flark-project-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/koderover","download_url":"https://codeload.github.com/koderover/lark-project-plugin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koderover%2Flark-project-plugin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30168608,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T07:56:45.623Z","status":"ssl_error","status_checked_at":"2026-03-06T07:55:55.621Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-18T04:43:30.883Z","updated_at":"2026-03-06T09:02:02.981Z","avatar_url":"https://github.com/koderover.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Zadig DevOps 飞书项目插件允许在飞书项目触发 Zadig 工作流，自动化执行服务构建、部署、发布等操作，提升效率保障质量。\n\n# **准备工作**\n\n## Zadig 系统中新建项目插件配置账号\n\n进入 Zadig 系统，新建一个插件管理员账号，新建后登录该账号并复制 Token 备用\n\n![](./static/plugin-1.png)\n\n![](./static/plugin-2.png)\n\n## **新建飞书项目插件并获取插件配置**\n\n1.  访问 [飞书项目开放平台](https://project.feishu.cn/)\n\n![](./static/plugin-3.png)\n\n2.  选择「新建插件」，输入插件名称，新建插件\n\n![](./static/plugin-4.png)\n![](./static/plugin-5.png)\n\n3.  进入插件详情，按照实际需求填写插件基本信息（插件名称、图标、插件描述、插件图标、插件分类、详情等），注意保存 Plugin ID、Plugin Secret\n\n![](./static/plugin-6.png)\n\n4.  选择「插件功能」，分别添加以下插件构成：\n\n-   详情页：注意 resourceId 需要对应如图，即：zadig-dashboard\n-   插件配置：注意 resourceId 需要对应如图，即：zadig-config\n\n![](./static/plugin-7.png)\n![](./static/plugin-8.png)\n![](./static/plugin-9.png)\n![](./static/plugin-10.png)\n![](./static/plugin-11.png)\n\n5.  选择「权限管理」，添加以下权限：\n\n-   获取用户信息（跨空间）\n-   获取空间信息（跨空间）\n-   获取工作项实例信息\n-   更新工作项实例数据\n-   获取空间下的基础配置\n-   获取空间下的高级配置\n\n![](./static/plugin-12.png)\n\n6.  选择基本信息页面获取 `Plugin ID` 和 `Plugin Secret`，复制后备用\n\n![](./static/plugin-13.png)\n\n## Zadig 后端配置更新\n\n### 开启 HTTPS 和 CORS\n\nZadig 需要绑定域名并开启 HTTPS，并且针对`/api/plugin`的 path 需要开启跨域访问 CORS。\n\n以下是 Ingress 的配置示例，其他网关请自行配置。\n\n```yaml\n# 除 /api/plugin 的 CORS 之外的正常 Ingress 配置\napiVersion: networking.k8s.io/v1\nkind: Ingress\nmetadata:\n  annotations:\n    nginx.ingress.kubernetes.io/proxy-connect-timeout: \"120\"\n    nginx.ingress.kubernetes.io/proxy-read-timeout: \"3600\"\n    nginx.ingress.kubernetes.io/proxy-send-timeout: \"3600\"\n    nginx.ingress.kubernetes.io/ssl-redirect: \"false\"\n  name: zadig-ingress\nspec:\n  ingressClassName: koderover\n  rules:\n  - host: zadig-xxx.8slan.com\n    http:\n      paths:\n      - backend:\n          service:\n            name: gateway-proxy\n            port:\n              number: 80\n        path: /\n        pathType: ImplementationSpecific\n  tls:\n  - secretName: zadig-xxxx-tls\n```\n\n```yaml\n# /api/plugin CORS 的 Ingress 配置\napiVersion: networking.k8s.io/v1\nkind: Ingress\nmetadata:\n  annotations:\n    nginx.ingress.kubernetes.io/cors-allow-credentials: \"true\"\n    nginx.ingress.kubernetes.io/cors-allow-headers: Authorization,X-Plugin-Token,X-User-key,X-Workspace-Id,Content-Type,Accept,Origin,User-Agent\n    nginx.ingress.kubernetes.io/cors-allow-methods: GET, POST, PUT, DELETE, OPTIONS\n    nginx.ingress.kubernetes.io/cors-allow-origin: '*'\n    nginx.ingress.kubernetes.io/cors-max-age: \"3600\"\n    nginx.ingress.kubernetes.io/enable-cors: \"true\"\n    nginx.ingress.kubernetes.io/proxy-connect-timeout: \"120\"\n    nginx.ingress.kubernetes.io/proxy-read-timeout: \"3600\"\n    nginx.ingress.kubernetes.io/proxy-send-timeout: \"3600\"\n    nginx.ingress.kubernetes.io/ssl-redirect: \"false\"\n  name: zadig-ingress-cors\nspec:\n  ingressClassName: koderover\n  rules:\n  - host: zadig-xxx.8slan.com\n    http:\n      paths:\n      - backend:\n          service:\n            name: gateway-proxy\n            port:\n              number: 80\n        path: /api/plugin\n        pathType: ImplementationSpecific\n  tls:\n  - secretName: zadig-xxxx-tls\n```\n\n\n### 配置插件 ID 和 Secret\n\n在 Zadig 的 Values 中添加以下配置，并重新部署 Zadig（同版本升级即可）：\n\n```yaml\nlark:\n  plugin:\n    id: MII_XXXXXXXXXXXXXX\n    secret: XXXXXXXXXXXXXXXXXXXXXXXXXX\n```\n\n# 插件配置\n\n克隆本项目后，根据飞书项目官方的 [开发客户端环境准备](https://project.feishu.cn/b/helpcenter/1p8d7djs/2ila4b2b#53942104) 部分进行环境配置。\n\n切换到本项目的工作目录修改如下文件路径的文件配置，将准备工作中获取的配置进行替换：\n\nplugin.config.json：\n\n```json\n{\n  \"siteDomain\": \"https://project.feishu.cn\",\n  \"pluginId\": \"替换为你的插件 Plugin ID\",\n  \"pluginSecret\": \"替换为你的插件 Plugin Secret\",\n  \"resources\": [\n    {\n      \"id\": \"zadig-dashboard\",\n      \"entry\": \"./src/features/dashboard/index.tsx\"\n    },\n    {\n      \"id\": \"zadig-config\",\n      \"entry\": \"./src/features/config/index.tsx\"\n    }\n  ]\n}\n\n```\n\nsrc/config/constants.ts：\n\n```javascript\n\n// Zadig 服务器地址\nexport const ZADIG_SERVER_URL = '替换为你的实际 Zadig 地址';\n\n// 管理员认证配置\nexport const ADMIN_AUTH_CONFIG = {\n  url: ZADIG_SERVER_URL,\n  apiToken: '替换为你的插件管理员 Token'\n};\n\n```\n\n# 插件发布\n\n配置完成后可以运行 `yarn install` 进行依赖安装，依赖安装完成后，使用 `lpm release` 命令进行插件发布，发布成功后，进入飞书项目插件开发平台，进入对应插件的插件发布，选择创建版本，按需填写基本信息以及使用范围，产物版本选择最新的版本，之后点击确定，即可完成企业内部上架流程。\n\n![](./static/plugin-14.png)\n\n![](./static/plugin-15.png)\n\n# 使用方式\n\n参考：[飞书项目插件](https://docs.koderover.com/zadig/cn/Zadig%20v4.1/meego-plugin/#%E6%8F%92%E4%BB%B6%E9%85%8D%E7%BD%AE)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoderover%2Flark-project-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkoderover%2Flark-project-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoderover%2Flark-project-plugin/lists"}