1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2025-07-03 00:57:26 +02:00
Commit Graph

379 Commits

Author SHA1 Message Date
a0f9c3669f isChangeInDevelopment documentation (#3140)
* checkChangeInDevelopment to GO
- add groovy step isChangeInDevelopment
- direct to new Groovy
- direct to GO
2021-10-18 15:16:22 +02:00
05301b6974 TransportRequestUploadFile migration to Go - Documentation (#3102)
* UploadFile Documentation
- migrate documentation to GO steps
- adjust UploadFile references
2021-09-27 15:14:35 +02:00
09f5c0a524 AUnit step (#3075)
* Add AUnit step

* Add Groovy File

* Update metadata

* Add groovy test config

* Add Unit tests

* Add Documentation

* Docu fixes

* change docu

* change docu

* change logging level & remove sleep

* change docu

* change docu

* Update documentation/docs/steps/abapEnvironmentRunAUnitTest.md

Co-authored-by: Daniel Mieg <56156797+DanielMieg@users.noreply.github.com>
2021-09-20 11:14:13 +02:00
cba94dcb35 Cnb build custom buildpacks (#3090)
* [WIP] cnbBuild custom buildpacks draft

Co-authored-by: Pavel Busko <pavel.busko@sap.com>

* Store custom buildpacks in the dedicated tmp folder

Co-authored-by: Ralf Pannemans <ralf.pannemans@sap.com>

* added test

Co-authored-by: Pavel Busko <pavel.busko@sap.com>

* updated documentation

Co-authored-by: Ralf Pannemans <ralf.pannemans@sap.com>

* use Files for toml files cleanup

Co-authored-by: Pavel Busko <pavel.busko@sap.com>

* Add missing function to the FileUtils interface

Co-authored-by: Ralf Pannemans <ralf.pannemans@sap.com>

Co-authored-by: Ralf Pannemans <ralf.pannemans@sap.com>
2021-09-14 16:14:50 +02:00
0271ef51c4 cnbBuild documentation for custom builders (#3077)
* Docs for user provided builder images

Co-authored-by: Benjamin Haegenlaeuer <benjamin.haegenlaeuer@sap.com>

* check if provided dockerImage is a valid builder

Co-authored-by: Pavel Busko <pavel.busko@sap.com>

Co-authored-by: Benjamin Haegenlaeuer <benjamin.haegenlaeuer@sap.com>
2021-09-14 15:38:58 +02:00
3921c563c9 CTS Upload Documentation (#3059)
* CTS Upload Doc
- add documentation of the step
- yaml affected
2021-09-08 12:38:33 +02:00
0d0689e18b Fix broken link (#2550)
* Fix broken link

* Add config info into documentation

* Add line

* Add lines

* Link documentation to protocodeExecuteScan

* Remove space

* Change wording

Co-authored-by: Linda Siebert <linda.siebert@sap.com>
Co-authored-by: Linda Siebert <39100394+LindaSieb@users.noreply.github.com>
2021-09-01 13:07:13 +02:00
8c5986bbfa Improve documentation for protecodeExecuteScan (#3076)
* Improve documentation for protecodeExecuteScan

protecodeExecuteScan expects that the docker config file is named
'config.json'.

The dockerConfigJSON parameter is used by protecodeExecuteScan to
retrieve the directory only (for environment variable DOCKER_CONFIG).

* Also improve documentation that is generated

* No relative references in generated documentation.

* Less complex documentation

* Remove irrelevant empty line

* Improvements after review

* Add blank line after code block

* Handle registry URL example as code

Markdown format checker does not like raw URLs.

Co-authored-by: Sven Merk <33895725+nevskrem@users.noreply.github.com>
2021-09-01 10:57:21 +02:00
016599c1f1 Fix parameter keys in example (#2693)
Co-authored-by: Linda Siebert <39100394+LindaSieb@users.noreply.github.com>
2021-08-26 13:53:07 +02:00
8d6e5ec546 Improved documentation for gctsDeploy (#3054)
* Changed documentation for gctsDeploy

* Changes gctsDeploy readme and yaml file

Co-authored-by: Martin Bredy <58846699+martin-bredy@users.noreply.github.com>
Co-authored-by: Thorsten Duda <thorsten.duda@sap.com>
2021-08-20 12:54:55 +02:00
10d0fbe6fe Update uiVeri5ExecuteTests.md (#3045)
Add an additional example and fix credential access.
2021-08-19 14:21:46 +02:00
3f4b32f7ba cnbBuild step MVP (#3021)
* Implement cnbBuild step

Co-authored-by: Benjamin Haegenlaeuer <benjamin.haegenlaeuer@sap.com>

* Add cnbBuild groovy test

Co-authored-by: Benjamin Haegenlaeuer <benjamin.haegenlaeuer@sap.com>

* Add basic documentation template

Co-authored-by: Philipp Stehle <philipp.stehle@sap.com>

* Support specifiying name, tag and registry

Co-authored-by: Pavel Busko <pbusko@users.noreply.github.com>

Co-authored-by: Johannes Dillmann <j.dillmann@sap.com>
Co-authored-by: Philipp Stehle <philipp.stehle@sap.com>
Co-authored-by: Pavel Busko <pbusko@users.noreply.github.com>
2021-08-18 12:10:55 +02:00
2d412d9f3c IntegrationArtifactResource Command (#3027)
* IntegrationArtifactResource Command

* Remove unused code

* Formatting fix

* formatting fix

* formatting fix

* formatting fix

* formatting fix

* CodeReview Fixes

* Code Review Fix

* Code Review Fixes

* Code Review Fixes

* Format fix

* format fix

* format fix

* format fix

* Code Review Fix

Co-authored-by: Oliver Feldmann <oliver.feldmann@sap.com>
2021-08-12 09:11:02 +02:00
15f533c536 CommitHash for deployment details in influx (#3028)
* Adds commitHash to influxdata for cloudFoundryDeploy
2021-08-05 17:03:51 +02:00
f9e052e4d1 Refactor all instances of iFlow to be integrationFlow (#2992) 2021-08-04 16:42:25 +02:00
c283b9319d IntegrationArtifactUnDeploy Command (#3018)
* IntegrationArtifactUnDeploy Command

* formatting fix

* Code Review Fixex

* Code Review Fixes

* remove unused code

* Formating fixes

* formatting fixes

* formatting fix

Co-authored-by: Oliver Feldmann <oliver.feldmann@sap.com>
2021-08-02 16:27:16 +02:00
6d2bc023b0 Create missing documentation for step gitopsUpdateDeployment (#3003)
* Create gitopsUpdateDeployment.md

* Update mkdocs.yml

Co-authored-by: Sven Merk <33895725+nevskrem@users.noreply.github.com>
2021-07-30 12:45:14 +02:00
7259ccc726 Remove version from deploy step (#2978) 2021-07-27 09:51:56 +02:00
a763112fe6 integrationArtifactUpload Fixes (#2987)
* integrationArtifactUpload Fixes

* format fixes

* Doc fixes

* Fix unit tests

Co-authored-by: Oliver Feldmann <oliver.feldmann@sap.com>
2021-07-16 16:09:55 +02:00
43408d0eea RFC Upload Documentation (#2922)
RFC Upload Doc
- add RFC upload document
2021-07-08 11:07:08 +02:00
b68f549923 CPI- Remove platform parameter (#2956)
* Remove platform from yaml and generated

* Remove from tests and md
2021-06-30 14:32:30 +02:00
7910df0e8c new step integrationArtifactTriggerIntegrationTest (#2951)
* new step integrationArtifactTriggerIntegrationTest

* add new step into allow list

* add the new step to main command

* refer cpe

* remove unused unit tests

* Check methods and URLs of http request

* Add TriggerIntegration to mockingutils

* Format code

Co-authored-by: Oliver Feldmann <oliver.feldmann@sap.com>
Co-authored-by: Linda Siebert <linda.siebert@sap.com>
2021-06-29 14:50:19 +02:00
6426a2f792 CPI- Refactor Credential ID (#2946)
* Change credential name in yaml

Change cpiAPIServiceKeyCredentialId to cpiApiServiceKeyCredentialsId in cpi yaml files

* Refactor groovy files

Change cpiAPIServiceKeyCredentialId to cpiApiServiceKeyCredentialsId in cpi groovy files

* Change credential name in md

Change cpiAPIServiceKeyCredentialId to cpiApiServiceKeyCredentialsId in cpi md files
2021-06-28 14:54:03 +02:00
78a29d782b CPI - Introduce service key (#2901)
* Switch to service key for CPI GetMplStatus

Introduces read method for service key files, mock utils and tests.

* Use secret text instead of file

* Change serviceKey definition

* Update cpiUpload to use Service Key

retrieved the host and uaa information from service key

* Update cpiDeploy to use service key

retrieved the host and uaa information from service key

* Update cpiServiceEndpoint to use Service Key

retrieved the host and uaa information from service key

* Update cpiDownload to use Service Key

retrieved the host and uaa information from service key

* Update cpiUpdateConfig to use Service Key

retrieved the host and uaa information from service key

* Refactor serviceKey var name

* Fixed references to service key to follow the real format

they should be accessed through oauth instead of uaa because of the format of the json

* Rename ServiceKey to APIServiceKey

To support having a different service key(and for readability), we need to change the name to API.

* Add STAGES and STEPS yaml

add in to each yaml file of cpi integration

* Revert "Add STAGES and STEPS yaml"

This reverts commit aa2665d158.

* Change comments/formatting commonUtils

Make comments more understandable and follow code climate suggestions

* Change documentation files for steps

remove OAuth and host and change credentials to be servicekey

Co-authored-by: Oliver Feldmann <oliver.feldmann@sap.com>
Co-authored-by: Thorsten Duda <thorsten.duda@sap.com>
2021-06-28 10:50:33 +02:00
d2f75044d0 Add option to tag artifact version to containerPushToRegistryStep (#2859)
* Add option to tag artifact version to containerPushToRegistryStep

* Update vars/containerPushToRegistry.groovy

Co-authored-by: breuerjo <36748317+breuerjo@users.noreply.github.com>

* commonPipelineEnvironment instead of globalPipelineEnvironment

Co-authored-by: breuerjo <36748317+breuerjo@users.noreply.github.com>
Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2021-06-28 08:02:06 +02:00
7d2d9820e2 Technical Communication User (#2931)
* Technical Communication User

Co-authored-by: Daniel Mieg <56156797+DanielMieg@users.noreply.github.com>
2021-06-21 17:56:12 +02:00
9db249fe1c Docu updates abap steps (#2910)
* docu updates

* go generate

* remove example as better explained in scenario docu

* Update abapAddonAssemblyKitCheckCVs_generated.go

* PV Step update

* md lint

* create TV

* publish TV

* lint

* register

* release

* reserve

* yaml lint

* Update abapAddonAssemblyKitRegisterPackages_generated.go

* Update resources/metadata/abapAddonAssemblyKitCreateTargetVector.yaml

Co-authored-by: Daniel Mieg <56156797+DanielMieg@users.noreply.github.com>

* Update resources/metadata/abapAddonAssemblyKitPublishTargetVector.yaml

Co-authored-by: Daniel Mieg <56156797+DanielMieg@users.noreply.github.com>

* refer

Co-authored-by: Daniel Mieg <56156797+DanielMieg@users.noreply.github.com>
2021-06-17 21:28:15 +02:00
1eab39d847 solman upload split git documentation (#2831)
* Split git commit message scan from solman upload
2021-06-10 10:16:22 +02:00
77557c41c3 Fix(gctsDeploy) Refactoring gctsDeploy step (#2789)
* Changed gcts deploy step to include create, clone and switching branches

* Added create only flag for repository

* Changed the logic of Rollback

* Added more logs to deployCommitToAbapSystem

* Changes to deploy to abap system

* Changes to deploy to abap system

* Changes to condition for pullbycommit

* Added Current commit deploy scope handling

* Changed VCS_NO_IMPORT to take abap bool

* Added delete config functionality

* Functionality to parse boolean configuration

* Fix to get config metadata url

* Added additional error messages for switch branch

* Better error dump handling

* Better error dump handling contd

* Added dump errors to all http requests

* Error logging changes

* More Unit Tests

* Added more logs

* Updated docs for gCTS deploy

* Added scope in documentation

* Removal of some nested loops, fix of unit tests

* Documentation changes and more comments in the code

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2021-05-10 14:05:21 +02:00
c34da3c9a8 Removed obsolete scanTape, changed to buildTool (#2816)
Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2021-05-06 09:33:05 +02:00
478a73f8f3 Add documentation for transportRequestUploadSOLMAN (#2754) 2021-04-22 09:40:26 +02:00
e83a380c09 SAP CP to SAP BTP Rebranding (#2703)
* Update configuration.md

* Update build.md

* Update cloneRepositories.md

* Update integrationTest.md

* Update post.md

* Update prepareSystem.md

* Update publish.md

* Update configuration.md

* Update configuration.md

* Update introduction.md

* Update build.md

* Update CAP_Scenario.md

* Update CAP_Scenario.md

* Update abapEnvironmentAddons.md

* Update abapEnvironmentAddons.md

* Update abapEnvironmentTest.md

* Update changeManagement.md

* Update Readme.md

* Update Readme.md

* Update introduction.md

* Update abapEnvironmentAssembleConfirm.md

* Update abapEnvironmentAssemblePackages.md

* Update abapEnvironmentCheckoutBranch.md

* Update abapEnvironmentCloneGitRepo.md

* Update abapEnvironmentCreateSystem.md

* Update abapEnvironmentPullGitRepo.md

* Update abapEnvironmentRunATCCheck.md

* Update cloudFoundryCreateService.md

* Update cloudFoundryCreateSpace.md

* Update cloudFoundryDeleteSpace.md

* Update mtaBuild.md

* Update neoDeploy.md

* Update protecodeExecuteScan.md

* Update uiVeri5ExecuteTests.md

* Update guidedtour.md

* Update index.md

* Update configuration.md

* Update guidedtour.md

* Update configuration.md

* Update build.md

* Update CAP_Scenario.md

* Update TMS_Extension.md

* Update TMS_Extension.md

* Update abapEnvironmentAddons.md

* Update abapEnvironmentTest.md

* Update Readme.md

* Update Readme.md

* Update cloudFoundryDeploy.md

* Update influxWriteData.md

* Update neoDeploy.md

* Update CAP_Scenario.md

* Update TMS_Extension.md

* Update Readme.md

* Update Readme.md

* Update guidedtour.md

* Update guidedtour.md

* Update guidedtour.md

* Update configuration.md

Co-authored-by: Thorsten Duda <thorsten.duda@sap.com>
2021-03-19 10:51:24 +01:00
dea96a3ba0 feat(newmanExecute): golang implmementation for newmanExecute (#2513)
* Automates first parts of newmanExecute.groovy

Signed-off-by: Fabian Reh <fabian.reh@sap.com>

* Adds newman installation

Signed-off-by: Fabian Reh <fabian.reh@sap.com>

* Removes warning

Signed-off-by: Fabian Reh <fabian.reh@sap.com>

* makes tests robust for later shell calls

Signed-off-by: Fabian Reh <fabian.reh@sap.com>

* Adds version logging

Signed-off-by: Fabian Reh <fabian.reh@sap.com>

* Adds tests for version logging

Signed-off-by: Fabian Reh <fabian.reh@sap.com>

* Adds newman shell execution

Signed-off-by: Fabian Reh <fabian.reh@sap.com>

* Prepare cloud foundry apps with secrets handling

Signed-off-by: Fabian Reh <fabian.reh@sap.com>

* Adds further process to CF Utils

Signed-off-by: Fabian Reh <fabian.reh@sap.com>

* Fixes unit test

Signed-off-by: Fabian Reh <fabian.reh@sap.com>

* Adds error category

Signed-off-by: Fabian Reh <fabian.reh@sap.com>

* Add fix to execute step locally

Currently only tested on windows machine locally in powershell.

Signed-off-by: Fabian Reh <fabian.reh@sap.com>

* Adapt unit test to fix of runCommand

Signed-off-by: Fabian Reh <fabian.reh@sap.com>

* refactored golang step to newmanExecute

* wip

* added test config

* refactored newmanExecute groovy wrapper step

* exclude newmanExecute from common step test

* cleaups

* add credential support

* fix groovy credential providing

* add import

* add stageName

* define script

* remove unused vars

* add import

* fix iterator ref

* golang secret handling and cleanups

* wip

* wip

* wip

* update go step

* implement cf credential proposal

* testRepository functionality implemented

* register secrets to logger

* add missing dependecies

* test xsuaa credential handling

* wip

* wip

* cleanups

* add import

* remove mandatory params

* add container definition

* test runCommand

* test runCommand

* fix npm path

* fix npm path

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* added newmanEnvironment to templating

* wip

* use env and globals params in runCommand when no templating

* fix condition

* wip

* reverted config edit

* updated documentation

* install with shell

* wip

* wip

* fix tests

* refactor tests

* wip

* remove old test

* wip

* escape go tmpl

* escape go tmpl

* fix defaults

* add doc comment

* remove test case

* refactored newman commands

* add cli reporter

* refactor options

* mock os getenv and fix all tests

* refactoring and doc update

* go generate

* small refactor

* spelling

* fix newman doc

* remove MaskPasswords wrapper; fix stash bug;

* docu fix

Co-authored-by: Fabian Reh <fabian.reh@sap.com>
2021-03-17 08:08:33 +01:00
e5e0a482fa Update addon.yml: Product X/Y SWC ABC + Short Commit ID (#2636)
* Update addon.yml: Product X/Y SWC ABC + Short Commit ID

* Update build.md

* Update integrationTest.md

* Update publish.md

* Update abapAddonAssemblyKitCheckCVs.md

* Update abapAddonAssemblyKitCheckPV.md

* Update integrationTest.md

* Update abapEnvironmentAddons.md

Co-authored-by: Daniel Mieg <56156797+DanielMieg@users.noreply.github.com>
2021-02-23 11:28:37 +01:00
3df4542271 move additional hints into markdown file (#2599)
These hints are up to now provided as javadoc like comments
at the call method for cloudFoundryDeploy step. At that level
they are not taken into account by the go generator.

Is is not a suitable approach to include this kind of markdown
docu into the long description of the metadata file since this
long description is (also) used by the piper help command when
invoking piper cloudFoundyDeploy --help. At that point in time
markdown like text does not make sense.
2021-02-19 08:44:51 +01:00
06afce3005 IntegrationArtifactUpload Command (#2610)
* IntegrationArtifactUpload Command
2021-02-17 09:59:56 +01:00
c53d5241cb use v6 version of ppiper/cf-cli consistently for all go steps (#2569) 2021-02-11 09:31:25 +01:00
f030bc9861 IntegrationArtifactDownload Command (#2587)
* IntegrationArtifactDownload Command

Co-authored-by: Marcus Holl <marcus.holl@sap.com>
2021-02-10 17:08:23 +01:00
e9a93ed384 Adding new step for abap Enviroment Assembly Confirm (#2586)
* Adding new abap Assembly Confirm

* Update abapEnvironmentAssembleConfirm.go

* Add generated objects

Co-authored-by: tiloKo <70266685+tiloKo@users.noreply.github.com>
2021-02-10 11:33:10 +01:00
5f053d1c32 fix(uiVeri5): update documentation for more explicit deprecation notes (#2568)
* use strings.Join() for string slice

* add explanaiton to script passing in extensions

* add note about groovy templating

* remove single quotes from seleniumAddress default

* updated documentation

Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2021-02-05 16:04:52 +01:00
538256774a IntegrationArtifactGetServiceEndpoint Command (#2582)
* GetIntegrationArtifactServiceEndpoint Command

Co-authored-by: Marcus Holl <marcus.holl@sap.com>
2021-02-05 10:35:55 +01:00
426c106765 IntegrationArtifactGetMplStatus Command (#2558)
* IntegrationArtifactGetMplStatus Command

Co-authored-by: Marcus Holl <marcus.holl@sap.com>
2021-02-04 10:50:15 +01:00
0ed5cce53a IntegrationArtifactUpdateConfiguration Command (#2542)
* IntegrationArtifactUpdateConfiguration Command

Co-authored-by: Marcus Holl <marcus.holl@sap.com>
2021-01-29 09:46:47 +01:00
e60bdb94a6 feat(uiVeri5): golang implmementation for uiVeri5ExecuteTests (#2394)
* added uiVeri5ExecuteTests step files

* added confPath an regenerated step

* added test for uiVeri5ExecuteTests

* config modified

* added groovy wrapper

* ambiguous method fixed

* uiveri5 wrapper

* removed install command

* fixed defaults

* added testOptions as confPath arg

* test set env

* test npm install local

* changed env settings

* tests regenerated

* go generate

* fix code climate

* overwrite groovy step

* remove groovy wrapper go

* unstash piper bin

* test older node version

* test piperExecuteBin

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* refactored params

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* set testServerUrl as os env for uiveri5

* Update config.yml

* fix naming of testServerUrl param

* wip

* refactored setEnv and fixed tests

* wip

* step param for NPM_CONFIG_PREFIX

* fix runCommand

* refactored step param, regenerate, docu, fix tests

* fix groovy wrapper test

* cleanup

* add to CommonStepsTest field whitelist

* fixed default pipeline environment vars

* fix []string default

* fix metadata.go bug

* added test for docu metadata gen

* fix metadata_test.go in doc gen

* Update metadata_generated.go

* Update metadata_generated.go

* remove npm config prefix param; doc fix

* remove tab

* changed npm config prefix

* removed groovy wrapper test

* removed groovy step defaults

* modify path variable

* modified npm config prefix

* fix error wrapper and tests

* doc update

* add testRepository support

* wip

* fix testRepository param

* wip

* add utils

* init stash content

* wip

* wip

* wip

* add comment for deprecated parameters

* fixed commonStepTest

* fixed commonStepTest

* added error category for testOptions failure

* Update vars/uiVeri5ExecuteTests.groovy

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>

* Update vars/uiVeri5ExecuteTests.groovy

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>

* fix condition

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2021-01-28 11:31:24 +01:00
fe72b295d6 IntegrationArtifactDeploy Command (#2526)
* UpdateIntegrationArtifactConfiguration Command

* Fixes for codeclimate Check

* CommonStepsTest changes

* CodeReview Changes

* Git Patch

* Git Patch undo

* Code Review Comments

* code review fixes

* improve the error handling

* codeclimate fixes

* remove json parsing

* Error handling changes

* TestCase coverage fixes

* Refactoring Commands

* IntegrationArtifactDeploy Command

* Regenerate metadata_generated

* codereview fixes

* Code Review Fixes

* Code Review Fixes

Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
Co-authored-by: Oliver Feldmann <oliver.feldmann@sap.com>
2021-01-22 15:55:50 +01:00
f22ff9a4d5 Remove cm client as prerequisite since we are expecting always a docker environment (#2511) 2021-01-14 09:35:31 +01:00
f9af1841e4 [docu] remove outated hint for not supported CTS upload (#2506) 2021-01-13 15:13:38 +01:00
f4469c3427 DeployIntegrationArtifact Command (#2474)
DeployIntegrationArtifact Command

Co-authored-by: Oliver Feldmann <oliver.feldmann@sap.com>
Co-authored-by: Marcus Holl <marcus.holl@sap.com>
2021-01-12 12:17:42 +01:00
7de42230e0 add step to create a GitHub issue (#2481)
* add step to create a GirHub issue

* add groovy library step

* Update githubcreateissue.yaml

Co-authored-by: Sven Merk <33895725+nevskrem@users.noreply.github.com>
2020-12-21 17:13:16 +01:00
cf7ca8f791 add step to create a GitHub comment (#2479)
* add step to create a GitHub comment

* add docs

* mandatory parameters

* add command

* Update githubCommentIssue.go

* add groovy library step

Co-authored-by: Sven Merk <33895725+nevskrem@users.noreply.github.com>
2020-12-21 16:21:07 +01:00