// 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 = "proto3"; package sonarqube.ws.settings; option java_package = "org.sonarqube.ws"; option java_outer_classname = "Settings"; option optimize_for = SPEED; // Response of GET api/settings/list_definitions message ListDefinitionsWsResponse { repeated Definition definitions = 1; } // Response of GET api/settings/encrypt message EncryptWsResponse { string encryptedValue = 1; } // Response of GET api/settings/generate_secret_key message GenerateSecretKeyWsResponse { string secretKey = 1; } // Response of GET api/settings/check_secret_key message CheckSecretKeyWsResponse { bool secretKeyAvailable = 1; } message Definition { string key = 1; oneof nameOneOf {string name = 2;} string description = 3; Type type = 4; oneof categoryOneOf {string category = 5;} oneof subCategoryOneOf {string subCategory = 6;} oneof defaultValueOneOf {string defaultValue = 7;} bool multiValues = 8; repeated string options = 9; repeated Field fields = 10; oneof deprecatedKeyOneOf {string deprecatedKey = 11;} } message Field { string key = 1; string name = 2; string description = 3; Type type = 4; repeated string options = 5; } enum Type { STRING = 0; TEXT = 1; PASSWORD = 2; BOOLEAN = 3; INTEGER = 4; FLOAT = 5; LONG = 6; REGULAR_EXPRESSION = 7; METRIC = 8; USER_LOGIN = 9; METRIC_LEVEL = 10; SINGLE_SELECT_LIST = 11; PROPERTY_SET = 12; LICENSE = 13; JSON = 14; FORMATTED_TEXT = 15; EMAIL = 16; } // Response of GET api/settings/values message ValuesWsResponse { repeated Setting settings = 1; repeated string setSecuredSettings = 2; } message Setting { string key = 1; oneof valueOneOf { string value = 2; Values values = 3; FieldValues fieldValues = 4; } bool inherited = 5; oneof parentValueOneOf { string parentValue = 6; Values parentValues = 7; FieldValues parentFieldValues = 8; } } message Values { repeated string values = 1; } message FieldValues { repeated Value fieldValues = 1; message Value { map value = 1; } }