You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-08-10 22:41:43 +02:00
Main build (Jenkins)
This commit is contained in:
16
ci/clitesten
vendored
16
ci/clitesten
vendored
@@ -11,6 +11,11 @@ pipeline {
|
||||
stage('Run Tests') {
|
||||
parallel {
|
||||
|
||||
stage('proxy'){
|
||||
steps{
|
||||
test_proxy()
|
||||
}
|
||||
}
|
||||
stage('tools'){
|
||||
steps{
|
||||
test_tools()
|
||||
@@ -147,6 +152,16 @@ pipeline {
|
||||
}
|
||||
|
||||
|
||||
def test_proxy(){
|
||||
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe proxy Start --port "test" --proj "test" --pass "test" --debug --test '
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
def test_tools(){
|
||||
|
||||
|
||||
@@ -2860,6 +2875,7 @@ pipeline {
|
||||
}
|
||||
stage('Run'){
|
||||
steps{
|
||||
test_proxy()
|
||||
test_tools()
|
||||
test_airtable()
|
||||
test_bitrix24()
|
||||
|
16
ci/clitestru
vendored
16
ci/clitestru
vendored
@@ -11,6 +11,11 @@ pipeline {
|
||||
stage('Run Tests') {
|
||||
parallel {
|
||||
|
||||
stage('proxy'){
|
||||
steps{
|
||||
test_proxy()
|
||||
}
|
||||
}
|
||||
stage('tools'){
|
||||
steps{
|
||||
test_tools()
|
||||
@@ -147,6 +152,16 @@ pipeline {
|
||||
}
|
||||
|
||||
|
||||
def test_proxy(){
|
||||
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'./oint.exe proxy Запустить --port "test" --proj "test" --pass "test" --debug --test '
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
def test_tools(){
|
||||
|
||||
|
||||
@@ -2860,6 +2875,7 @@ pipeline {
|
||||
}
|
||||
stage('Run'){
|
||||
steps{
|
||||
test_proxy()
|
||||
test_tools()
|
||||
test_airtable()
|
||||
test_bitrix24()
|
||||
|
@@ -46,4 +46,119 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
|
||||
|
||||
```json title="Результат"
|
||||
{
|
||||
"result": {
|
||||
"ID": "62",
|
||||
"PARENT_ID": "62",
|
||||
"DELETED": "N",
|
||||
"CAL_TYPE": "user",
|
||||
"OWNER_ID": "1",
|
||||
"NAME": "Новое событие",
|
||||
"DATE_FROM": "28.01.2025 22:29:00",
|
||||
"DATE_TO": "28.01.2025 23:29:00",
|
||||
"ORIGINAL_DATE_FROM": null,
|
||||
"TZ_FROM": "Europe/Minsk",
|
||||
"TZ_TO": "Europe/Minsk",
|
||||
"TZ_OFFSET_FROM": "10800",
|
||||
"TZ_OFFSET_TO": "10800",
|
||||
"DATE_FROM_TS_UTC": "1738081739",
|
||||
"DATE_TO_TS_UTC": "1740688140",
|
||||
"DT_SKIP_TIME": "N",
|
||||
"DT_LENGTH": 3600,
|
||||
"EVENT_TYPE": null,
|
||||
"CREATED_BY": "1",
|
||||
"DATE_CREATE": "27.01.2025 22:28:59",
|
||||
"TIMESTAMP_X": "27.01.2025 22:28:59",
|
||||
"DESCRIPTION": "Описание события",
|
||||
"PRIVATE_EVENT": "",
|
||||
"ACCESSIBILITY": "busy",
|
||||
"IMPORTANCE": "high",
|
||||
"IS_MEETING": true,
|
||||
"MEETING_STATUS": "H",
|
||||
"MEETING_HOST": "1",
|
||||
"MEETING": {
|
||||
"HOST_NAME": "Антон Титовец",
|
||||
"TEXT": null,
|
||||
"OPEN": false,
|
||||
"NOTIFY": true,
|
||||
"REINVITE": false,
|
||||
"MAIL_FROM": false
|
||||
},
|
||||
"LOCATION": "Офис",
|
||||
"REMIND": [
|
||||
{
|
||||
"type": "day",
|
||||
"count": 1
|
||||
}
|
||||
],
|
||||
"COLOR": "#230000",
|
||||
"RRULE": {
|
||||
"FREQ": "DAILY",
|
||||
"COUNT": 3,
|
||||
"INTERVAL": 10,
|
||||
"UNTIL": "01.01.2038",
|
||||
"~UNTIL": "",
|
||||
"UNTIL_TS": 2145916800
|
||||
},
|
||||
"EXDATE": "",
|
||||
"DAV_XML_ID": "20250128T192900Z-165159ccf926f8fd81fef570b48b3c08@b24-ar17wx.bitrix24.by",
|
||||
"G_EVENT_ID": "",
|
||||
"DAV_EXCH_LABEL": "",
|
||||
"CAL_DAV_LABEL": "",
|
||||
"VERSION": "1",
|
||||
"ATTENDEES_CODES": [
|
||||
"U1",
|
||||
"U10"
|
||||
],
|
||||
"RECURRENCE_ID": null,
|
||||
"RELATIONS": "",
|
||||
"SECTION_ID": "134",
|
||||
"SYNC_STATUS": null,
|
||||
"UF_CRM_CAL_EVENT": false,
|
||||
"UF_WEBDAV_CAL_EVENT": false,
|
||||
"SECTION_DAV_XML_ID": null,
|
||||
"DATE_FROM_FORMATTED": "Tue Jan 28 2025 22:29:00",
|
||||
"DATE_TO_FORMATTED": "Tue Jan 28 2025 23:29:00",
|
||||
"SECT_ID": "134",
|
||||
"OPTIONS": null,
|
||||
"ATTENDEE_LIST": [
|
||||
{
|
||||
"id": 1,
|
||||
"entryId": "62",
|
||||
"status": "H"
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"entryId": "64",
|
||||
"status": "Q"
|
||||
}
|
||||
],
|
||||
"COLLAB_ID": null,
|
||||
"~RRULE_DESCRIPTION": "каждый 10-й день, от 28.01.2025, 3 раз(а)",
|
||||
"attendeesEntityList": [
|
||||
{
|
||||
"entityId": "user",
|
||||
"id": 1
|
||||
},
|
||||
{
|
||||
"entityId": "user",
|
||||
"id": 10
|
||||
}
|
||||
],
|
||||
"~DESCRIPTION": "Описание события",
|
||||
"~USER_OFFSET_FROM": 0,
|
||||
"~USER_OFFSET_TO": 0
|
||||
},
|
||||
"time": {
|
||||
"start": 1738006140.14556,
|
||||
"finish": 1738006140.19252,
|
||||
"duration": 0.0469579696655273,
|
||||
"processing": 0.0220499038696289,
|
||||
"date_start": "2025-01-27T22:29:00+03:00",
|
||||
"date_finish": "2025-01-27T22:29:00+03:00",
|
||||
"operating_reset_at": 1738006740,
|
||||
"operating": 0
|
||||
}
|
||||
}
|
||||
```
|
||||
|
@@ -63,4 +63,156 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
|
||||
|
||||
```json title="Результат"
|
||||
{
|
||||
"result": [
|
||||
{
|
||||
"ID": "58",
|
||||
"PARENT_ID": "58",
|
||||
"ACTIVE": "Y",
|
||||
"DELETED": "N",
|
||||
"CAL_TYPE": "user",
|
||||
"OWNER_ID": "1",
|
||||
"NAME": "Новое событие",
|
||||
"DATE_FROM": "28.01.2025 22:29:00",
|
||||
"DATE_TO": "28.01.2025 23:29:00",
|
||||
"ORIGINAL_DATE_FROM": null,
|
||||
"TZ_FROM": "Europe/Minsk",
|
||||
"TZ_TO": "Europe/Minsk",
|
||||
"TZ_OFFSET_FROM": "10800",
|
||||
"TZ_OFFSET_TO": "10800",
|
||||
"DATE_FROM_TS_UTC": "1738081739",
|
||||
"DATE_TO_TS_UTC": "1740688140",
|
||||
"DT_SKIP_TIME": "N",
|
||||
"DT_LENGTH": 3600,
|
||||
"EVENT_TYPE": null,
|
||||
"CREATED_BY": "1",
|
||||
"DATE_CREATE": "27.01.2025 22:28:59",
|
||||
"TIMESTAMP_X": "27.01.2025 22:28:59",
|
||||
"DT_FROM": null,
|
||||
"DT_TO": null,
|
||||
"PRIVATE_EVENT": "",
|
||||
"ACCESSIBILITY": "busy",
|
||||
"IMPORTANCE": "high",
|
||||
"IS_MEETING": true,
|
||||
"MEETING_STATUS": "H",
|
||||
"MEETING_HOST": "1",
|
||||
"MEETING": {
|
||||
"HOST_NAME": "Антон Титовец",
|
||||
"TEXT": null,
|
||||
"OPEN": false,
|
||||
"NOTIFY": true,
|
||||
"REINVITE": false,
|
||||
"MAIL_FROM": false
|
||||
},
|
||||
"LOCATION": "Офис",
|
||||
"REMIND": [
|
||||
{
|
||||
"type": "day",
|
||||
"count": 1
|
||||
}
|
||||
],
|
||||
"COLOR": "#230000",
|
||||
"TEXT_COLOR": "",
|
||||
"RRULE": {
|
||||
"FREQ": "DAILY",
|
||||
"COUNT": 3,
|
||||
"INTERVAL": 10,
|
||||
"UNTIL": "01.01.2038",
|
||||
"~UNTIL": "",
|
||||
"UNTIL_TS": 2145916800
|
||||
},
|
||||
"EXDATE": "",
|
||||
"DAV_XML_ID": "20250128T192900Z-165159ccf926f8fd81fef570b48b3c08@b24-ar17wx.bitrix24.by",
|
||||
"G_EVENT_ID": "",
|
||||
"DAV_EXCH_LABEL": "",
|
||||
"CAL_DAV_LABEL": "",
|
||||
"VERSION": "1",
|
||||
"ATTENDEES_CODES": [
|
||||
"U1",
|
||||
"U10"
|
||||
],
|
||||
"RECURRENCE_ID": null,
|
||||
"RELATIONS": "",
|
||||
"SECTION_ID": "132",
|
||||
"SYNC_STATUS": null,
|
||||
"UF_CRM_CAL_EVENT": false,
|
||||
"UF_WEBDAV_CAL_EVENT": false,
|
||||
"SECTION_DAV_XML_ID": null,
|
||||
"DATE_FROM_FORMATTED": "Tue Jan 28 2025 22:29:00",
|
||||
"DATE_TO_FORMATTED": "Tue Jan 28 2025 23:29:00",
|
||||
"SECT_ID": "132",
|
||||
"OPTIONS": null,
|
||||
"ATTENDEE_LIST": [
|
||||
{
|
||||
"id": 1,
|
||||
"entryId": "58",
|
||||
"status": "H"
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"entryId": "60",
|
||||
"status": "Q"
|
||||
}
|
||||
],
|
||||
"COLLAB_ID": null,
|
||||
"~RRULE_DESCRIPTION": "каждый 10-й день, от 28.01.2025, 3 раз(а)",
|
||||
"attendeesEntityList": [
|
||||
{
|
||||
"entityId": "user",
|
||||
"id": 1
|
||||
},
|
||||
{
|
||||
"entityId": "user",
|
||||
"id": 10
|
||||
}
|
||||
],
|
||||
"~DATE_FROM": "28.01.2025 22:29:00",
|
||||
"~DATE_TO": "28.01.2025 23:29:00",
|
||||
"RINDEX": 0,
|
||||
"~USER_OFFSET_FROM": 0,
|
||||
"~USER_OFFSET_TO": 0
|
||||
},
|
||||
{
|
||||
"ID": "62",
|
||||
"PARENT_ID": "62",
|
||||
"ACTIVE": "Y",
|
||||
"DELETED": "N",
|
||||
"CAL_TYPE": "user",
|
||||
"OWNER_ID": "1",
|
||||
"NAME": "Новое событие",
|
||||
"DATE_FROM": "28.01.2025 22:29:00",
|
||||
"DATE_TO": "28.01.2025 23:29:00",
|
||||
"ORIGINAL_DATE_FROM": null,
|
||||
"TZ_FROM": "Europe/Minsk",
|
||||
"TZ_TO": "Europe/Minsk",
|
||||
"TZ_OFFSET_FROM": "10800",
|
||||
"TZ_OFFSET_TO": "10800",
|
||||
"DATE_FROM_TS_UTC": "1738081739",
|
||||
"DATE_TO_TS_UTC": "1740688140",
|
||||
"DT_SKIP_TIME": "N",
|
||||
"DT_LENGTH": 3600,
|
||||
"EVENT_TYPE": null,
|
||||
"CREATED_BY": "1",
|
||||
"DATE_CREATE": "27.01.2025 22:28:59",
|
||||
"TIMESTAMP_X": "27.01.2025 22:28:59",
|
||||
"DT_FROM": null,
|
||||
"DT_TO": null,
|
||||
"PRIVATE_EVENT": "",
|
||||
"ACCESSIBILITY": "busy",
|
||||
"IMPORTANCE": "high",
|
||||
"IS_MEETING": true,
|
||||
"MEETING_STATUS": "H",
|
||||
"MEETING_HOST": "1",
|
||||
"MEETING": {
|
||||
"HOST_NAME": "Антон Титовец",
|
||||
"TEXT": null,
|
||||
"OPEN": false,
|
||||
"NOTIFY": true,
|
||||
"REINVITE": false,
|
||||
"MAIL_FROM": false
|
||||
},
|
||||
"LOCATION": "Офис",
|
||||
"REMIND": [
|
||||
...
|
||||
```
|
||||
|
12604
service/dictionaries/en.json
vendored
12604
service/dictionaries/en.json
vendored
File diff suppressed because it is too large
Load Diff
8
src/en/cli/tools/Modules/internal/Classes/internal/Modules/Меню.os
vendored
Normal file
8
src/en/cli/tools/Modules/internal/Classes/internal/Modules/Меню.os
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
Процедура ОбработатьМеню(Контекст) Экспорт
|
||||
|
||||
Контекст.Ответ.Записать("
|
||||
|<li hx-get=""/api/content/1"" hx-target=""#content"">Action 1</li>
|
||||
|<li hx-get=""/api/content/2"" hx-target=""#content"">Action 2</li>
|
||||
|<li hx-get=""/api/content/3"" hx-target=""#content"">Action 3</li>");
|
||||
|
||||
КонецПроцедуры
|
33
src/en/cli/tools/Modules/internal/Classes/internal/Modules/Статика.os
vendored
Normal file
33
src/en/cli/tools/Modules/internal/Classes/internal/Modules/Статика.os
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
Процедура ВернутьСтатику(Контекст, ПутьКФайлу) Экспорт
|
||||
|
||||
ПутьКФайлуСтатики = КаталогСтатики() + ПутьКФайлу;
|
||||
ФайлСтатики = Новый Файл(ПутьКФайлуСтатики);
|
||||
|
||||
Если ФайлСтатики.Существует() Тогда
|
||||
Данные = Новый ФайловыйПоток(ПутьКФайлуСтатики, РежимОткрытияФайла.Открыть);
|
||||
Данные.КопироватьВ(Контекст.Ответ.Тело);
|
||||
Данные.Закрыть();
|
||||
Иначе
|
||||
Контекст.Ответ.КодСостояния = 404;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция КаталогСтатики()
|
||||
|
||||
КаталогОбработчика = СтрЗаменить(ТекущийСценарий().Каталог, "\", "/");
|
||||
|
||||
ЭлементыПути = СтрРазделить(КаталогОбработчика, "/");
|
||||
|
||||
Для Н = 1 По 6 Цикл
|
||||
ЭлементыПути.Удалить(ЭлементыПути.ВГраница());
|
||||
КонецЦикла;
|
||||
|
||||
ЭлементыПути.Добавить("web");
|
||||
|
||||
ПутьСтатики = СтрСоединить(ЭлементыПути, "/");
|
||||
ПутьСтатики = ПутьСтатики + "/";
|
||||
|
||||
Возврат ПутьСтатики;
|
||||
|
||||
КонецФункции
|
@@ -1,3 +1,34 @@
|
||||
#Использовать "internal"
|
||||
|
||||
Процедура ОсновнаяОбработка(Контекст, СледующийОбработчик) Экспорт
|
||||
|
||||
Попытка
|
||||
ОбработатьЗапрос(Контекст);
|
||||
Исключение
|
||||
Контекст.Ответ.КодСостояния = 500;
|
||||
Контекст.Ответ.Записать(ОписаниеОшибки());
|
||||
КонецПопытки
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьЗапрос(Контекст)
|
||||
|
||||
Путь = Контекст.Запрос.Путь;
|
||||
|
||||
Если Путь = "/web" Тогда
|
||||
|
||||
Статика.ВернутьСтатику(Контекст, "index.html");
|
||||
|
||||
ИначеЕсли Путь = "/api/menu" Тогда
|
||||
|
||||
Меню.ОбработатьМеню(Контекст);
|
||||
|
||||
Иначе
|
||||
|
||||
Контекст.Ответ.КодСостояния = 404;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
|
54
src/en/cli/web/index.html
vendored
Normal file
54
src/en/cli/web/index.html
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>GitHub Actions Interface with HTMX</title>
|
||||
<script src="https://unpkg.com/htmx.org@1.9.10"></script>
|
||||
<style>
|
||||
body {
|
||||
font-family: Arial, sans-serif;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
height: 100vh;
|
||||
}
|
||||
.sidebar {
|
||||
width: 200px;
|
||||
background-color: #f4f4f4;
|
||||
padding: 20px;
|
||||
box-shadow: 2px 0 5px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
.sidebar ul {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
}
|
||||
.sidebar ul li {
|
||||
margin: 15px 0;
|
||||
cursor: pointer;
|
||||
color: #0366d6;
|
||||
}
|
||||
.sidebar ul li:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.main-content {
|
||||
flex-grow: 1;
|
||||
padding: 20px;
|
||||
background-color: #fff;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="sidebar">
|
||||
<ul id="menu" hx-get="/api/menu" hx-trigger="load">
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="main-content" id="content">
|
||||
</div>
|
||||
|
||||
<template id="menu-item-template">
|
||||
<li hx-get="/api/content/{id}" hx-target="#content">{name}</li>
|
||||
</template>
|
||||
</body>
|
||||
</html>
|
Reference in New Issue
Block a user