aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-ws/src/main/protobuf/ws-ce.proto
blob: 2c083fbbec6fda35247d33a3fc48cda58d8024f8 (plain)
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
// SonarQube, open source software quality management tool.
// Copyright (C) 2008-2016 SonarSource
// mailto:contact AT sonarsource DOT com
//
// SonarQube is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 3 of the License, or (at your option) any later version.
//
// SonarQube is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program; if not, write to the Free Software Foundation,
// Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

syntax = "proto2";

package sonarqube.ws.ce;

import "ws-commons.proto";

option java_package = "org.sonarqube.ws";
option java_outer_classname = "Ce";
option optimize_for = SPEED;

// POST api/ce/submit
message SubmitResponse {
  optional string taskId = 1;
  optional string projectId = 2;
}

// GET api/ce/task
message TaskResponse {
  optional Task task = 1;
}

// GET api/ce/activity
message ActivityResponse {
  // paging has been deprecated in 5.5
  optional sonarqube.ws.commons.Paging unusedPaging = 1;
  repeated Task tasks = 2;
}

// GET api/ce/activity_status
message ActivityStatusWsResponse {
  optional int32 pending = 1;
  optional int32 failing = 2;
  optional int32 inProgress = 3;
  optional int64 pendingTime = 4;
}

// GET api/ce/indexation_status
message IndexationStatusWsResponse {
  optional bool isCompleted = 1;
  optional int32 percentCompleted = 2;
  optional bool hasFailures = 3;
}

// GET api/ce/analysis_status
message AnalysisStatusWsResponse {
  optional Component component = 1;

  message Component {
    optional string organization = 1;
    optional string key = 2;
    optional string name = 3;
    repeated Warning warnings = 4;
    optional string branch = 5;
    optional string pullRequest = 6;
  }

  message Warning {
    optional string key = 1;
    optional string message = 2;
    optional bool dismissable = 3;
  }
}

// GET api/ce/component
message ComponentResponse {
  repeated Task queue = 1;
  optional Task current = 2;
}

// GET api/ce/info
message InfoWsResponse {
  optional WorkersPauseStatus workersPauseStatus = 1;
}

enum WorkersPauseStatus {
  RESUMED = 0;
  PAUSING = 1;
  PAUSED = 2;
}

// GET api/ce/task_types
message TaskTypesWsResponse {
  repeated string taskTypes = 1;
}

// GET api/ce/worker_count
message WorkerCountResponse {
  optional int32 value = 1;
  optional bool canSetWorkerCount = 2;
}

message Task {
  optional string id = 1;
  optional string type = 2;
  optional string componentId = 3;
  optional string componentKey = 4;
  optional string componentName = 5;
  optional string componentQualifier = 6;
  optional string analysisId = 7;
  optional TaskStatus status = 8;
  optional string submittedAt = 9;
  optional string submitterLogin = 10;
  optional string startedAt = 11;
  optional string executedAt = 12;
  optional bool isLastExecuted = 13;
  optional int64 executionTimeMs = 14;
  optional bool logs = 15;
  optional string errorMessage = 16;
  optional string errorStacktrace = 17;
  optional string scannerContext = 18;
  optional bool hasScannerContext = 19;
  optional string organization = 20;
  optional string branch = 21;
  optional sonarqube.ws.commons.BranchType branchType = 22;
  optional string errorType = 23;
  optional string pullRequest = 24;
  optional string pullRequestTitle = 25;
  optional int32 warningCount = 26;
  repeated string warnings = 27;
}

enum TaskStatus {
  PENDING = 0;
  IN_PROGRESS = 1;
  SUCCESS = 2;
  FAILED = 3;
  CANCELED = 4;
}