### Install Composer utility Source: https://docs.gitflic.ru/latest/registry/composer Install Composer using the official setup script if it is not already installed. ```bash php composer-setup.php --install-dir=bin --filename=composer ``` -------------------------------- ### Start pipeline response example Source: https://docs.gitflic.ru/latest/api/cicd Example JSON response for the POST /project/{ownerAlias}/{projectAlias}/cicd/pipeline/start endpoint. ```json { "pipeline_uuid": "c5d94105-aaaa-aaaa-aaaa-f88a6e947b4e" } ``` -------------------------------- ### Install Maven (Ubuntu/Debian) Source: https://docs.gitflic.ru/latest/registry/maven Installs Maven if the 'mvn --version' check fails. Use this command to proceed with the registry setup. ```bash sudo apt install maven ``` -------------------------------- ### Application startup log output Source: https://docs.gitflic.ru/latest/setup/cli Example of the log output indicating the application has successfully started and is ready for input. ```text 2024-02-22 14:36:32.630 INFO 7 --- [ main] o.s.i.channel.PublishSubscribeChannel : Channel 'application.errorChannel' has 1 subscriber(s). 2024-02-22 14:36:32.631 INFO 7 --- [ main] o.s.i.endpoint.EventDrivenConsumer : started bean '_org.springframework.integration.errorLogger' shell:> ``` -------------------------------- ### GET /user Response Example Source: https://docs.gitflic.ru/latest/api/user Example JSON response for the GET /user endpoint, which returns a paginated list of users. ```json { "_embedded": { "userList": [ { "id": "7cda0fdc-aaaa-aaaa-aaaa-6b0bfe8bbddf", "username": "user1", "name": "name", "surname": "surname", "fullName": "name surname", "avatar": "https://gitflic.ru/upload/img/4427cf28-aaaa-aaaa-aaaa-8ee5e6b3a467.jpg", "cover": "/upload/img/3b7780f1-aaaa-aaaa-aaaa-97e55d7bbdbb.jpg" }, { "id": "166e63d7-aaaa-aaaa-aaaa-e46b43e29c21", "username": "user2", "name": "name", "surname": "surname", "fullName": "name surname", "avatar": "https://gitflic.ru/upload/img/197869df-aaaa-aaaa-aaaa-d2442372699c.jpg", "cover": "/upload/img/33fxd0r1-aaaa-aaaa-aaaa-9e7er56jtdbb.jpg" }, { "id": "03105a7f-aaaa-aaaa-aaaa-e87cd6ee60b2", "username": "user3", "name": "name", "surname": "surname", "fullName": "name surname", "avatar": "https://gitflic.ru/upload/img/17e7bcfe-aaaa-aaaa-aaaa-aabce41d7259.jpg", "cover": "/upload/img/23d7g0d1-aaaa-aaaa-aaaa-tf45gd7ftd6b.jpg" } ] }, "page": { "size": 10, "totalElements": 3, "totalPages": 1, "number": 0 } } ``` -------------------------------- ### Response for GET package file list Source: https://docs.gitflic.ru/latest/api/registry-repository Example JSON response showing a list of repository package files with metadata and pagination details. ```json { "_embedded": { "repositoryPackageFileModelList": [ { "id": "f54229e0-aaaa-aaaa-aaaa-7b28d4cba269", "name": "package-name-1.0.0", "size": 5000, "hashMd5": "99bad348daaaaaaaaaaaa8bfd64a6b36", "hashSHA1": "eff19953294243aaaaaaaaaaaa198276da1d6b08", "hashSHA256": "d7a08a99b2502f0bb68cd4e1f9aaaaaaaaaaaad3208bd0f73366c03fc3548a42", "hashSHA512": "ec795b2f32982c1af8dccef57553aa9d959c13ee829aebd6459ba22b4eaaaaaaaaaaaaa89f63ad2f0d8c45d59cd020a15cd976ddb4bf20f1044b492a406e029e", "packageUploadType": "TRANSPORT", "createdAt": "2025-01-01T12:00:00.000000", "nodeUuid": "5b359e3a-aaaa-aaaa-aaaa-66ea4c74f3f3" }, { "id": "0d66c254-aaaa-aaaa-aaaa-a629539389a4", "name": "package-name-1.0.1", "size": 5005, "hashMd5": "2abd6856baaaaaaaaaaaadfb52f4df68", "hashSHA1": "4a2b7185be9155aaaaaaaaaaaaef2f15e0f4fffd", "hashSHA256": "fa68451ea830572ed43ffe51d7aaaaaaaaaaaa65a602a51f49d6be02063a65f3", "hashSHA512": "e1c4acc68f7114cd501754d07e51a9345bc1106623ea9e38cd6d40b188aaaaaaaaaaaa27da9d71da608b6691ef1f9d75d11253567350fbb4a949770a1cb7023e", "packageUploadType": "TRANSPORT", "createdAt": "2025-01-10T12:00:00.000000", "nodeUuid": "ab2ca6ba-aaaa-aaaa-aaaa-d733290b6f7d" } ] }, "page": { "size": 10, "totalElements": 2, "totalPages": 1, "number": 0 } } ``` -------------------------------- ### GET /project/my?q={title} - Example JSON Response Source: https://docs.gitflic.ru/latest/api/project Example 200 OK response for listing projects of the active user. The response contains an embedded project list with pagination details. ```json { "_embedded": { "projectList": [ { "id": "06a973fb-aaaa-aaaa-aaaa-d72a21b16087", "title": "Project", "description": "Repository example", "alias": "project", "defaultBranch": "master", "workBranch": "master", "siteUrl": null, "owner": { "alias": "user", "type": "USER" }, "language": "Markdown", "forEducation": false, "forkedFromId": "87c79f93-aaaa-aaaa-aaaa-60d08fbbca7b", "pullMirrorUrl": null, "allowedMemory": "4GB", "forkUrl": "https://gitflic.ru/project/team/project", "httpTransportUrl": "https://gitflic.ru/project/user/project.git", "sshTransportUrl": "git@gitflic.ru:team/project.git", "topics": [ "gitflic" ], "private": false, "mirror": false }, { "id": "0ed38c25-aaaa-aaaa-aaaa-462c972efcc5", "title": "gitflic", "description": "example", "alias": "gitflic", "defaultBranch": "master", "workBranch": "master", "siteUrl": null, "owner": { "alias": "user", "type": "USER" }, "language": "java", "forEducation": false, "forkedFromId": null, "pullMirrorUrl": null, "allowedMemory": "4GB", "forkUrl": null, "httpTransportUrl": "https://gitflic.ru/project/user/gitflic.git", "sshTransportUrl": "git@gitflic.ru:user/gitflic.git", "topics": [ "gitflic" ], "private": false, "mirror": true } ] }, "page": { "size": 10, "totalElements": 2, "totalPages": 1, "number": 0 } } ``` -------------------------------- ### Install specific package version with go get Source: https://docs.gitflic.ru/latest/registry/go Download a specific package version from the registry. ```bash go get @ ``` -------------------------------- ### Response for listing repository packages Source: https://docs.gitflic.ru/latest/api/registry-repository Example JSON response for a successful GET request to list packages in a repository. ```json { "_embedded": { "simplePackageInfoModelList": [ { "id": "3cf3829a-aaaa-aaaa-aaaa-d4bba49cf7f3", "name": "package-name", "version": "1.0.0", "groupId": "package-group-id", "artifactId": "package-artifact-id", "type": "maven", "ownerUuid": "5e704785-aaaa-aaaa-aaaa-dd98f2eeb5a6", "ownerType": "REPOSITORY" } ] }, "page": { "size": 10, "totalElements": 1, "totalPages": 1, "number": 0 } } ``` -------------------------------- ### GET release by UUID - Example Response Source: https://docs.gitflic.ru/latest/api/release Example JSON response for GET /project/{ownerAlias}/{projectAlias}/release/{releaseUuid} with status 200. Contains release details including attachment files with hashes. ```json { "id": "d7750f4a-aaaa-aaaa-aaaa-954eeb8e3680", "title": "Название", "projectId": "c94aedd2-aaaa-aaaa-aaaa-67fbf1112a82", "authorId": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51", "description": "Описание", "tagName": "2.14.5", "commitId": "59de8c0611304aaaaaaaaaaaaac05f90483c6dfb", "createdAt": "2024-05-17T09:59:30.635513Z", "updatedAt": "2024-05-17T09:59:30.635515Z", "attachmentFiles":[ { "name": "file.zip", "uuid": "8b8bdd4e-aaaa-aaaa-aaaa-1f95b8fae217", "link": "https://gitflic.ru/project/user/test_project/release/d7750f4a-aaaa-aaaa-aaaa-954eeb8e3680/file/8b8bdd4e-aaaa-aaaa-aaaa-1f95b8fae217", "size": 158267, "hashMd5": "fff118534ecd753fc31ffh8ccb48e4c4", "hashSha1": "d3b911c9ccdffc0de2c5ge8ae4907aa5ef00aa86", "hashSha256": "33645ddcc7d5add5df70d27e59cef069d52887d6f3d41eec104eda3d1e7221b7", "hashSha512": "261c9efed1f692f16127r6c02c045ae3779da7c7cf8c8f20ef81f9988e7f6b4414630cc2020011bcfe2aab2372d4cb7ded9985433cd68da42e571b83526c48c6" } ], "preRelease": true } ``` -------------------------------- ### Start pipeline request body example Source: https://docs.gitflic.ru/latest/api/cicd Example JSON request body for the POST /project/{ownerAlias}/{projectAlias}/cicd/pipeline/start endpoint. ```json { "refName": "master", "isTag": "false", "variables": [ { "key": "pass", "value" : "123" }, { "key": "name", "value" : "adminuser" } ] } ``` -------------------------------- ### Response example for getting all repositories Source: https://docs.gitflic.ru/latest/api/registry-repository Example JSON response for a successful (200) request to list all repositories of a registry. Contains an embedded list of repository DTOs and pagination information. ```json { "_embedded": { "shortRegistryRepositoryDtoList": [ { "title": "generic-local", "repositoryType": "LOCAL", "repositoryUuid": "b24769db-aaaa-aaaa-aaaa-a3006f0271f6", "packageType": "generic", "description": "Локальный репозиторий generic реестра", }, { "title": "maven-proxy", "repositoryType": "PROXY", "repositoryUuid": "ddc72f64-aaaa-aaaa-aaaa-e212e088bffc", "packageType": "maven", "description": "Проксирующий репозиторий maven реестра", }, { "title": "maven-proxy-cache", "repositoryType": "LOCAL_CACHE", "repositoryUuid": "fa6d59b5-aaaa-aaaa-aaaa-cf1806aa929c", "packageType": "maven", "description": null, } { "title": "maven-virtual", "repositoryType": "VIRTUAL", "repositoryUuid": "3cd7ccd1-aaaa-aaaa-aaaa-a1bfd03f9801", "packageType": "maven", "description": "Виртуальный репозиторий maven реестра", }, { "title": "trashCan", "repositoryType": "TRASH_CAN", "repositoryUuid": "e510b751-aaaa-aaaa-aaaa-737daa2e7210", "packageType": "generic", "description": null, }, ] }, "page": { "size": 10, "totalElements": 5, "totalPages": 1, "number": 0 } } ``` -------------------------------- ### GET /project/{projectUuid}/project-size Response Example Source: https://docs.gitflic.ru/latest/api/project Example JSON response for the project size retrieval endpoint, showing storage usage across different categories. ```json { "readableDirectorySize": "3,4MB", "readableLfsFilesSize": 103,3MB", "readableRegistryFilesSize": "1,7MB", "readableReleaseFilesSize": "83,3MB", "readableArtifactFilesSize": "13,2MB", "readableFilledSpace": "204,9MB" } ``` -------------------------------- ### Example fix releases command output Source: https://docs.gitflic.ru/latest/setup/cli Logs showing the start and completion of the 'fix releases' command. ```text 2024-02-14 14:37:50.291 INFO 70237 --- [ main] c.gitflic.cli.service.ReleaseFixService : --- Подсчет количества релизов --- 2024-02-14 14:37:50.457 INFO 70237 --- [ main] c.gitflic.cli.service.ReleaseFixService : Всего релизов 24 2024-02-14 14:37:50.458 INFO 70237 --- [ main] c.gitflic.cli.service.ReleaseFixService : ----------------------------------------- ``` ```text 2024-02-14 14:37:51.004 INFO 70237 --- [ main] c.gitflic.cli.service.ReleaseFixService : Мигрировано: 24/24 100,00% релизов 2024-02-14 14:37:51.004 INFO 70237 --- [ main] c.gitflic.cli.service.ReleaseFixService : Задача выполнена ``` -------------------------------- ### Get package version - example JSON response Source: https://docs.gitflic.ru/latest/api/package Returns a single package version with its files, download count, and hashes. Use this endpoint to retrieve details for a specific version. ```json { "id": "fb97db0e-aaaa-aaaa-aaaa-9a95f4f36e9a", "baseVersion": "1.2.3", "version": "1.2.3", "lowerVersion": "1.2.3", "downloadCount": 12, "languageVersion": null, "packageUploadType": "MANUALLY", "packageFiles": [ { "id": "6dd3bea5-aaaa-aaaa-aaaa-c49a0025279c", "name": "gitflic-helper", "size": 631382, "hashMd5": "518e87b56adeaaaaaaaa9b6575399e1e", "hashSHA1": "d06a0844d92d2a4defd4x2f8a475c448ce0e1", "hashSHA256": "ad98cee24564aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac1f27d22ac1", "packageUploadType": "MANUALLY", "createdAt": "2024-08-01T06:57:07.150295" } ], "internal": null } ``` -------------------------------- ### Install Tantor SE Source: https://docs.gitflic.ru/latest/setup/gitflic_app/astra_setup_and_start Steps to copy the package, install it, initialize the database, and manage the service. ```bash scp tantor-*.deb @:~/ ``` ```bash sudo apt install ./tantor-*.deb ``` ```bash sudo -iu postgres /opt/tantor/db/14/bin/initdb -D /var/lib/postgresql/tantor-se-14/data/ exit ``` ```bash systemctl start tantor-*.service systemctl enable tantor-*.service ``` ```bash sudo systemctl status tantor-*.service ``` -------------------------------- ### GET request example Source: https://docs.gitflic.ru/latest/project/scripts/scripts Example of a GET request to the GitFlic REST API with authorization headers. ```javascript const url = '${baseurl}/user/me' req = http.get(url,{ headers: { "Authorization": `token ${gitflicApiToken}` }}); console.log(JSON.stringify(req)) req.code ``` -------------------------------- ### Check package installation Source: https://docs.gitflic.ru/latest/registry/julia Command to verify that the package has been installed. ```julia Pkg.status() ``` -------------------------------- ### Initialize module and download with go get Source: https://docs.gitflic.ru/latest/registry/go Initialize a new Go module and download a package from a GitFlic repository using go get. ```bash go mod init mynewproject go get <выбранный url репозитория> ``` -------------------------------- ### Install specific versions of a package Source: https://docs.gitflic.ru/latest/registry/conda Commands to install the highest available version, a stable version, or a specific version. The first command installs the highest version, which may be a prerelease. ```bash # Установка максимально доступной версии conda install test-gf # Установка стабильной версии conda install 'test-gf<1.0.0a0' # Установка конкретной версии conda install 'test-gf==1.0.0a1' ``` -------------------------------- ### Get pipeline artifacts response example Source: https://docs.gitflic.ru/latest/api/cicd Example JSON response for the GET /project/{ownerAlias}/{projectAlias}/cicd/pipeline/{localId}/artifacts endpoint. ```json { "_embedded": { "restPipelineJobArtifactModelList": [ { "id": "g4i6tfl6-aaaa-aaaa-aaaa-i4t0707fl194", "fileType": "metadata", "size": 125667, "expireAt": "2023-06-13T15:40:26.145095Z", "fileName": "d00c197c-aaaa-aaaa-aaaa-a902b51f230f.log", "downloadUrl": "api.gitflic.ru/project/username/projectname/cicd/job/1/artifact/g4i6tfl6-aaaa-aaaa-aaaa-i4t0707fl194/download", "jobLocalId": 1 } ] }, "page": { "size": 1, "totalElements": 1, "totalPages": 1, "number": 0 } } ``` -------------------------------- ### Use the installed package Source: https://docs.gitflic.ru/latest/registry/julia Commands to load and use the HelloWorld package. ```julia using HelloWorld HelloWorld.greeting() ``` -------------------------------- ### Get SSH Key Response Example Source: https://docs.gitflic.ru/latest/api/admin Example JSON response for a successful GET request to retrieve a user's SSH key information. ```json { "uuid":"0dee836e-aaaa-aaaa-aaaa-65318059de1f" "publicKey":"ssh-ed25519 AAAAC3NzaC1lZFHNRPTE5AAAAIDkxja/2VmTEsJDTtf3bI4XYDpb58fvKfSjy7/u8EZeI your_email@gitflic.ru" "title":"Название ключа" "expiresAt":"2020-10-10T10-10-10Z" "userUuid":"f1a94466-aaaa-aaaa-aaaa-744ec3bbd60c" } ``` -------------------------------- ### Response example for getting a repository by UUID Source: https://docs.gitflic.ru/latest/api/registry-repository Example JSON response for a successful (200) request to get a single repository by its UUID. Contains the repository details. ```json { "title": "generic-local", "repositoryType": "LOCAL", "repositoryUuid": "b24769db-aaaa-aaaa-aaaa-a3006f0271f6", "packageType": "generic", "description": "Локальный репозиторий generic реестра", } ``` -------------------------------- ### Install Go with apt Source: https://docs.gitflic.ru/latest/registry/go Install the Go programming language on a Debian-based system using the apt package manager. ```bash sudo apt install golang-go ``` -------------------------------- ### Create project: POST /project response JSON Source: https://docs.gitflic.ru/latest/api/project Example response for creating a project. Contains project details including id, title, alias, defaultBranch, workBranch, owner, language, and transport URLs. ```json { "id": "2f58c38f-aaaa-aaaa-aaaa-3819c74b2c36", "title": "my project", "description": "description", "alias": "example", "defaultBranch": "master", "workBranch": "master", "siteUrl": null, "owner": { "alias": "example-user", "type": "USER" }, "language": "java", "forEducation": false, "forkedFromId": null, "pullMirrorUrl": null, "allowedMemory": "4GB", "forkUrl": null, "httpTransportUrl": "https://gitflic.ru/project/example-user/example.git", "sshTransportUrl": "git@gitflic.ru:example-user/example.git", "topics": [ "gitflic" ], "private": true, "mirror": false } ``` -------------------------------- ### GET /team/{teamAlias} response example Source: https://docs.gitflic.ru/latest/api/team Example JSON response for the GET /team/{teamAlias} endpoint, which returns the details of a specific team identified by its alias. ```json { "id": "2bee3ea6-aaaa-aaaa-aaaa-2d98d59e71f7", "alias": "gitflic", "title": "gitflic", "description": "description", "ownerAlias": "user1", "avatar": "https://gitflic.ru/upload/img/065abe2c-aaaa-aaaa-aaaa-3ffebd3a4f28.jpg", "private": false, "selectorTitle": "gitflic", "selectorId": "2bee3ea6-aaaa-aaaa-aaaa-2d98d59e71f7", "selectorOwnerAlias": null, "selectorAlias": null, "selectorColor": null, "selectorHash": null, "hexColor": null } ``` -------------------------------- ### GET /user/me Response Example Source: https://docs.gitflic.ru/latest/api/user Example JSON response for the GET /user/me endpoint, which returns the details of the currently authenticated user including their email address. ```json { "id": "fbc3d462-aaaa-aaaa-aaaa-6990c978d786", "username": "user1", "name": "name", "email": "email@email.ru" "surname": "surname", "fullName": "name surname", "avatar": "https://gitflic.ru/upload/img/2731a61f-aaaa-aaaa-aaaa-a5ac13429653.jpg", "cover": "/upload/img/3b7780f1-aaaa-aaaa-aaaa-97e55d7bbdbb.jpg" } ``` -------------------------------- ### Get Pipeline Lifetime Settings Response Source: https://docs.gitflic.ru/latest/api/cicd Example JSON response returned by the GET pipeline-lifetime endpoints. ```json { "lifetime": 90, "ownerType": "COMPANY", "uuid": "986313a5-aaaa-aaaa-aaaa-56f719abb3a0", "enabled": true } ``` -------------------------------- ### Example import-tfs command Source: https://docs.gitflic.ru/latest/services/tfs_migration A concrete example of the import-tfs command using a specific archive path. ```bash import-tfs \ --archive-path ./gitflic-tfs-migration-700000000.zip \ --owner-email test@test.ru ``` -------------------------------- ### Get OAuth Application Response Source: https://docs.gitflic.ru/latest/api/settings Example JSON response returned by the GET /user/settings/oauth/{id} endpoint. ```json { "id": "7f8933c7-aaaa-aaaa-aaaa-dbc99a7cd104", "name": "Название", "description": "Описание", "clientId": "649947ce-aaaa-aaaa-aaaa-b4efb56bf198", "clientSecret": "650e54fa-aaaa-aaaa-aaaa-de6665173bf0", "homepageUrl": "https://example.com", "authCallbackUrl": "https://example.com", "standalone": false } ``` -------------------------------- ### POST create release - Example Response Source: https://docs.gitflic.ru/latest/api/release Example JSON response for POST /project/{ownerAlias}/{projectAlias}/release with status 200. Contains release details with attachmentFiles set to null. ```json { "id": "d7750f4a-aaaa-aaaa-aaaa-954eeb8e3680", "title": "Название", "projectId": "c94aedd2-aaaa-aaaa-aaaa-67fbf1112a82", "authorId": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51", "description": "Описание", "tagName": "2.14.5", "commitId": "59de8c0611304aaaaaaaaaaaaac05f90483c6dfb", "createdAt": "2024-05-17T09:59:30.635513Z", "updatedAt": "2024-05-17T09:59:30.635515Z", "attachmentFiles": null, "preRelease": true } ``` -------------------------------- ### GET /company Response Example Source: https://docs.gitflic.ru/latest/api/company Example JSON response for a successful request to retrieve a list of public companies. ```json { "_embedded": { "companyList": [ { "id": "7c7e495a-aaaa-aaaa-aaaa-68becefbde5f", "alias": "testovaya-kompaniya", "title": "тестовая компания", "description": "Пример описания", "url": "test1.com", "contactPhone": null, "contactEmail": "user@gitflic.ru", "ownerAlias": "user1", "avatar": "https://gitflic.ru/upload/img/6c482659-aaaa-aaaa-aaaa-d4086f2d8251.jpg", "private": false, "selectorTitle": "тестовая компания", "selectorId": "7c7e495a-aaaa-aaaa-aaaa-68becefbde5f", "selectorOwnerAlias": null, "hexColor": null, "selectorAlias": null, "selectorColor": null, "selectorHash": null, }, { "id": "f931a10b-aaaa-aaaa-aaaa-16f4d4decda1", "alias": "publichnaya-kompaniya", "title": "публичная компания", "description": "Пример описания", "url": null, "contactPhone": "+79991234567", "contactEmail": "user@gitflic.ru", "ownerAlias": "user1", "avatar": "https://gitflic.ru/upload/img/4b0fab04-aaaa-aaaa-aaaa-ec70560fcae2.jpg", "private": false, "selectorTitle": "публичная компания", "selectorId": "f931a10b-aaaa-aaaa-aaaa-16f4d4decda1", "selectorOwnerAlias": null, "hexColor": null, "selectorAlias": null, "selectorColor": null, "selectorHash": null, } ] }, "page": { "size": 10, "totalElements": 2, "totalPages": 1, "number": 0 } } ``` -------------------------------- ### Загрузка пакета целиком для уровня проекта Source: https://docs.gitflic.ru/latest/registry/cran Команда install.packages для установки пакета из реестра GitFlic на уровне проекта. В URL подставьте значения переменных: packageName, username, транспортный токен, домен gitflic, ownerAlias, projectAlias. ```r install.packages('{packageName}', repos='https://{username}:{транспортный токен}@{домен gitflic}/project/{ownerAlias}/{projectAlias}/package/-/cran') ``` -------------------------------- ### Configure Project.toml Source: https://docs.gitflic.ru/latest/registry/julia Example Project.toml configuration for the generated package. Replace uuid, authors, and version as needed. ```toml [package] name = "MyNewPackage" uuid = "уникальный-uuid-модуля" authors = ["username "] version = "0.1.0" [compat] julia = "1.10" ``` -------------------------------- ### GET Merge Request Method Response Example Source: https://docs.gitflic.ru/latest/api/mergeRequest Example response returned when querying the merge request method type. ```json "MERGE_COMMIT" ``` -------------------------------- ### Register runner with URL and token Source: https://docs.gitflic.ru/latest/setup/runner/installshell Run the registration command with the copied URL and token. The --url and --registration-token (or --token) parameters are required. Optional parameters include --name and --tags. On success, the agent appears in the web interface and a config directory with application.properties is created. ```bash sudo java -jar runner.jar register --url --registration-token ``` -------------------------------- ### Get Merge Request Templates Response Source: https://docs.gitflic.ru/latest/api/mergeRequest Example JSON response for the GET request to retrieve merge request templates. ```json { "mergeCommitMessage": "Сообщение для merge commit", "squashCommitMessage": "Сообщение для squash commit", "mergeRequestDescriptionTemplate": "Стандартный текст для описания запроса на слияние", "canEditMergeCommitMessage": true } ``` -------------------------------- ### Get Merge Request Discussion Response Example Source: https://docs.gitflic.ru/latest/api/mergeRequestDiscussion Example JSON response returned when successfully retrieving a merge request discussion. ```json { "discussionUuid": null, "baseCommit": "e07892271de5c4aaaaaaaaaaaa5d1913c453d45d", "targetCommit": "e07892271de5c4aaaaaaaaaaaa5d1913c453d45d", "startCommit": "8ab2acb852f4beaaaaaaaaaaaa3b0f9cf1b4943c", "createdAt": "2025-01-01T12:00:00.00000Z", "newLine": 10, "oldLine": 10, "initialNewLine": 10, "newPath": "README.md", "oldPath": "README.md", "rawMessage": "Поправить здесь", "message": "Поправить здесь", "resolved": true, "resolvable": null, "mergeRequestUuid": "b7741169-aaaa-aaaa-aaaa-88714b46c558", "type": "MERGE_REQUEST_COMMENT", "author": { "id": "6736240a-aaaa-aaaa-aaaa-cab026562172", "username": "adminuser", "name": "Admin user", "surname": null, "fullName": "Admin user", "avatar": "https://gitflic.ru/static/image/avatar.jpg", "cover": "https://gitflic.ru/static/image/user-cover.png" }, "uuid": "a6bd97a8-aaaa-aaaa-aaaa-2729e030844f", "formatedDate": "1 час назад" } ``` -------------------------------- ### POST create release - Request Body Example Source: https://docs.gitflic.ru/latest/api/release Example JSON body for POST /project/{ownerAlias}/{projectAlias}/release. Includes title, description, tagName, preRelease, attachProjectArchive, and projectArchiveFormat (zip). ```json { "title": "Название", "description": "Описание", "tagName": "2.14.5", "preRelease": true, "attachProjectArchive": true, "projectArchiveFormat": zip } ``` -------------------------------- ### Get Default Branch Response Source: https://docs.gitflic.ru/latest/api/branch Example JSON response for a successful GET request to retrieve the project's default branch. ```json { "name": "newBranch", "fullName": "refs/heads/newBranch", "lastCommit": { "hash": "bfeeb9719fa590aaaaaaaaaaaab99186dba14f82", "message": "init\n", "shortMessage": "init", "createdAt": "2022-05-05T13:19:01Z", "committerIdent": { "name": "Ivan Ivanov", "avatar": "/static/image/avatar.jpg", "emailAddress": "user@mail.ru", "when": "2022-05-05T13:19:01Z" }, "authorIdent": { "name": "Ivan Ivanov", "avatar": "/static/image/avatar.jpg", "emailAddress": "user@mail.ru", "when": "2022-05-05T13:19:01Z" }, "user": { "id": "a10b86a3-aaaa-aaaa-aaaa-cea3dd8b6073", "username": "user", "name": name, "surname": surname, "fullName": "name surname", "avatar": "https://gitflic.ru/upload/img/d67527fd-aaaa-aaaa-aaaa-6269d204abe6.jpg" }, "verificationResult": null }, "default": true, "merged": false, "work": false } ``` -------------------------------- ### GET /user Source: https://docs.gitflic.ru/latest/api/pagination Example of a paginated GET request to /user with page and size query parameters, and the corresponding JSON response structure. ```APIDOC ## [GET] /user ### Description Returns a paginated list of user objects. The response includes a page object with pagination metadata. ### Method GET ### Endpoint /user ### Parameters #### Query Parameters - **page** (int) - Optional - Page number, starting from 0. Default is 0. - **size** (int) - Optional - Number of objects per page. Default is 10. ### Request Example GET /user?page=1&size=2 ### Response #### Success Response (200) - **_embedded.userList** (array) - List of user objects. - **page.size** (number) - Maximum number of elements displayed on the page. - **page.totalElements** (number) - Total number of elements. - **page.totalPages** (number) - Total number of pages. - **page.number** (number) - Current page number. #### Response Example { "_embedded": { "userList": [ { "id": "61e8fd05-aaaa-aaaa-aaaa-db72c2c33326", "username": "user1", "name": "name", "surname": "surname", "fullName": "name surname", "avatar": "https://gitflic.ru/upload/img/6ea2b7e0-aaaa-aaaa-aaaa-7120f2ce03c1.jpg" }, { "id": "25a7e267-aaaa-aaaa-aaaa-b9842af9804d", "username": "user2", "name": "name", "surname": "surname", "fullName": "name surname", "avatar": "https://gitflic.ru/upload/img/6ea2b7e0-aaaa-aaaa-aaaa-7120f2ce03c1.jpg" } ] }, "page": { "size": 2, "totalElements": 12, "totalPages": 6, "number": 2 } } ``` -------------------------------- ### POST /project/{ownerAlias}/{projectAlias}/setting/deploy-token/create Response Example Source: https://docs.gitflic.ru/latest/api/project Example JSON response containing the created deploy token details, including its UUID and assigned scopes. ```json { "token": "d36f5ae4-aaaa-aaaa-aaaa-5de5aae3dc3f", "tokenUuid": "b1f23eb4-aaaa-aaaa-aaaa-2f04e8564855", "expiresAt": "2025-01-01T00:00:00", "title": "Токен через API", "scopes": [ "REPOSITORY_READ", "REPOSITORY_WRITE" ] } ``` -------------------------------- ### Start the GitFlic CLI application Source: https://docs.gitflic.ru/latest/setup/cli Launch the application inside the container using the properties file. ```bash ./gitflic-cli.sh ./application.properties ``` -------------------------------- ### Get commit info - example JSON response Source: https://docs.gitflic.ru/latest/api/commit Example JSON response for GET /project/{ownerAlias}/{projectAlias}/commit/{hash} with status 200. Shows commit details including hash, message, author, committer, verification result, and parent commits. ```json { "hash": "01baf9f63e0060aaaaaaaaaaaab8b1cb3afa683c", "message": "Commit\n", "shortMessage": "Commit", "createdAt": "2022-04-26T13:38:14Z", "committerIdent": { "name": "User", "avatar": "/static/image/avatar.jpg", "emailAddress": "user@gmail.com", "when": "2022-04-26T13:38:14Z" }, "authorIdent": { "name": "User", "avatar": "/static/image/avatar.jpg", "emailAddress": "user@gmail.com", "when": "2022-04-26T13:38:14Z" }, "user": { "id": "a10b86a3-aaaa-aaaa-aaaa-cea3dd8b6073", "username": "user", "name": name, "surname": subname, "fullName": "name subname", "avatar": "https://gitflic.ru/upload/img/d67527fd-aaaa-aaaa-aaaa-6269d204abe6.jpg" }, "verificationResult": { "verified": true, "comment": null, "keyId": "aabbccdd11223344" }, "parentCommitIds": [ "25752fe5b62327aaaaaaaaaaaa641fb124dd94b7" ], "parentCommitBranches": [ "master" ] } ``` -------------------------------- ### POST /admin/settings/download-release Request Example Source: https://docs.gitflic.ru/latest/api/admin Example JSON body for configuring anonymous user access to download release files. ```json { "downloadFromAnonUserEnable" : "false" } ``` -------------------------------- ### Get SAML Connections List Source: https://docs.gitflic.ru/latest/api/admin Example JSON response for a successful GET /admin/saml request, returning a list of configured SAML connections. ```json { "_embedded": { "samlAdminApiModelList": [ { "uuid": "ebe95df1-aaaa-aaaa-aaaa-1419e9eae965", "name": "Keycloack", "idpMetadataUrl": "https://example.com", "idpIssuer": "login-app", "cert": "cert-cert-cert-cert-cert=", "idpInitiatedSsoUrl": "https://example.com" }, { "uuid": "136d6402-aaaa-aaaa-aaaa-5afacc9ced10", "name": "Gitflic", "idpMetadataUrl": "https://example.com", "idpIssuer": "Gitflic", "cert": "cert-cert-cert-cert-cert", "idpInitiatedSsoUrl": "https://example.com" } ] }, "page": { "size": 10, "totalElements": 2, "totalPages": 1, "number": 0 } } ``` -------------------------------- ### Get Project Pipelines Response Source: https://docs.gitflic.ru/latest/api/cicd Example JSON response for the GET /project/{ownerrAlias}/{projectAlias}/cicd/pipeline endpoint, returning a list of project pipelines. ```json { "_embedded": { "restPipelineModelList": [ { "id": "d4b27a95-aaaa-aaaa-aaaa-97632f700b27", "status": "SUCCESS", "duration": 3, "localId": 2, "commitId": "86d949be6ec074aaaaaaaaaaaad98acef85341f7", "projectId": "f980649d-aaaa-aaaa-aaaa-40102294aa2d", "userId": "02d57aff-aaaa-aaaa-aaaa-9edc50257a42", "beforeCommitId": null, "ref": "master", "source": "WEB", "configSource": null, "failureReason": null, "startedAt": null, "finishedAt": "2024-09-19T15:08:11.026116", "createdAt": "2024-09-19T15:08:06.97725", "tag": false }, { "id": "19975dcd-aaaa-aaaa-aaaa-bbd6494c5bc0", "status": "SUCCESS", "duration": 3, "localId": 1, "commitId": "6d8b6e82f18c5eaaaaaaaaaaaa21e1e1e3a16f2b", "projectId": "f980649d-aaaa-aaaa-aaaa-40102294aa2d", "userId": "02d57aff-aaaa-aaaa-aaaa-9edc50257a42", "beforeCommitId": null, "ref": "master", "source": "PUSH", "configSource": null, "failureReason": null, "startedAt": null, "finishedAt": "2024-09-19T15:07:50.840049", "createdAt": "2024-09-19T15:06:11.109839", "tag": false } ] }, "page": { "size": 10, "totalElements": 2, "totalPages": 1, "number": 0 } } ``` -------------------------------- ### Import certificate example (ya.ru) Source: https://docs.gitflic.ru/latest/admin_panel/ldap Concrete example of importing the ya.ru certificate into the Java 18 cacerts keystore. When prompted for the keystore password, try pressing Enter or use 'changeit'. ```bash keytool -import -alias ya.ru -file ~/tmp/ya.crt -keystore /usr/lib/jvm/java-18-openjdk-amd64/lib/security/cacerts ``` -------------------------------- ### Create and enter migration directory Source: https://docs.gitflic.ru/latest/services/svn_migration Creates the migration directory, changes into it, and verifies the current directory. ```bash mkdir -p "$MIGRATION_DIR" ``` ```bash cd "$MIGRATION_DIR" ``` ```bash pwd ``` -------------------------------- ### Download package from project registry Source: https://docs.gitflic.ru/latest/registry/pypi Command to install a package from a project registry. Replace <имя пакета>, <домен gitflic>, <алиас владельца>, and <алиас проекта> with actual values. ```bash pip install <имя пакета> --index-url https://<домен gitflic>/project/<алиас владельца>/<алиас проекта>/package/-/pypi/simple ``` -------------------------------- ### Install Axiom JDK Source: https://docs.gitflic.ru/latest/setup/gitflic_app/astra_setup_and_start Steps to copy the deb package to a remote server, install it, and verify the version. ```bash scp axiomjdk11-*.deb @:~/ ``` ```bash sudo apt install ./axiomjdk11*.deb ``` ```bash java --version ```