1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-03-17 21:08:03 +02:00

Main build (Jenkins)

This commit is contained in:
Vitaly the Alpaca (bot) 2024-11-10 20:00:20 +03:00
parent 2958367d3c
commit 9def4b968a
46 changed files with 6015 additions and 5449 deletions

View File

@ -2496,10 +2496,18 @@ def test_metrika(){
powershell encoding: 'UTF-8', script:'./oint.exe metrika RestoreCounter --token "test" --counter "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe metrika GetCountersList --token "test" --filter "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe metrika GetCounterStructure --empty "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe metrika GetCounterFilterStructure --empty "test" --debug --test '
}
}
pipeline {
agent any

View File

@ -2496,10 +2496,18 @@ def test_metrika(){
powershell encoding: 'UTF-8', script:'./oint.exe metrika ВосстановитьСчетчик --token "test" --counter "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe metrika ПолучитьСписокСчетчиков --token "test" --filter "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe metrika ПолучитьСтруктуруСчетчика --empty "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe metrika ПолучитьСтруктуруФильтраСчетчиков --empty "test" --debug --test '
}
}
pipeline {
agent any

View File

@ -0,0 +1,4 @@
{
"Token": "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...",
"CounterID": 98875788
}

View File

@ -1,4 +1,4 @@
 Token = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
CounterID = "98874849";
CounterID = "98875788";
Result = OPI_YandexMetrika.DeleteCounter(Token, CounterID);

View File

@ -1,4 +1,4 @@
 Token = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
CounterID = "98874849";
CounterID = "98875788";
Result = OPI_YandexMetrika.GetCounter(Token, CounterID);

View File

@ -0,0 +1,15 @@
 Token = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
CounterID = "98875788";
Result = OPI_YandexMetrika.GetCountersList(Token);
// filter by IDs list
Filter = New Structure;
CountersArray = New Array;
CountersArray.Add(CounterID);
Filter.Insert("counter_ids", CountersArray);
Result = OPI_YandexMetrika.GetCountersList(Token, Filter);

View File

@ -1,4 +1,4 @@
 Token = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
CounterID = "98874849";
CounterID = "98875788";
Result = OPI_YandexMetrika.RestoreCounter(Token, CounterID);

View File

@ -1,5 +1,5 @@
 Token = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
CounterID = "98874849";
CounterID = "98875788";
CounterStructure = New Structure;
CounterStructure.Insert("autogoals_enabled", True);

View File

@ -30,7 +30,7 @@ Method at API documentation: [Deleting a counter](https://yandex.ru/dev/metrika/
```bsl title="1C:Enterprise/OneScript code example"
Token = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
CounterID = "98874849";
CounterID = "98875788";
Result = OPI_YandexMetrika.DeleteCounter(Token, CounterID);
```

View File

@ -0,0 +1,37 @@
---
sidebar_position: 8
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Get counter filter structure
Gets the structure of filter fields to get the list of counters
`Function GetCounterFilterStructure(Val Clear = False) Export`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| Clear | --empty | Boolean | ✖ | True > structure with empty valuse, False > field descriptions at values |
Returns: Structure of KeyAndValue - Counter field structure
<br/>
:::tip
Description in the API documentation: [List of available counters](https://yandex.ru/dev/metrika/en/management/openapi/counter/counters)
:::
<br/>
```bsl title="1C:Enterprise/OneScript code example"
```

View File

@ -1,5 +1,5 @@
---
sidebar_position: 6
sidebar_position: 7
---
import Tabs from '@theme/Tabs';

View File

@ -30,7 +30,7 @@ Method at API documentation: [Counter information](https://yandex.ru/dev/metrika
```bsl title="1C:Enterprise/OneScript code example"
Token = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
CounterID = "98874849";
CounterID = "98875788";
Result = OPI_YandexMetrika.GetCounter(Token, CounterID);
```

View File

@ -0,0 +1,52 @@
---
sidebar_position: 6
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Get counters list
Gets a list of available counters with or without filtering
`Function GetCountersList(Val Token, Val Filter = Undefined) Export`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| Token | --token | String | &#x2714; | Auth token |
| Filter | --filter | Structure of KeyAndValue | &#x2716; | List filter. See GetCounterFilterStructure |
Returns: Map Of KeyAndValue - serialized JSON response from Yandex
<br/>
:::tip
Method at API documentation: [List of available counters](https://yandex.ru/dev/metrika/en/management/openapi/counter/counters)
:::
<br/>
```bsl title="1C:Enterprise/OneScript code example"
Token = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
CounterID = "98875788";
Result = OPI_YandexMetrika.GetCountersList(Token);
// filter by IDs list
Filter = New Structure;
CountersArray = New Array;
CountersArray.Add(CounterID);
Filter.Insert("counter_ids", CountersArray);
Result = OPI_YandexMetrika.GetCountersList(Token, Filter);
```

View File

@ -30,7 +30,7 @@ Method at API documentation: [Restoring a counter](https://yandex.ru/dev/metrika
```bsl title="1C:Enterprise/OneScript code example"
Token = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
CounterID = "98874849";
CounterID = "98875788";
Result = OPI_YandexMetrika.RestoreCounter(Token, CounterID);
```

View File

@ -31,7 +31,7 @@ Method at API documentation: [Changing a counter](https://yandex.ru/dev/metrika/
```bsl title="1C:Enterprise/OneScript code example"
Token = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
CounterID = "98874849";
CounterID = "98875788";
CounterStructure = New Structure;
CounterStructure.Insert("autogoals_enabled", True);

View File

@ -0,0 +1,4 @@
{
"Токен": "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...",
"IDСчетчика": 98875788
}

View File

@ -1,4 +1,4 @@
 Токен = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
IDСчетчика = "98874849";
IDСчетчика = "98875788";
Результат = OPI_YandexMetrika.ВосстановитьСчетчик(Токен, IDСчетчика);

View File

@ -1,5 +1,5 @@
 Токен = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
IDСчетчика = "98874849";
IDСчетчика = "98875788";
СтруктураСчетчика = Новый Структура;
СтруктураСчетчика.Вставить("autogoals_enabled", Истина);

View File

@ -0,0 +1,15 @@
 Токен = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
IDСчетчика = "98875788";
Результат = OPI_YandexMetrika.ПолучитьСписокСчетчиков(Токен);
// Фильтр по списку ID
Фильтр = Новый Структура;
МассивСчетчиков = Новый Массив;
МассивСчетчиков.Добавить(IDСчетчика);
Фильтр.Вставить("counter_ids", МассивСчетчиков);
Результат = OPI_YandexMetrika.ПолучитьСписокСчетчиков(Токен, Фильтр);

View File

@ -1,4 +1,4 @@
 Токен = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
IDСчетчика = "98874849";
IDСчетчика = "98875788";
Результат = OPI_YandexMetrika.ПолучитьСчетчик(Токен, IDСчетчика);

View File

@ -1,4 +1,4 @@
 Токен = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
IDСчетчика = "98874849";
IDСчетчика = "98875788";
Результат = OPI_YandexMetrika.УдалитьСчетчик(Токен, IDСчетчика);

View File

@ -30,7 +30,7 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript"
Токен = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
IDСчетчика = "98874849";
IDСчетчика = "98875788";
Результат = OPI_YandexMetrika.УдалитьСчетчик(Токен, IDСчетчика);
```

View File

@ -0,0 +1,37 @@
---
sidebar_position: 8
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Получить структуру фильтра счетчиков
Получает структуру полей фильтра для получения списка счетчиков
`Функция ПолучитьСтруктуруФильтраСчетчиков(Знач Пустая = Ложь) Экспорт`
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|-|-|-|-|-|
| Пустая | --empty | Булево | &#x2716; | Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей |
Возвращаемое значение: Структура Из КлючИЗначение - Структура полей счетчика
<br/>
:::tip
Описание в документации API: [Список доступных счетчиков](https://yandex.ru/dev/metrika/ru/management/openapi/counter/counters)
:::
<br/>
```bsl title="Пример использования для 1С:Предприятие/OneScript"
```

View File

@ -1,5 +1,5 @@
---
sidebar_position: 6
sidebar_position: 7
---
import Tabs from '@theme/Tabs';

View File

@ -30,7 +30,7 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript"
Токен = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
IDСчетчика = "98874849";
IDСчетчика = "98875788";
Результат = OPI_YandexMetrika.ПолучитьСчетчик(Токен, IDСчетчика);
```

View File

@ -0,0 +1,52 @@
---
sidebar_position: 6
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Получить список счетчиков
Получает список доступных счетчиков с фильтром или без
`Функция ПолучитьСписокСчетчиков(Знач Токен, Знач Фильтр = Неопределено) Экспорт`
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|-|-|-|-|-|
| Токен | --token | Строка | &#x2714; | Токен авторизации |
| Фильтр | --filter | Структура Из КлючИЗначение | &#x2716; | Фильтр списка. См. ПолучитьСтруктуруФильтраСчетчиков |
Возвращаемое значение: Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex
<br/>
:::tip
Метод в документации API: [Список доступных счетчиков](https://yandex.ru/dev/metrika/ru/management/openapi/counter/counters)
:::
<br/>
```bsl title="Пример использования для 1С:Предприятие/OneScript"
Токен = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
IDСчетчика = "98875788";
Результат = OPI_YandexMetrika.ПолучитьСписокСчетчиков(Токен);
// Фильтр по списку ID
Фильтр = Новый Структура;
МассивСчетчиков = Новый Массив;
МассивСчетчиков.Добавить(IDСчетчика);
Фильтр.Вставить("counter_ids", МассивСчетчиков);
Результат = OPI_YandexMetrika.ПолучитьСписокСчетчиков(Токен, Фильтр);
```

View File

@ -30,7 +30,7 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript"
Токен = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
IDСчетчика = "98874849";
IDСчетчика = "98875788";
Результат = OPI_YandexMetrika.ВосстановитьСчетчик(Токен, IDСчетчика);
```

View File

@ -31,7 +31,7 @@ import TabItem from '@theme/TabItem';
```bsl title="Пример использования для 1С:Предприятие/OneScript"
Токен = "y0_AgAAAABdylaOAAy9KgAAAAEXh6i...";
IDСчетчика = "98874849";
IDСчетчика = "98875788";
СтруктураСчетчика = Новый Структура;
СтруктураСчетчика.Вставить("autogoals_enabled", Истина);

File diff suppressed because it is too large Load Diff

View File

@ -307,6 +307,37 @@ Function RestoreCounter(Val Token, Val CounterID) Export
EndFunction
// Get counters list
// Gets a list of available counters with or without filtering
//
// Note
// Method at API documentation: [List of available counters](@yandex.ru/dev/metrika/en/management/openapi/counter/counters)
//
// Parameters:
// Token - String - Auth token - token
// Filter - Structure of KeyAndValue - List filter. See GetCounterFilterStructure - filter
//
// Returns:
// Map Of KeyAndValue - serialized JSON response from Yandex
Function GetCountersList(Val Token, Val Filter = Undefined) Export
OPI_TypeConversion.GetCollection(Filter);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
URL = "https://api-metrika.yandex.net/management/v1/counters";
If TypeOf(Filter) <> Type("Array") And ValueIsFilled(Filter) Then
URL = URL + OPI_Tools.RequestParametersToString(Filter, True);
EndIf;
Response = OPI_Tools.Get(URL, , Headers);
Return Response;
EndFunction
// Get counter structure
// Gets the structure of standard fields for counter creation
//
@ -480,6 +511,45 @@ Function GetCounterStructure(Val Clear = False) Export
EndFunction
// Get counter filter structure
// Gets the structure of filter fields to get the list of counters
//
// Note
// Description in the API documentation: [List of available counters](@yandex.ru/dev/metrika/en/management/openapi/counter/counters)
//
// Parameters:
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
//
// Returns:
// Structure of KeyAndValue - Counter field structure
Function GetCounterFilterStructure(Val Clear = False) Export
OPI_TypeConversion.GetBoolean(Clear);
FilterStructure = New Structure;
IDArray = New Array;
IDArray.Add("<counter id for selection>");
FilterStructure.Insert("counter_ids" , IDArray);
FilterStructure.Insert("label_id" , "<filter by label>");
FilterStructure.Insert("offset" , "<sequence number of the first counter in the list>");
FilterStructure.Insert("per_page" , "<maximum number of counters in the output>");
FilterStructure.Insert("permission" , "<filter by access level>");
FilterStructure.Insert("search_string", "<filter by substring content in fields>");
FilterStructure.Insert("status" , "<filter by status>");
FilterStructure.Insert("type" , "<filter by type>");
FilterStructure.Insert("sort" , "<sorting>");
If Clear Then
FilterStructure = OPI_Tools.ClearCollectionRecursively(FilterStructure);
EndIf;
//@skip-check constructor-function-return-section
Return FilterStructure;
EndFunction
#EndRegion
#EndRegion

View File

@ -2094,6 +2094,7 @@ Procedure YaMetrika_CountersManagement() Export
YandexMetrika_UpdateCounter(TestParameters);
YandexMetrika_DeleteCounter(TestParameters);
YandexMetrika_RestoreCounter(TestParameters);
YandexMetrika_GetCountersList(TestParameters);
YandexMetrika_DeleteCounter(TestParameters);
EndProcedure
@ -14559,6 +14560,34 @@ Procedure YandexMetrika_RestoreCounter(FunctionParameters)
EndProcedure
Procedure YandexMetrika_GetCountersList(FunctionParameters)
Token = FunctionParameters["Metrika_Token"];
CounterID = FunctionParameters["Metrika_CounterID"];
Result = OPI_YandexMetrika.GetCountersList(Token);
OPI_TestDataRetrieval.WriteLog(Result, "GetCountersList", "YandexMetrika"); // SKIP
OPI_TestDataRetrieval.Check_MetrikaCounters(Result); // SKIP
// filter by IDs list
Filter = New Structure;
CountersArray = New Array;
CountersArray.Add(CounterID);
Filter.Insert("counter_ids", CountersArray);
Result = OPI_YandexMetrika.GetCountersList(Token, Filter);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetCountersList (filter))", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaCounters(Result);
EndProcedure
#EndRegion
#EndRegion

View File

@ -1962,6 +1962,10 @@ Procedure Check_MetrikaCounter(Val Result) Export
ExpectsThat(Result["counter"]).ИмеетТип("Map").Заполнено();
EndProcedure
Procedure Check_MetrikaCounters(Val Result) Export
ExpectsThat(Result["counters"]).ИмеетТип("Array").Заполнено();
EndProcedure
#EndRegion
#EndRegion

View File

@ -227,7 +227,7 @@ EndFunction
#Region Service
Function RequestParametersToString(Val Parameters) Export
Function RequestParametersToString(Val Parameters, Val SplitArrayParams = False) Export
If Parameters.Count() = 0 Then
Return "";
@ -237,13 +237,25 @@ Function RequestParametersToString(Val Parameters) Export
For Each Parameter In Parameters Do
ParameterValue = ConvertParameterToString(Parameter.Value);
CurrentValue = Parameter.Value;
CurrentKey = Parameter.Key;
ParameterString = ParameterString
+ Parameter.Key
+ "="
+ ParameterValue
+ "&";
If Not TypeOf(CurrentValue) = Type("Array") Or Not SplitArrayParams Then
ParameterValue = ConvertParameterToString(CurrentValue);
ParameterString = ParameterString
+ Parameter.Key
+ "="
+ ParameterValue
+ "&";
Else
ParameterValue = SplitArrayAsURLParameters(CurrentKey, CurrentValue);
ParameterString = ParameterString + ParameterValue + "&";
EndIf;
EndDo;
@ -967,6 +979,26 @@ Function SplitFileKey(Val FileData, Val ContentType)
EndFunction
Function SplitArrayAsURLParameters(Val Key, Val Value)
KeyArray = Key + "=";
For N = 0 To Value.UBound() Do
CurrentValue = Value[N];
OPI_TypeConversion.GetLine(CurrentValue);
Value.Set(N, KeyArray + CurrentValue);
EndDo;
ParameterString = StrConcat(Value, "&");
Return ParameterString;
EndFunction
Procedure SetRequestBody(Request, Val Parameters, Val JSON)
Collection = TypeOf(Parameters) = Type("Structure")

View File

@ -1962,6 +1962,10 @@ Procedure Check_MetrikaCounter(Val Result) Export
ExpectsThat(Result["counter"]).ИмеетТип("Map").Заполнено();
EndProcedure
Procedure Check_MetrikaCounters(Val Result) Export
ExpectsThat(Result["counters"]).ИмеетТип("Array").Заполнено();
EndProcedure
#EndRegion
#EndRegion

View File

@ -2094,6 +2094,7 @@ Procedure YaMetrika_CountersManagement() Export
YandexMetrika_UpdateCounter(TestParameters);
YandexMetrika_DeleteCounter(TestParameters);
YandexMetrika_RestoreCounter(TestParameters);
YandexMetrika_GetCountersList(TestParameters);
YandexMetrika_DeleteCounter(TestParameters);
EndProcedure
@ -14559,6 +14560,34 @@ Procedure YandexMetrika_RestoreCounter(FunctionParameters)
EndProcedure
Procedure YandexMetrika_GetCountersList(FunctionParameters)
Token = FunctionParameters["Metrika_Token"];
CounterID = FunctionParameters["Metrika_CounterID"];
Result = OPI_YandexMetrika.GetCountersList(Token);
OPI_TestDataRetrieval.WriteLog(Result, "GetCountersList", "YandexMetrika"); // SKIP
OPI_TestDataRetrieval.Check_MetrikaCounters(Result); // SKIP
// filter by IDs list
Filter = New Structure;
CountersArray = New Array;
CountersArray.Add(CounterID);
Filter.Insert("counter_ids", CountersArray);
Result = OPI_YandexMetrika.GetCountersList(Token, Filter);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetCountersList (filter))", "YandexMetrika");
OPI_TestDataRetrieval.Check_MetrikaCounters(Result);
EndProcedure
#EndRegion
#EndRegion

View File

@ -227,7 +227,7 @@ EndFunction
#Region Service
Function RequestParametersToString(Val Parameters) Export
Function RequestParametersToString(Val Parameters, Val SplitArrayParams = False) Export
If Parameters.Count() = 0 Then
Return "";
@ -237,13 +237,25 @@ Function RequestParametersToString(Val Parameters) Export
For Each Parameter In Parameters Do
ParameterValue = ConvertParameterToString(Parameter.Value);
CurrentValue = Parameter.Value;
CurrentKey = Parameter.Key;
ParameterString = ParameterString
+ Parameter.Key
+ "="
+ ParameterValue
+ "&";
If Not TypeOf(CurrentValue) = Type("Array") Or Not SplitArrayParams Then
ParameterValue = ConvertParameterToString(CurrentValue);
ParameterString = ParameterString
+ Parameter.Key
+ "="
+ ParameterValue
+ "&";
Else
ParameterValue = SplitArrayAsURLParameters(CurrentKey, CurrentValue);
ParameterString = ParameterString + ParameterValue + "&";
EndIf;
EndDo;
@ -967,6 +979,26 @@ Function SplitFileKey(Val FileData, Val ContentType)
EndFunction
Function SplitArrayAsURLParameters(Val Key, Val Value)
KeyArray = Key + "=";
For N = 0 To Value.UBound() Do
CurrentValue = Value[N];
OPI_TypeConversion.GetLine(CurrentValue);
Value.Set(N, KeyArray + CurrentValue);
EndDo;
ParameterString = StrConcat(Value, "&");
Return ParameterString;
EndFunction
Procedure SetRequestBody(Request, Val Parameters, Val JSON)
Collection = TypeOf(Parameters) = Type("Structure")

View File

@ -307,6 +307,37 @@ Function RestoreCounter(Val Token, Val CounterID) Export
EndFunction
// Get counters list
// Gets a list of available counters with or without filtering
//
// Note
// Method at API documentation: [List of available counters](@yandex.ru/dev/metrika/en/management/openapi/counter/counters)
//
// Parameters:
// Token - String - Auth token - token
// Filter - Structure of KeyAndValue - List filter. See GetCounterFilterStructure - filter
//
// Returns:
// Map Of KeyAndValue - serialized JSON response from Yandex
Function GetCountersList(Val Token, Val Filter = Undefined) Export
OPI_TypeConversion.GetCollection(Filter);
Headers = OPI_YandexID.GetAuthorizationHeader(Token);
URL = "https://api-metrika.yandex.net/management/v1/counters";
If TypeOf(Filter) <> Type("Array") And ValueIsFilled(Filter) Then
URL = URL + OPI_Tools.RequestParametersToString(Filter, True);
EndIf;
Response = OPI_Tools.Get(URL, , Headers);
Return Response;
EndFunction
// Get counter structure
// Gets the structure of standard fields for counter creation
//
@ -480,6 +511,45 @@ Function GetCounterStructure(Val Clear = False) Export
EndFunction
// Get counter filter structure
// Gets the structure of filter fields to get the list of counters
//
// Note
// Description in the API documentation: [List of available counters](@yandex.ru/dev/metrika/en/management/openapi/counter/counters)
//
// Parameters:
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
//
// Returns:
// Structure of KeyAndValue - Counter field structure
Function GetCounterFilterStructure(Val Clear = False) Export
OPI_TypeConversion.GetBoolean(Clear);
FilterStructure = New Structure;
IDArray = New Array;
IDArray.Add("<counter id for selection>");
FilterStructure.Insert("counter_ids" , IDArray);
FilterStructure.Insert("label_id" , "<filter by label>");
FilterStructure.Insert("offset" , "<sequence number of the first counter in the list>");
FilterStructure.Insert("per_page" , "<maximum number of counters in the output>");
FilterStructure.Insert("permission" , "<filter by access level>");
FilterStructure.Insert("search_string", "<filter by substring content in fields>");
FilterStructure.Insert("status" , "<filter by status>");
FilterStructure.Insert("type" , "<filter by type>");
FilterStructure.Insert("sort" , "<sorting>");
If Clear Then
FilterStructure = OPI_Tools.ClearCollectionRecursively(FilterStructure);
EndIf;
//@skip-check constructor-function-return-section
Return FilterStructure;
EndFunction
#EndRegion
#EndRegion

View File

@ -230,6 +230,27 @@
NewLine.Область = "Counters management";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "metrika";
NewLine.Модуль = "OPI_YandexMetrika";
NewLine.Метод = "GetCountersList";
NewLine.МетодПоиска = "GETCOUNTERSLIST";
NewLine.Параметр = "--token";
NewLine.Описание = "Auth token";
NewLine.Область = "Counters management";
NewLine.ОписаниеМетода = "Gets a list of available counters with or without filtering";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "metrika";
NewLine.Модуль = "OPI_YandexMetrika";
NewLine.Метод = "GetCountersList";
NewLine.МетодПоиска = "GETCOUNTERSLIST";
NewLine.Параметр = "--filter";
NewLine.Описание = "List filter. See GetCounterFilterStructure (optional, def. val. - Empty value)";
NewLine.Область = "Counters management";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "metrika";
NewLine.Модуль = "OPI_YandexMetrika";
@ -240,6 +261,17 @@
NewLine.Область = "Counters management";
NewLine.ОписаниеМетода = "Gets the structure of standard fields for counter creation";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "metrika";
NewLine.Модуль = "OPI_YandexMetrika";
NewLine.Метод = "GetCounterFilterStructure";
NewLine.МетодПоиска = "GETCOUNTERFILTERSTRUCTURE";
NewLine.Параметр = "--empty";
NewLine.Описание = "True > structure with empty valuse, False > field descriptions at values (optional, def. val. - No)";
NewLine.Область = "Counters management";
NewLine.ОписаниеМетода = "Gets the structure of filter fields to get the list of counters";
Return CompositionTable;
EndFunction

View File

@ -309,33 +309,33 @@
// Получить список счетчиков
// Получает список доступных счетчиков с фильтром или без
//
//
// Примечание:
// Метод в документации API: [Список доступных счетчиков](@yandex.ru/dev/metrika/ru/management/openapi/counter/counters)
//
// Параметры:
// Токен - Строка - Токен авторизации - token
// Фильтр - Структура Из КлючИЗначение - Фильтр списка. См. ПолучитьСтруктуруФильтраСчетчиков - filter
//
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex
Функция ПолучитьСписокСчетчиков(Знач Токен, Знач Фильтр = Неопределено) Экспорт
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Фильтр);
Заголовки = OPI_YandexID.ПолучитьЗаголовокАвторизации(Токен);
URL = "https://api-metrika.yandex.net/management/v1/counters";
Если ТипЗнч(Фильтр) <> Тип("Массив") И ЗначениеЗаполнено(Фильтр) Тогда
URL = URL + OPI_Инструменты.ПараметрыЗапросаВСтроку(Фильтр, Истина);
КонецЕсли;
Ответ = OPI_Инструменты.Get(URL, , Заголовки);
Возврат Ответ;
КонецФункции
// Получить структуру счетчика
@ -523,14 +523,14 @@
// Возвращаемое значение:
// Структура Из КлючИЗначение - Структура полей счетчика
Функция ПолучитьСтруктуруФильтраСчетчиков(Знач Пустая = Ложь) Экспорт
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
СтруктураФильтра = Новый Структура;
МассивID = Новый Массив;
МассивID.Добавить("<id счетчика для отбора>");
СтруктураФильтра.Вставить("counter_ids" , МассивID);
СтруктураФильтра.Вставить("label_id" , "<фмльтр по метке>");
СтруктураФильтра.Вставить("offset" , "<порядковый номер первого счетчика в списке>");
@ -540,14 +540,14 @@
СтруктураФильтра.Вставить("status" , "<фильтр по статусу>");
СтруктураФильтра.Вставить("type" , "<фильтр по типу>");
СтруктураФильтра.Вставить("sort" , "<сортировка>");
Если Пустая Тогда
СтруктураФильтра = OPI_Инструменты.ОчиститьКоллекциюРекурсивно(СтруктураФильтра);
КонецЕсли;
//@skip-check constructor-function-return-section
Возврат СтруктураФильтра;
КонецФункции
#КонецОбласти

View File

@ -14564,20 +14564,20 @@
Токен = ПараметрыФункции["Metrika_Token"];
IDСчетчика = ПараметрыФункции["Metrika_CounterID"];
Результат = OPI_YandexMetrika.ПолучитьСписокСчетчиков(Токен);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокСчетчиков", "YandexMetrika"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_МетрикаСчетчики(Результат); // SKIP
// Фильтр по списку ID
Фильтр = Новый Структура;
МассивСчетчиков = Новый Массив;
МассивСчетчиков.Добавить(IDСчетчика);
Фильтр.Вставить("counter_ids", МассивСчетчиков);
Фильтр.Вставить("counter_ids", МассивСчетчиков);
Результат = OPI_YandexMetrika.ПолучитьСписокСчетчиков(Токен, Фильтр);

View File

@ -2002,9 +2002,9 @@
КонецФункции
Функция ПолучитьОбщийМодуль(Знач Имя)
Модуль = Вычислить(Имя);
Возврат Модуль;
КонецФункции

View File

@ -239,9 +239,9 @@
ТекущееЗначение = Параметр.Значение;
ТекущийКлюч = Параметр.Ключ;
Если Не ТипЗнч(ТекущееЗначение) = Тип("Массив") Или Не ОтдельныеЭлементыМассивов Тогда
ЗначениеПараметра = ПреобразоватьПараметрВСтроку(ТекущееЗначение);
СтрокаПараметров = СтрокаПараметров
@ -249,12 +249,12 @@
+ "="
+ ЗначениеПараметра
+ "&";
Иначе
ЗначениеПараметра = РазделитьМассивНаПараметрыURL(ТекущийКлюч, ТекущееЗначение);
СтрокаПараметров = СтрокаПараметров + ЗначениеПараметра + "&";
КонецЕсли;
КонецЦикла;
@ -980,9 +980,9 @@
КонецФункции
Функция РазделитьМассивНаПараметрыURL(Знач Ключ, Знач Значение)
КлючМассив = Ключ + "=";
Для Н = 0 По Значение.ВГраница() Цикл
ТекущееЗначение = Значение[Н];
@ -994,9 +994,9 @@
КонецЦикла;
ПараметрСтрокой = СтрСоединить(Значение, "&");
Возврат ПараметрСтрокой;
КонецФункции
Процедура УстановитьТелоЗапроса(Запрос, Знач Параметры, Знач JSON)

View File

@ -309,33 +309,33 @@
// Получить список счетчиков
// Получает список доступных счетчиков с фильтром или без
//
//
// Примечание:
// Метод в документации API: [Список доступных счетчиков](@yandex.ru/dev/metrika/ru/management/openapi/counter/counters)
//
// Параметры:
// Токен - Строка - Токен авторизации - token
// Фильтр - Структура Из КлючИЗначение - Фильтр списка. См. ПолучитьСтруктуруФильтраСчетчиков - filter
//
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Yandex
Функция ПолучитьСписокСчетчиков(Знач Токен, Знач Фильтр = Неопределено) Экспорт
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(Фильтр);
Заголовки = OPI_YandexID.ПолучитьЗаголовокАвторизации(Токен);
URL = "https://api-metrika.yandex.net/management/v1/counters";
Если ТипЗнч(Фильтр) <> Тип("Массив") И ЗначениеЗаполнено(Фильтр) Тогда
URL = URL + OPI_Инструменты.ПараметрыЗапросаВСтроку(Фильтр, Истина);
КонецЕсли;
Ответ = OPI_Инструменты.Get(URL, , Заголовки);
Возврат Ответ;
КонецФункции
// Получить структуру счетчика
@ -523,14 +523,14 @@
// Возвращаемое значение:
// Структура Из КлючИЗначение - Структура полей счетчика
Функция ПолучитьСтруктуруФильтраСчетчиков(Знач Пустая = Ложь) Экспорт
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
СтруктураФильтра = Новый Структура;
МассивID = Новый Массив;
МассивID.Добавить("<id счетчика для отбора>");
СтруктураФильтра.Вставить("counter_ids" , МассивID);
СтруктураФильтра.Вставить("label_id" , "<фмльтр по метке>");
СтруктураФильтра.Вставить("offset" , "<порядковый номер первого счетчика в списке>");
@ -540,14 +540,14 @@
СтруктураФильтра.Вставить("status" , "<фильтр по статусу>");
СтруктураФильтра.Вставить("type" , "<фильтр по типу>");
СтруктураФильтра.Вставить("sort" , "<сортировка>");
Если Пустая Тогда
СтруктураФильтра = OPI_Инструменты.ОчиститьКоллекциюРекурсивно(СтруктураФильтра);
КонецЕсли;
//@skip-check constructor-function-return-section
Возврат СтруктураФильтра;
КонецФункции
#КонецОбласти

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/tools/Modules/internal/Modules/OPI_Инструменты.os
// OneScript: ./OInt/tools/Modules/internal/Modules/OPI_Инструменты.os
// MIT License
@ -239,9 +239,9 @@
ТекущееЗначение = Параметр.Значение;
ТекущийКлюч = Параметр.Ключ;
Если Не ТипЗнч(ТекущееЗначение) = Тип("Массив") Или Не ОтдельныеЭлементыМассивов Тогда
ЗначениеПараметра = ПреобразоватьПараметрВСтроку(ТекущееЗначение);
СтрокаПараметров = СтрокаПараметров
@ -249,12 +249,12 @@
+ "="
+ ЗначениеПараметра
+ "&";
Иначе
ЗначениеПараметра = РазделитьМассивНаПараметрыURL(ТекущийКлюч, ТекущееЗначение);
СтрокаПараметров = СтрокаПараметров + ЗначениеПараметра + "&";
КонецЕсли;
КонецЦикла;
@ -980,9 +980,9 @@
КонецФункции
Функция РазделитьМассивНаПараметрыURL(Знач Ключ, Знач Значение)
КлючМассив = Ключ + "=";
Для Н = 0 По Значение.ВГраница() Цикл
ТекущееЗначение = Значение[Н];
@ -994,9 +994,9 @@
КонецЦикла;
ПараметрСтрокой = СтрСоединить(Значение, "&");
Возврат ПараметрСтрокой;
КонецФункции
Процедура УстановитьТелоЗапроса(Запрос, Знач Параметры, Знач JSON)

View File

@ -14564,20 +14564,20 @@
Токен = ПараметрыФункции["Metrika_Token"];
IDСчетчика = ПараметрыФункции["Metrika_CounterID"];
Результат = OPI_YandexMetrika.ПолучитьСписокСчетчиков(Токен);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокСчетчиков", "YandexMetrika"); // SKIP
OPI_ПолучениеДанныхТестов.Проверка_МетрикаСчетчики(Результат); // SKIP
// Фильтр по списку ID
Фильтр = Новый Структура;
МассивСчетчиков = Новый Массив;
МассивСчетчиков.Добавить(IDСчетчика);
Фильтр.Вставить("counter_ids", МассивСчетчиков);
Фильтр.Вставить("counter_ids", МассивСчетчиков);
Результат = OPI_YandexMetrika.ПолучитьСписокСчетчиков(Токен, Фильтр);

View File

@ -230,6 +230,27 @@
НоваяСтрока.Область = "Управление счетчиками";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "metrika";
НоваяСтрока.Модуль = "OPI_YandexMetrika";
НоваяСтрока.Метод = "ПолучитьСписокСчетчиков";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКСЧЕТЧИКОВ";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации";
НоваяСтрока.Область = "Управление счетчиками";
НоваяСтрока.ОписаниеМетода = "Получает список доступных счетчиков с фильтром или без";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "metrika";
НоваяСтрока.Модуль = "OPI_YandexMetrika";
НоваяСтрока.Метод = "ПолучитьСписокСчетчиков";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКСЧЕТЧИКОВ";
НоваяСтрока.Параметр = "--filter";
НоваяСтрока.Описание = "Фильтр списка. См. ПолучитьСтруктуруФильтраСчетчиков (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Управление счетчиками";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "metrika";
НоваяСтрока.Модуль = "OPI_YandexMetrika";
@ -240,6 +261,17 @@
НоваяСтрока.Область = "Управление счетчиками";
НоваяСтрока.ОписаниеМетода = "Получает структуру стандартных полей для создания счетчика";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "metrika";
НоваяСтрока.Модуль = "OPI_YandexMetrika";
НоваяСтрока.Метод = "ПолучитьСтруктуруФильтраСчетчиков";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСТРУКТУРУФИЛЬТРАСЧЕТЧИКОВ";
НоваяСтрока.Параметр = "--empty";
НоваяСтрока.Описание = "Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей (необяз. по ум. - Нет)";
НоваяСтрока.Область = "Управление счетчиками";
НоваяСтрока.ОписаниеМетода = "Получает структуру полей фильтра для получения списка счетчиков";
Возврат ТаблицаСостава;
КонецФункции