mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-12-30 08:35:33 +08:00
Feat: Gitlab connector (#12248)
### What problem does this PR solve? Feat: Gitlab connector Fix: submit button in darkmode ### Type of change - [x] New Feature (non-breaking change which adds functionality) --------- Co-authored-by: Kevin Hu <kevinhu.sh@gmail.com>
This commit is contained in:
2
web/src/assets/svg/data-source/gitlab.svg
Normal file
2
web/src/assets/svg/data-source/gitlab.svg
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||
<svg width="800px" height="800px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><title>file_type_gitlab</title><polygon points="16 28.896 16 28.896 21.156 13.029 10.844 13.029 16 28.896" style="fill:#e24329"/><polygon points="16 28.896 10.844 13.029 3.619 13.029 16 28.896" style="fill:#fc6d26"/><path d="M3.619,13.029h0L2.052,17.851a1.067,1.067,0,0,0,.388,1.193L16,28.9,3.619,13.029Z" style="fill:#fca326"/><path d="M3.619,13.029h7.225L7.739,3.473a.534.534,0,0,0-1.015,0L3.619,13.029Z" style="fill:#e24329"/><polygon points="16 28.896 21.156 13.029 28.381 13.029 16 28.896" style="fill:#fc6d26"/><path d="M28.381,13.029h0l1.567,4.822a1.067,1.067,0,0,1-.388,1.193L16,28.9,28.381,13.029Z" style="fill:#fca326"/><path d="M28.381,13.029H21.156l3.105-9.557a.534.534,0,0,1,1.015,0l3.105,9.557Z" style="fill:#e24329"/></svg>
|
||||
|
After Width: | Height: | Size: 946 B |
@ -929,6 +929,8 @@ Beispiel: Virtual Hosted Style`,
|
||||
'Verbinden Sie Ihr Gmail über OAuth, um E-Mails zu synchronisieren.',
|
||||
webdavDescription:
|
||||
'Verbinden Sie sich mit WebDAV-Servern, um Dateien zu synchronisieren.',
|
||||
gitlabDescription:
|
||||
'Verbinden Sie GitLab, um Repositories, Issues, Merge Requests und zugehörige Dokumentation zu synchronisieren.',
|
||||
webdavRemotePathTip:
|
||||
'Optional: Geben Sie einen Ordnerpfad auf dem WebDAV-Server an (z.B. /Dokumente). Lassen Sie das Feld leer, um vom Stammverzeichnis aus zu synchronisieren.',
|
||||
google_driveTokenTip:
|
||||
|
||||
@ -933,6 +933,8 @@ Example: Virtual Hosted Style`,
|
||||
boxDescription: 'Connect your Box drive to sync files and folders.',
|
||||
airtableDescription:
|
||||
'Connect to Airtable and synchronize files from a specified table within a designated workspace.',
|
||||
gitlabDescription:
|
||||
'Connect GitLab to sync repositories, issues, merge requests, and related documentation.',
|
||||
asanaDescription:
|
||||
'Connect to Asana and synchronize files from a specified workspace.',
|
||||
dropboxAccessTokenTip:
|
||||
|
||||
@ -749,6 +749,8 @@ export default {
|
||||
'Подключите ваш диск Box для синхронизации файлов и папок.',
|
||||
airtableDescription:
|
||||
'Подключите Airtable и синхронизируйте файлы из указанной таблицы в заданном рабочем пространстве.',
|
||||
gitlabDescription:
|
||||
'Подключите GitLab для синхронизации репозиториев, задач, merge requests и связанной документации.',
|
||||
asanaDescription:
|
||||
'Подключите Asana и синхронизируйте файлы из рабочего пространства.',
|
||||
google_driveDescription:
|
||||
|
||||
@ -547,6 +547,8 @@ export default {
|
||||
avatar: '头像',
|
||||
avatarTip: '這會在你的個人主頁展示',
|
||||
profileDescription: '在此更新您的照片和個人詳細信息。',
|
||||
gitlabDescription:
|
||||
'連接 GitLab,同步儲存庫、Issue、合併請求(MR)及相關文件內容。',
|
||||
bedrockCredentialsHint:
|
||||
'提示:Access Key / Secret Key 可留空,以啟用 AWS IAM 自動驗證。',
|
||||
awsAuthModeAccessKeySecret: 'Access Key 和 Secret',
|
||||
|
||||
@ -862,6 +862,8 @@ General:实体和关系提取提示来自 GitHub - microsoft/graphrag:基于
|
||||
dropboxDescription: '连接 Dropbox,同步指定账号下的文件与文件夹。',
|
||||
boxDescription: '连接你的 Box 云盘以同步文件和文件夹。',
|
||||
airtableDescription: '连接 Airtable,同步指定工作区下指定表格中的文件。',
|
||||
gitlabDescription:
|
||||
'连接 GitLab,同步仓库、Issue、合并请求(MR)及相关文档内容。',
|
||||
asanaDescription: '连接 Asana,同步工作区中的文件。',
|
||||
r2Description: '连接你的 Cloudflare R2 存储桶以导入和同步文件。',
|
||||
dropboxAccessTokenTip:
|
||||
|
||||
@ -25,6 +25,7 @@ export enum DataSourceKey {
|
||||
OCI_STORAGE = 'oci_storage',
|
||||
GOOGLE_CLOUD_STORAGE = 'google_cloud_storage',
|
||||
AIRTABLE = 'airtable',
|
||||
GITLAB = 'gitlab',
|
||||
ASANA = 'asana',
|
||||
// SHAREPOINT = 'sharepoint',
|
||||
// SLACK = 'slack',
|
||||
@ -110,6 +111,11 @@ export const generateDataSourceInfo = (t: TFunction) => {
|
||||
description: t(`setting.${DataSourceKey.AIRTABLE}Description`),
|
||||
icon: <SvgIcon name={'data-source/airtable'} width={38} />,
|
||||
},
|
||||
[DataSourceKey.GITLAB]: {
|
||||
name: 'GitLab',
|
||||
description: t(`setting.${DataSourceKey.GITLAB}Description`),
|
||||
icon: <SvgIcon name={'data-source/gitlab'} width={38} />,
|
||||
},
|
||||
[DataSourceKey.ASANA]: {
|
||||
name: 'Asana',
|
||||
description: t(`setting.${DataSourceKey.ASANA}Description`),
|
||||
@ -658,6 +664,54 @@ export const DataSourceFormFields = {
|
||||
required: true,
|
||||
},
|
||||
],
|
||||
[DataSourceKey.GITLAB]: [
|
||||
{
|
||||
label: 'Project Owner',
|
||||
name: 'config.project_owner',
|
||||
type: FormFieldType.Text,
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
label: 'Project Name',
|
||||
name: 'config.project_name',
|
||||
type: FormFieldType.Text,
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
label: 'GitLab Personal Access Token',
|
||||
name: 'config.credentials.gitlab_access_token',
|
||||
type: FormFieldType.Password,
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
label: 'GitLab URL',
|
||||
name: 'config.gitlab_url',
|
||||
type: FormFieldType.Text,
|
||||
required: true,
|
||||
placeholder: 'https://gitlab.com',
|
||||
},
|
||||
{
|
||||
label: 'include Merge Requests',
|
||||
name: 'config.include_mrs',
|
||||
type: FormFieldType.Checkbox,
|
||||
required: false,
|
||||
defaultValue: true,
|
||||
},
|
||||
{
|
||||
label: 'include Issues',
|
||||
name: 'config.include_issues',
|
||||
type: FormFieldType.Checkbox,
|
||||
required: false,
|
||||
defaultValue: true,
|
||||
},
|
||||
{
|
||||
label: 'include Code Files',
|
||||
name: 'config.include_code_files',
|
||||
type: FormFieldType.Checkbox,
|
||||
required: false,
|
||||
defaultValue: true,
|
||||
},
|
||||
],
|
||||
[DataSourceKey.ASANA]: [
|
||||
{
|
||||
label: 'API Token',
|
||||
@ -883,6 +937,21 @@ export const DataSourceFormDefaultValues = {
|
||||
},
|
||||
},
|
||||
},
|
||||
[DataSourceKey.GITLAB]: {
|
||||
name: '',
|
||||
source: DataSourceKey.GITLAB,
|
||||
config: {
|
||||
project_owner: '',
|
||||
project_name: '',
|
||||
gitlab_url: 'https://gitlab.com',
|
||||
include_mrs: true,
|
||||
include_issues: true,
|
||||
include_code_files: true,
|
||||
credentials: {
|
||||
gitlab_access_token: '',
|
||||
},
|
||||
},
|
||||
},
|
||||
[DataSourceKey.ASANA]: {
|
||||
name: '',
|
||||
source: DataSourceKey.ASANA,
|
||||
|
||||
Reference in New Issue
Block a user