-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtask.json
More file actions
149 lines (149 loc) · 6.83 KB
/
task.json
File metadata and controls
149 lines (149 loc) · 6.83 KB
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
{
"id": "FA6BEEDE-4FE1-11E9-8D71-071835DA2614",
"name": "TeamscaleReportUploader",
"friendlyName": "Teamscale Report Uploader",
"description": "Upload coverage, findings, and other reports to Teamscale.",
"helpUrl": "https://teamscale.com",
"helpMarkDown": "[Teamscale](https://teamscale.com)",
"category": "Utility",
"author": "CQSE GmbH",
"version": {
"Major": 1,
"Minor": 5,
"Patch": 4
},
"runsOn": [
"Agent",
"DeploymentGroup"
],
"demands": [],
"groups": [],
"inputs": [
{
"name": "files",
"type": "filePath",
"label": "Files",
"defaultValue": "$(Agent.TempDirectory)/**/*.coverage",
"required": true,
"helpMarkDown": "File(s) to be uploaded. Wildcards can be used. For example, `**/*.coverage` for all `.coverage` files in all subfolders."
},
{
"name": "format",
"type": "string",
"label": "Report Format ID",
"defaultValue": "VS_COVERAGE",
"required": true,
"helpMarkDown": "The type of report this build step will upload to Teamscale. Check the [Teamscale documentation](https://docs.teamscale.com/reference/upload-formats-and-samples/#supported-formats-for-upload) for a complete list of supported formats and their IDs."
},
{
"name": "url",
"type": "string",
"label": "Teamscale URL",
"defaultValue": "",
"required": true,
"helpMarkDown": "The URL under which Teamscale is accessible."
},
{
"name": "username",
"type": "string",
"label": "Username",
"defaultValue": "build",
"required": true,
"helpMarkDown": "The name of the Teamscale user used to perform the upload."
},
{
"name": "accessKey",
"type": "string",
"label": "IDE Access Key",
"defaultValue": "",
"required": false,
"helpMarkDown": "The IDE access key of the Teamscale user used to perform the upload. You can generate one for the user in Teamscale under _Admin > Users_. Alternatively, you can specify the (secret) variable `teamscale.accessKey` in the pipeline settings or the environment variable `TEAMSCALE_ACCESS_KEY`."
},
{
"name": "project",
"type": "string",
"label": "Teamscale Project",
"defaultValue": "",
"required": true,
"helpMarkDown": "The ID of the Teamscale project to which the reports should be uploaded. You can find these in the Projects perspective of Teamscale."
},
{
"name": "partition",
"type": "string",
"label": "Partition",
"defaultValue": "Unit Test Coverage",
"required": true,
"helpMarkDown": "An identifier under which the uploaded coverage/findings/... will be grouped. Data uploaded into a partition will replace all previous data uploaded to that partition. For example, if you would like to upload multiple coverage reports for multiple test stages that all should be merged in Teamscale to calculate the line coverage metric, use different partitions for each upload."
},
{
"name": "insecure",
"type": "boolean",
"label": "Skip certificate validation",
"defaultValue": "false",
"required": false,
"helpMarkDown": "Causes SSL certificates to be accepted without validation."
},
{
"name": "trustedKeystore",
"type": "string",
"label": "Path to custom trusted keystore",
"defaultValue": "",
"required": false,
"helpMarkDown": "By default, this plugin uses an embedded Java keystore to validate certificates. If you want to use a custom Java keystore, e.g. for self-signed certificates, you can specify the path to it here. You can find instructions how to create such a keystore [here](https://docs.teamscale.com/howto/connecting-via-https/#using-self-signed-certificates)."
},
{
"name": "keystorePassword",
"type": "string",
"label": "Password of the custom trusted keystore",
"defaultValue": "",
"required": false,
"helpMarkDown": "The password for the specified custom Java keystore. Alternatively, you can specify the (secret) variable `teamscale.keystorePassword` in the pipeline settings."
},
{
"name": "stacktrace",
"type": "boolean",
"label": "Print stack trace",
"defaultValue": "false",
"required": false,
"helpMarkDown": "Enables printing stack traces in all cases where errors occur. Used for debugging."
},
{
"name": "codeCoverageExePath",
"type": "string",
"label": "Path to CodeCoverage.exe",
"defaultValue": "",
"required": false,
"helpMarkDown": "If you'd like to upload Visual Studio `.coverage` files to Teamscale, you must provide the path to `CodeCoverage.exe`. This file is used to convert the binary `.coverage` files to `.xml` files suitable for uploading to Teamscale. This plugin ships with a version of `CodeCoverage.exe`. If you prefer to use a different version, you'll have to configure the correct path to it here."
},
{
"name": "codeCoverageConversionBatchSize",
"type": "int",
"label": "Batch size for coverage conversion",
"defaultValue": "1000",
"required": false,
"helpMarkDown": "The number of `.coverage` files to convert in one step using `CodeCoverage.exe`. Defaults to **1000**. Values <= 0 disable batch processing and all available files are converted at once. For very large numbers of files or very long file paths, this may result in \"spawn ENAMETOOLONG\" errors - in that case please configure a smaller batch size."
}
],
"instanceNameFormat": "Upload $(files) to Teamscale $(url)",
"execution": {
"Node10": {
"target": "index.js",
"argumentFormat": ""
},
"Node16": {
"target": "index.js",
"argumentFormat": ""
},
"Node20_1": {
"target": "index.js",
"argumentFormat": ""
}
},
"minimumAgentVersion": "2.144.0",
"messages": {
"NoMatchingFilesFound": "No matching files were found with search pattern: %s",
"UploadingFiles": "Uploading file(s): %s",
"NotAllFilesUploaded": "Not all files were uploaded; Uploaded: %d; Total: %d",
"IncompleteEndpoint": "The service connection does not contain all required fields."
}
}