123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215 |
- // 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.qualitygate;
-
- import "ws-commons.proto";
-
- option java_package = "org.sonarqube.ws";
- option java_outer_classname = "Qualitygates";
- option optimize_for = SPEED;
-
- // GET api/qualitygates/project_status
- message ProjectStatusResponse {
- optional ProjectStatus projectStatus = 1;
-
- message ProjectStatus {
- optional Status status = 1;
- repeated Condition conditions = 2;
- repeated Period periods = 3;
- optional bool ignoredConditions = 4;
- optional NewCodePeriod period = 5;
- optional bool isCaycCompliant = 6;
- }
-
- message Condition {
- optional Status status = 1;
- optional string metricKey = 2;
- optional Comparator comparator = 3;
- optional int32 periodIndex = 4;
- optional string warningThreshold = 5;
- optional string errorThreshold = 6;
- optional string actualValue = 7;
- }
-
- message NewCodePeriod {
- optional string mode = 1;
- optional string date = 2;
- optional string parameter = 3;
- }
-
- message Period {
- optional int32 index = 1;
- optional string mode = 2;
- optional string date = 3;
- optional string parameter = 4;
- }
-
- enum Status {
- OK = 1;
- WARN = 2;
- ERROR = 3;
- NONE = 4;
- }
-
- enum Comparator {
- GT = 1;
- LT = 2;
- EQ = 3;
- NE = 4;
- }
- }
-
- // GET api/qualitygates/get_by_project
- message GetByProjectResponse {
- optional QualityGate qualityGate = 1;
- }
-
- message QualityGate {
- optional string id = 1;
- optional string name = 2;
- optional bool default = 3;
- }
-
- // GET api/qualitygates/app
- message AppResponse {
- optional bool edit = 1;
- repeated Metric metrics = 3;
-
- message Metric {
- optional string key = 1;
- optional string name = 2;
- optional string type = 3;
- optional string domain = 4;
- optional bool hidden = 5;
- }
- }
-
- // POST api/qualitygates/create
- message CreateResponse {
- optional string id = 1;
- optional string name = 2;
- }
-
- // POST api/qualitygates/create_condition
- message CreateConditionResponse {
- optional string id = 1;
- optional string metric = 2;
- optional string op = 3;
- optional string error = 5;
- }
-
- // POST api/qualitygates/update_condition
- message UpdateConditionResponse {
- optional string id = 1;
- optional string metric = 2;
- optional string op = 3;
- optional string error = 5;
- }
-
- // GET api/qualitygates/show
- message ShowWsResponse {
- optional string id = 1;
- optional string name = 2;
- repeated Condition conditions = 3;
- optional bool isBuiltIn = 4;
- optional Actions actions = 5;
- optional bool isCaycCompliant = 6;
-
- message Condition {
- optional string id = 1;
- optional string metric = 2;
- optional string op = 4;
- optional string error = 6;
- }
- }
-
- // GET api/qualitygates/search
- message SearchResponse {
- // Deprecated since 7.9
- optional bool more = 1;
- repeated Result results = 2;
- optional sonarqube.ws.commons.Paging paging = 3;
-
- message Result {
- optional string name = 2;
- optional bool selected = 3;
- optional string key = 4;
- }
- }
-
- // GET api/qualitygates/list
- message ListWsResponse {
- repeated QualityGate qualitygates = 1;
- // Deprecated since 7.0
- optional string default = 2;
- optional RootActions actions = 3;
-
- message QualityGate {
- optional string id = 1;
- optional string name = 2;
- optional bool isDefault = 3;
- optional bool isBuiltIn = 4;
- optional Actions actions = 5;
- optional bool isCaycCompliant = 6;
- }
-
- message RootActions {
- optional bool create = 1;
- }
- }
-
- message Actions {
- optional bool rename = 1;
- optional bool setAsDefault = 2;
- optional bool copy = 3;
- optional bool associateProjects = 4;
- optional bool delete = 5;
- optional bool manageConditions = 6;
- optional bool delegate = 7;
- }
-
- // WS api/qualitygates/search_users
- message SearchUsersResponse {
- optional sonarqube.ws.commons.Paging paging = 1;
- repeated User users = 2;
-
- message User {
- optional string login = 1;
- optional string name = 2;
- optional string avatar = 3;
- optional bool selected = 4;
- }
- }
-
- // WS api/qualitygates/search_groups
- message SearchGroupsResponse {
- optional sonarqube.ws.commons.Paging paging = 1;
- repeated Group groups = 2;
-
- message Group {
- optional string name = 1;
- optional string description = 2;
- optional bool selected = 3;
- }
- }
-
-
|