# 前言
这里介绍如何使用 SCM 模板插件
# 接入效果
# 接入流程
# 创建 TAPD 托管应用
在开发平台中选择 SCM NodeJs Vue 模板插件来创建应用
# 下载代码及授权验证
在应用概览中选择代码仓库并下载
安装并使用 tplugin-cli 进行 Oauth 授权,参考【快速入门】实现
# TAPD 服务集成
使用tplugin-cli serve
命令启动模板插件应用,在【公司管理-开放集成-服务集成】中对插件进行管理
# 配置 SCM 服务
在 SCM 服务中配置地址和私人令牌
以工蜂为例,在账户中查看私人令牌
# 关联代码仓库
在【项目协作-项目设置-DevOps配置-代码】中即可关联代码仓库
在任意工作项中使用 SCM 插件应用进行关联
# 插件工程目录示例
├── handler
│ └── config.js
├── index.js
├── Makefile
├── modules
│ ├── autotasks
│ │ └── condition.js
│ └── scm
│ ├── commit.js
│ ├── hook.js
│ ├── projects.js
│ ├── sdk.js
│ └── storage
│ ├── config.js
│ └── storage.js
├── package.json
├── plugin.yaml
├── resources
│ └── pages
│ ├── app_for_global_config
│ │ ├── app_for_global_config.vue
│ │ └── index.css
│ ├── app_for_global_config.js
│ └── index.html
├── utils.js
└── webpack.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# plugin.yaml 示例
app:
code: tapd-app-ec1bde
desc: scm demo
modules:
autotasks:
- code: scm
conditions:
- code: scm::conditon-demo
data:
handler: condition.data
desc: scm condition demo
icon: business
name: scm-condition
option:
handler: condition.option
related:
- story
- bug
- task
icon: business
name: scm-demo
scm:
adapter:
_hooks_handler:
adapter: hook.adapter
commit:
get: commit.get
commit_diff:
get: commit.diff
commits:
get: commit.list
hook:
delete: hook.delete
put: hook.put
hooks:
get: hook.get
post: hook.post
project:
get: projects.get
projects:
get: projects.list
query_commits:
get: commit.query
code: scm
desc: scm demo
name: scm-demo
support:
branch: false
name: SCM
resources:
- key: app_for_global_config
name: Demo应用
path: pages/app_for_global_config
scopes:
- source
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55