diff --git a/docker-images/core/ci/dockerfile/backend.bkci.Dockerfile b/docker-images/core/ci/dockerfile/backend.bkci.Dockerfile index e41d7da2f9e..b14b5de8a03 100644 --- a/docker-images/core/ci/dockerfile/backend.bkci.Dockerfile +++ b/docker-images/core/ci/dockerfile/backend.bkci.Dockerfile @@ -6,9 +6,10 @@ ENV LANG="en_US.UTF-8" RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \ echo 'Asia/Shanghai' > /etc/timezone && \ - yum update -y && \ - yum install mysql -y && \ + yum update -y &&\ yum install -y epel-release &&\ + yum install -y mysql &&\ + yum install -y redis &&\ yum install -y python3 &&\ pip3 install requests diff --git a/helm-charts/core/ci/build/values.yaml b/helm-charts/core/ci/build/values.yaml index 88754aaf3e6..67d7a9f3169 100644 --- a/helm-charts/core/ci/build/values.yaml +++ b/helm-charts/core/ci/build/values.yaml @@ -64,6 +64,23 @@ init: turbo: true bkrepo: true defaultImage: true + plugin: + enabled: true + atoms: + - url: https://github.com/TencentBlueKing/ci-checkout/releases/download/v2.0.12/checkout.zip + code: checkout + - url: https://github.com/TencentBlueKing/ci-run/releases/download/v1.0.2/run-v1.0.2.zip + code: run + - url: https://github.com/TencentBlueKing/ci-SubPipelineExec/releases/download/v1.0.4/ci-SubPipelineExec.zip + code: SubPipelineExec + - url: https://github.com/TencentBlueKing/ci-uploadArtifact/releases/download/v2.0.1/uploadArtifact_en.zip + code: uploadArtifact + - url: https://github.com/TencentBlueKing/ci-uploadReport/releases/download/v1.0.1/uploadReport_en.zip + code: uploadReport + - url: https://github.com/TencentBlueKing/ci-AcrossProjectDistribution/releases/download/v1.1.1/AcrossProjectDistribution_en.zip + code: AcrossProjectDistribution + - url: https://github.com/TencentBlueKing/ci-downloadArtifact/releases/download/v1.0.2/downloadArtifact_en.zip + code: downloadArtifact # 多集群开关 multiCluster: diff --git a/helm-charts/core/ci/templates/configmap/monitoring-configmap.yaml b/helm-charts/core/ci/templates/configmap/monitoring-configmap.yaml new file mode 100644 index 00000000000..ecccf9c8b27 --- /dev/null +++ b/helm-charts/core/ci/templates/configmap/monitoring-configmap.yaml @@ -0,0 +1,18 @@ +#monitoring configmap +{{ if .Values.configmap.enabled -}} +kind: ConfigMap +apiVersion: v1 +metadata: + name: {{ include "bkci.names.fullname" . }}-monitoring + labels: {{- include "bkci.labels.standard" . | nindent 4 }} + app.kubernetes.io/component: monitoring + {{- if .Values.commonLabels }} + {{- include "common.tplvalues.render" (dict "value" .Values.commonLabels "context" $) | nindent 4 }} + {{- end }} + {{- if .Values.commonAnnotations }} + annotations: {{- include "common.tplvalues.render" (dict "value" .Values.commonAnnotations "context" $) | nindent 4 }} + {{- end }} +data: + application.yml: |- + {{- include "bkci.monitoring.yaml" . | nindent 4 -}} +{{- end -}} diff --git a/helm-charts/core/ci/templates/init/init.defaultImages.yaml b/helm-charts/core/ci/templates/init/init.defaultImages.yaml index 5765d841149..dca10a37204 100644 --- a/helm-charts/core/ci/templates/init/init.defaultImages.yaml +++ b/helm-charts/core/ci/templates/init/init.defaultImages.yaml @@ -25,7 +25,18 @@ spec: - "/bin/bash" - "-c" - | - sleep 240s; + services="store project" + for service in $services + do + until curl --connect-timeout 3 -m 1 -s "http://{{ include "bkci.names.fullname" . }}-$service.{{ .Release.Namespace }}.svc.cluster.local" > nohup + do + echo "waiting for {{ include "bkci.names.fullname" . }}-$service"; + sleep 2; + done + echo "{{ include "bkci.names.fullname" . }}-$service is available"; + done + + echo "{{ include "bkci.names.fullname" . }}-store is available"; curl "http://{{ include "bkci.names.fullname" . }}-store.{{ .Release.Namespace }}.svc.cluster.local/api/op/market/image/init" -X POST restartPolicy: OnFailure {{- end -}} diff --git a/helm-charts/core/ci/templates/init/init.plugin.yaml b/helm-charts/core/ci/templates/init/init.plugin.yaml new file mode 100644 index 00000000000..0f20d71f28c --- /dev/null +++ b/helm-charts/core/ci/templates/init/init.plugin.yaml @@ -0,0 +1,65 @@ +# 初始化商店插件 +{{ if .Values.init.plugin.enabled }} +apiVersion: batch/v1 +kind: Job +metadata: + name: {{ include "bkci.names.fullname" . }}-init-plugin + labels: {{- include "bkci.labels.standard" . | nindent 4 }} + app.kubernetes.io/component: init-plugin + annotations: + "helm.sh/hook": post-install,post-upgrade + "helm.sh/hook-weight": "0" + "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded +spec: + template: + metadata: + labels: {{- include "bkci.labels.standard" . | nindent 8 }} + app.kubernetes.io/component: init-plugin + spec: + containers: + - name: init-plugin + image: {{ include "common.images.image" ( dict "imageRoot" .Values.backendImage "global" $) }} + imagePullPolicy: {{ .Values.backendImage.pullPolicy }} + workingDir: /data/workspace/ + {{ $mysqlData := split ":" (include "bkci.mysqlAddr" .) }} + command: + - "/bin/bash" + - "-c" + - | + services="store artifactory" + for service in $services + do + until curl --connect-timeout 3 -m 1 -s "http://{{ include "bkci.names.fullname" . }}-$service.{{ .Release.Namespace }}.svc.cluster.local" > nohup + do + echo "waiting for {{ include "bkci.names.fullname" . }}-$service"; + sleep 2; + done + echo "{{ include "bkci.names.fullname" . }}-$service is available"; + done + + touch atom.sql + touch atom.redis + + {{ range .Values.init.plugin.atoms }} + atom_code={{ .code }} + check_atom_url=http://{{ include "bkci.names.fullname" $ }}-store.{{ $.Release.Namespace }}.svc.cluster.local/api/service/pipeline/atom/codes/$atom_code/versions/1.0.0 + check_atom_response=$(curl -s $check_atom_url) + if [ -z $(echo $check_atom_response | grep -o "atomCode") ]; then + atom_url={{ .url }} + atom_file=${atom_code}.zip + curl -s $atom_url -o $atom_file -L + if [ $? -eq 0 ]; then + curl "http://{{ include "bkci.names.fullname" $ }}-store.{{ $.Release.Namespace }}.svc.cluster.local/api/op/pipeline/atom/deploy" -H "X-DEVOPS-UID: admin" -F atomCode=$atom_code -F file=@$atom_file + fi + else + echo "atomCode exists" + fi + + echo 'UPDATE devops_ci_store.T_ATOM SET DEFAULT_FLAG=true WHERE ATOM_CODE="$atom_code"' >> atom.sql + echo 'SADD STORE_PUBLIC_FLAG_KEY:ATOM $atom_code' >> atom.redis + {{ end }} + + mysql -u{{- include "bkci.mysqlUsername" . }} -p{{- include "bkci.mysqlPassword" . }} -h{{ $mysqlData._0 }} -P{{ $mysqlData._1 }} < atom.sql + redis-cli -h {{ include "bkci.redisHost" . }} -a {{ include "bkci.redisPassword" . }} -p {{ include "bkci.redisPort" . }} < atom.redis + restartPolicy: OnFailure +{{- end -}} diff --git a/src/backend/ci/core/auth/biz-auth-blueking/build.gradle.kts b/src/backend/ci/core/auth/biz-auth-blueking/build.gradle.kts index b32ebb084c6..8cc765e68ed 100644 --- a/src/backend/ci/core/auth/biz-auth-blueking/build.gradle.kts +++ b/src/backend/ci/core/auth/biz-auth-blueking/build.gradle.kts @@ -30,6 +30,7 @@ dependencies { api(project(":core:common:common-client")) api(project(":core:common:common-auth:common-auth-api")) api(project(":core:common:common-auth:common-auth-v3")) + api(project(":core:common:common-auth:common-auth-mock")) api(project(":core:project:api-project-sample")) api(project(":core:process:api-process")) api(project(":core:repository:api-repository")) diff --git a/support-files/sql/5001_ci_store-init_dml_mysql.sql b/support-files/sql/5001_ci_store-init_dml_mysql.sql index 5d863a006c5..917228e101c 100755 --- a/support-files/sql/5001_ci_store-init_dml_mysql.sql +++ b/support-files/sql/5001_ci_store-init_dml_mysql.sql @@ -1,22 +1,10 @@ SET NAMES utf8mb4; use devops_ci_store; -REPLACE INTO `T_ATOM` (`ID`, `NAME`, `ATOM_CODE`, `CLASS_TYPE`, `SERVICE_SCOPE`, `JOB_TYPE`, `OS`, `CLASSIFY_ID`, `DOCS_LINK`, `ATOM_TYPE`, `ATOM_STATUS`, `ATOM_STATUS_MSG`, `SUMMARY`, `DESCRIPTION`, `CATEGROY`, `VERSION`, `LOGO_URL`, `ICON`, `DEFAULT_FLAG`, `LATEST_FLAG`, `BUILD_LESS_RUN_FLAG`, `REPOSITORY_HASH_ID`, `CODE_SRC`, `PAY_FLAG`, `HTML_TEMPLATE_VERSION`, `PROPS`, `DATA`, `PUBLISHER`, `WEIGHT`, `CREATOR`, `MODIFIER`, `CREATE_TIME`, `UPDATE_TIME`, `VISIBILITY_LEVEL`) VALUES - ('0040d6cada704faf843cd28f5e787e61', 'Checkout gitlab', 'CODE_GITLAB', 'CODE_GITLAB', '[ \"pipeline\" ]', 'AGENT', '[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]', 'babff353027b4763a7fd127f61ae80e7', '', 0, 7, NULL, '', '', 1, '1.0.0', '/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FCODE_GITLAB.png&logo=true', NULL, True, True, True, NULL, NULL, False, '1.0', '{\"repositoryHashId\":{\"rule\":{},\"hasAddItem\":true,\"component\":\"request-selector\",\"required\":true,\"label\":\"代码库\",\"searchable\":true,\"default\":\"\",\"url\":\"/repository/api/user/repositories/{projectId}/hasPermissionList?permission=USE&repositoryType=CODE_GITLAB&page=1&pageSize=100\",\"paramId\":\"repositoryHashId\",\"paramName\":\"aliasName\",\"tools\":{\"edit\":true,\"del\":false}},\"gitPullMode\":{\"rule\":{\"pullmode\":true},\"component\":\"code-mode-selector\",\"required\":true,\"text\":\"指定拉取方式\",\"default\":\"\"},\"path\":{\"rule\":{},\"type\":\"text\",\"component\":\"vuex-input\",\"label\":\"代码保存路径\",\"required\":false,\"default\":\"\",\"placeholder\":\"请填写工作空间相对目录,不填则默认为工作空间根目录\",\"desc\":\"指定一个相对于当前工作空间的目录路径存放下拉的代码\"},\"strategy\":{\"rule\":{},\"type\":\"enum\",\"component\":\"enum-input\",\"required\":true,\"label\":\"拉取策略\",\"list\":[{\"value\":\"REVERT_UPDATE\",\"label\":\"Revert Update\"},{\"value\":\"FRESH_CHECKOUT\",\"label\":\"Fresh Checkout\"},{\"value\":\"INCREMENT_UPDATE\",\"label\":\"Increment Update\"}],\"default\":\"REVERT_UPDATE\",\"desc\":\"Revert Update: 增量,每次先\\\"git revert\\\",再\\\"git pull\\\"\\n\\n Fresh Checkout: 全量,每次都会全新clone代码,之前会delete整个工作空间\\n\\n Increment Update: 增量,只使用\\\"git pull\\\",并不清除冲突及历史缓存文件\"},\"enableSubmodule\":{\"rule\":{},\"type\":\"boolean\",\"component\":\"atom-checkbox\",\"required\":false,\"text\":\"启用Submodule\",\"default\":true,\"desc\":\"勾选则启用Submodule,不勾选则不启用\"}}', '{}', 'system', 0, 'system', 'system', '2019-02-28 15:21:12', '2019-04-24 16:40:32', 0); REPLACE INTO `T_ATOM` (`ID`, `NAME`, `ATOM_CODE`, `CLASS_TYPE`, `SERVICE_SCOPE`, `JOB_TYPE`, `OS`, `CLASSIFY_ID`, `DOCS_LINK`, `ATOM_TYPE`, `ATOM_STATUS`, `ATOM_STATUS_MSG`, `SUMMARY`, `DESCRIPTION`, `CATEGROY`, `VERSION`, `LOGO_URL`, `ICON`, `DEFAULT_FLAG`, `LATEST_FLAG`, `BUILD_LESS_RUN_FLAG`, `REPOSITORY_HASH_ID`, `CODE_SRC`, `PAY_FLAG`, `HTML_TEMPLATE_VERSION`, `PROPS`, `DATA`, `PUBLISHER`, `WEIGHT`, `CREATOR`, `MODIFIER`, `CREATE_TIME`, `UPDATE_TIME`, `VISIBILITY_LEVEL`) VALUES ('0a1c7837b53e4c459c50f3228f0ed317', 'Timer', 'timerTrigger', 'timerTrigger', '', 'AGENT', '[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]', 'e1bea5430f574f9ea3e0312dc7de9efa', '', 0, 7, NULL, '可通过后台定时任务方式启动流水线,支持快速定时和linux crontab高级定时', '可通过后台定时任务方式启动流水线,支持快速定时和linux crontab高级定时', 0, '1.0.0', '/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FtimerTrigger.png&logo=true', NULL, True, True, False, NULL, NULL, False, '1.0', '{\"newExpression\":{\"label\":\"基础规则\",\"required\":true,\"component\":\"cron-timer\"},\"advanceExpression\":{\"label\":\"计划任务规则\",\"required\":false,\"component\":\"vuex-textarea\"},\"noScm\":{\"component\":\"atom-checkbox\",\"required\":false}}', '{}', 'system', 8, 'system', 'system', '2019-03-04 18:09:39', '2019-04-18 13:41:48', 0); -REPLACE INTO `T_ATOM` (`ID`, `NAME`, `ATOM_CODE`, `CLASS_TYPE`, `SERVICE_SCOPE`, `JOB_TYPE`, `OS`, `CLASSIFY_ID`, `DOCS_LINK`, `ATOM_TYPE`, `ATOM_STATUS`, `ATOM_STATUS_MSG`, `SUMMARY`, `DESCRIPTION`, `CATEGROY`, `VERSION`, `LOGO_URL`, `ICON`, `DEFAULT_FLAG`, `LATEST_FLAG`, `BUILD_LESS_RUN_FLAG`, `REPOSITORY_HASH_ID`, `CODE_SRC`, `PAY_FLAG`, `HTML_TEMPLATE_VERSION`, `PROPS`, `DATA`, `PUBLISHER`, `WEIGHT`, `CREATOR`, `MODIFIER`, `CREATE_TIME`, `UPDATE_TIME`, `VISIBILITY_LEVEL`) VALUES - ('0a725392ced3451fa42e0a0949f7298e', 'Call pipeline', 'subPipelineCall', 'subPipelineCall', '[ \"pipeline\" ]', 'AGENT_LESS', '[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]', 'e5de5b6e525e4b0abf6b1d88d2242fe7', '', 0, 7, NULL, '以同步/异步的方式调用当前项目内的其它流水线', '以同步/异步的方式调用当前项目内的其它流水线', 1, '1.0.0', '/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FsubPipelineCall.png&logo=true', NULL, True, True, False, NULL, NULL, False, '1.0', '{\"subPipelineId\":{\"rule\":{},\"url\":\"/process/api/user/pipelines/{projectId}/hasPermissionList?permission=EXECUTE&excludePipelineId={pipelineId}&limit=-1\",\"component\":\"request-selector\",\"required\":true,\"label\":\"子流水线\",\"searchable\":true,\"default\":\"\",\"paramId\":\"pipelineId\",\"paramName\":\"pipelineName\",\"hidden\":false,\"desc\":\"选择其他流水线并执行\"},\"asynchronous\":{\"rule\":{},\"type\":\"enum\",\"component\":\"enum-input\",\"required\":true,\"label\":\"执行方式\",\"list\":[{\"value\":false,\"label\":\"同步\"},{\"value\":true,\"label\":\"异步\"}],\"default\":true,\"desc\":\"同步:触发后继续等待执行结果,有结果后再决定是否继续\\n 异步:触发成功后继续,不会等待\"},\"parameters\":{\"rule\":{},\"url\":\"/process/api/user/builds/{projectId}/{pipelineId}/manualStartupInfo\",\"component\":\"params-view\",\"required\":false,\"label\":\"参数\"}}', '{}', 'system', 1, 'system', 'system', '2019-03-04 18:09:41', '2019-04-18 14:30:07', 0); -REPLACE INTO `T_ATOM` (`ID`, `NAME`, `ATOM_CODE`, `CLASS_TYPE`, `SERVICE_SCOPE`, `JOB_TYPE`, `OS`, `CLASSIFY_ID`, `DOCS_LINK`, `ATOM_TYPE`, `ATOM_STATUS`, `ATOM_STATUS_MSG`, `SUMMARY`, `DESCRIPTION`, `CATEGROY`, `VERSION`, `LOGO_URL`, `ICON`, `DEFAULT_FLAG`, `LATEST_FLAG`, `BUILD_LESS_RUN_FLAG`, `REPOSITORY_HASH_ID`, `CODE_SRC`, `PAY_FLAG`, `HTML_TEMPLATE_VERSION`, `PROPS`, `DATA`, `PUBLISHER`, `WEIGHT`, `CREATOR`, `MODIFIER`, `CREATE_TIME`, `UPDATE_TIME`, `VISIBILITY_LEVEL`) VALUES - ('21ecf2043eee4ad29ccddc63620f35f7', 'Upload artifacts', 'singleArchive', 'singleArchive', '[ \"pipeline\" ]', 'AGENT', '[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]', '75c96e7aa24f481789300cd1737b1ae1', '', 0, 7, NULL, 'Upload a build artifact that can be used by subsequent jobs', 'Upload a build artifact that can be used by subsequent jobs', 1, '1.0.0', '/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FsingleArchive.png&logo=true', NULL, True, True, False, NULL, NULL, False, '1.0', '{\"filePath\":{\"rule\":{},\"type\":\"text\",\"component\":\"vuex-input\",\"required\":true,\"label\":\"path\",\"placeholder\":\"A file, directory or wildcard pattern that describes what to upload\",\"default\":\"\",\"desc\":\"A file, directory or wildcard pattern that describes what to upload\"},\"customize\":{\"rule\":{},\"type\":\"boolean\",\"component\":\"atom-checkbox\",\"text\":\"Upload to a custom path\",\"default\":false,\"desc\":\"Upload a build artifact to a custom path, in order to share with other pipelines\",\"tips\":\"function (element, urlJoin, handlePath) {\\n const { filePath, destPath, customize } = element\\n const srcPrefix = filePath.startsWith(''/'') ? '''' : ''${WORKSPACE}/''\\n const destPrefix = customize ? ''Artifacts/'' : ''Artifacts/${PIPELINE_NAME}/${BUILD_ID}/''\\n\\n return {\\n visible: !!filePath && !customize,\\n srcTips: urlJoin(srcPrefix, handlePath(filePath)),\\n pathTips: urlJoin(destPrefix, handlePath(destPath), handlePath(filePath, true))\\n }\\n }\"},\"destPath\":{\"rule\":{},\"type\":\"text\",\"component\":\"vuex-input\",\"label\":\"\",\"placeholder\":\"start with ./, end with /\",\"default\":\"./\",\"isHidden\":\"function (element) { return !element.customize }\",\"tips\":\"function (element, urlJoin, handlePath) {\\n const { filePath, destPath, customize } = element\\n const srcPrefix = filePath.startsWith(''/'') ? '''' : ''${WORKSPACE}/''\\n const destPrefix = customize ? ''Artifacts/'' : ''Artifacts/${PIPELINE_NAME}/${BUILD_ID}/''\\n\\n return {\\n visible: !!filePath && customize,\\n srcTips: urlJoin(srcPrefix, handlePath(filePath)),\\n pathTips: urlJoin(destPrefix, handlePath(destPath), handlePath(filePath, true))\\n }\\n }\"}}', '{}', 'system', 93, 'system', 'system', '2019-03-04 18:09:40', '2019-04-18 13:37:27', 0); -REPLACE INTO `T_ATOM` (`ID`, `NAME`, `ATOM_CODE`, `CLASS_TYPE`, `SERVICE_SCOPE`, `JOB_TYPE`, `OS`, `CLASSIFY_ID`, `DOCS_LINK`, `ATOM_TYPE`, `ATOM_STATUS`, `ATOM_STATUS_MSG`, `SUMMARY`, `DESCRIPTION`, `CATEGROY`, `VERSION`, `LOGO_URL`, `ICON`, `DEFAULT_FLAG`, `LATEST_FLAG`, `BUILD_LESS_RUN_FLAG`, `REPOSITORY_HASH_ID`, `CODE_SRC`, `PAY_FLAG`, `HTML_TEMPLATE_VERSION`, `PROPS`, `DATA`, `PUBLISHER`, `WEIGHT`, `CREATOR`, `MODIFIER`, `CREATE_TIME`, `UPDATE_TIME`, `VISIBILITY_LEVEL`) VALUES - ('440777dc24fe4aeca1e51d813214b05f', 'Downlad artifacts(custom path)', 'customizeArchiveGet', 'customizeArchiveGet', '[ \"pipeline\" ]', 'AGENT', '[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]', '75c96e7aa24f481789300cd1737b1ae1', '', 0, 7, NULL, 'Download a build artifact that was previously uploaded in the pipeline by the Upload artifact task', 'Download a build artifact that was previously uploaded in the pipeline by the Upload artifact task', 1, '1.0.0', '/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FcustomizeArchiveGet.png&logo=true', NULL, True, True, True, NULL, NULL, False, '1.0', '{\"downloadPaths\":{\"rule\":{},\"type\":\"text\",\"required\":true,\"component\":\"vuex-input\",\"label\":\"path\",\"placeholder\":\"path to download,separate multiple path with commas, wildcard pattern are available\",\"default\":\"\",\"desc\":\"Example: tmp/aa.txt\"},\"destPath\":{\"rule\":{},\"type\":\"text\",\"component\":\"vuex-input\",\"label\":\"local path\",\"placeholder\":\"local path, for example: ./build/\",\"default\":\"\",\"desc\":\"local path, for example: ./build/\",\"tips\":\"function (element, urlJoin, handlePath) {\\n const { downloadPaths, destPath } = element\\n const prefix = ''Artifacts/''\\n \\n return {\\n visible: !!downloadPaths,\\n srcTips: urlJoin(prefix, handlePath(downloadPaths)),\\n pathTips: urlJoin(''${WORKSPACE}/'', destPath, handlePath(downloadPaths, true))\\n }\\n }\"},\"notFoundContinue\":{\"rule\":{},\"type\":\"boolean\",\"component\":\"atom-checkbox\",\"required\":true,\"text\":\"continue on 0 file\",\"default\":false}}', '{}', 'system', 1, 'system', 'system', '2019-03-04 18:09:40', '2019-04-18 13:38:14', 0); -REPLACE INTO `T_ATOM` (`ID`, `NAME`, `ATOM_CODE`, `CLASS_TYPE`, `SERVICE_SCOPE`, `JOB_TYPE`, `OS`, `CLASSIFY_ID`, `DOCS_LINK`, `ATOM_TYPE`, `ATOM_STATUS`, `ATOM_STATUS_MSG`, `SUMMARY`, `DESCRIPTION`, `CATEGROY`, `VERSION`, `LOGO_URL`, `ICON`, `DEFAULT_FLAG`, `LATEST_FLAG`, `BUILD_LESS_RUN_FLAG`, `REPOSITORY_HASH_ID`, `CODE_SRC`, `PAY_FLAG`, `HTML_TEMPLATE_VERSION`, `PROPS`, `DATA`, `PUBLISHER`, `WEIGHT`, `CREATOR`, `MODIFIER`, `CREATE_TIME`, `UPDATE_TIME`, `VISIBILITY_LEVEL`) VALUES - ('5eac29e36ce74fd4827df820d4fd51d8', 'Checkout GitHub', 'GITHUB', 'GITHUB', '[ \"pipeline\" ]', 'AGENT', '[ \"LINUX\" ]', 'babff353027b4763a7fd127f61ae80e7', '', 0, 7, NULL, 'Checkout gitHub repository', 'Checkout gitHub repository', 1, '1.0.0', '/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FGITHUB.png&logo=true', NULL, True, True, False, NULL, NULL, False, '1.0', '{\"repositoryType\":{\"rule\":{},\"type\":\"enum\",\"component\":\"enum-input\",\"required\":true,\"label\":\"Repo\",\"list\":[{\"value\":\"ID\",\"label\":\"select\"},{\"value\":\"NAME\",\"label\":\"input\"}],\"default\":\"ID\",\"desc\":\"\"},\"repositoryHashId\":{\"rule\":{},\"label\":\"\",\"hasAddItem\":true,\"component\":\"request-selector\",\"searchable\":true,\"placeholder\":\"select a repository\",\"required\":true,\"hidden\":true,\"default\":\"\",\"url\":\"/repository/api/user/repositories/{projectId}/hasPermissionList?permission=USE&repositoryType=GITHUB&page=1&pageSize=100\",\"paramId\":\"repositoryHashId\",\"paramName\":\"aliasName\",\"tools\":{\"edit\":true,\"del\":false}},\"repositoryName\":{\"rule\":{},\"type\":\"text\",\"component\":\"vuex-input\",\"required\":true,\"hidden\":true,\"label\":\"\",\"placeholder\":\"input a repository alias name\",\"default\":\"\"},\"gitPullMode\":{\"rule\":{\"pullmode\":true},\"component\":\"code-mode-input\",\"required\":true,\"text\":\"Type\",\"default\":\"\"},\"path\":{\"rule\":{},\"type\":\"text\",\"component\":\"vuex-input\",\"required\":false,\"label\":\"path\",\"default\":\"\",\"placeholder\":\"Relative path under {WORKSPACE} to place the repository\",\"desc\":\"Relative path under {WORKSPACE} to place the repository\"},\"strategy\":{\"rule\":{},\"type\":\"enum\",\"component\":\"enum-input\",\"required\":true,\"label\":\"Policy\",\"list\":[{\"value\":\"REVERT_UPDATE\",\"label\":\"Revert Update\"},{\"value\":\"FRESH_CHECKOUT\",\"label\":\"Fresh Checkout\"},{\"value\":\"INCREMENT_UPDATE\",\"label\":\"Increment Update\"}],\"default\":\"REVERT_UPDATE\",\"desc\":\"Revert Update: Increment,git reset--head and git pull\\n Fresh Checkout: Whole pull,delete local path then git clone\\n Increment Update: Increment,only git pull\"},\"enableSubmodule\":{\"rule\":{},\"type\":\"boolean\",\"component\":\"atom-checkbox\",\"required\":false,\"text\":\"Submodule\",\"default\":true,\"desc\":\"Whether to checkout submodules: `true` to checkout submodules or `recursive` to recursively checkout submodules.\"},\"enableVirtualMergeBranch\":{\"rule\":{},\"type\":\"boolean\",\"component\":\"atom-checkbox\",\"required\":false,\"text\":\"Pre-Merge\",\"default\":true,\"desc\":\"We will try merge source branch to dest branch, failed if has conflicts\"}}', '{}', 'admin', 2, 'admin', 'admin', '2019-03-04 18:09:40', '2019-04-18 13:38:49', 0); REPLACE INTO `T_ATOM` (`ID`, `NAME`, `ATOM_CODE`, `CLASS_TYPE`, `SERVICE_SCOPE`, `JOB_TYPE`, `OS`, `CLASSIFY_ID`, `DOCS_LINK`, `ATOM_TYPE`, `ATOM_STATUS`, `ATOM_STATUS_MSG`, `SUMMARY`, `DESCRIPTION`, `CATEGROY`, `VERSION`, `LOGO_URL`, `ICON`, `DEFAULT_FLAG`, `LATEST_FLAG`, `BUILD_LESS_RUN_FLAG`, `REPOSITORY_HASH_ID`, `CODE_SRC`, `PAY_FLAG`, `HTML_TEMPLATE_VERSION`, `PROPS`, `DATA`, `PUBLISHER`, `WEIGHT`, `CREATOR`, `MODIFIER`, `CREATE_TIME`, `UPDATE_TIME`, `VISIBILITY_LEVEL`) VALUES ('6868f24a5b14479683dcd6d63fdb9b42', 'Review', 'manualReviewUserTask', 'manualReviewUserTask', '[ \"pipeline\" ]', 'AGENT', '[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]', 'e5de5b6e525e4b0abf6b1d88d2242fe7', '', '0', '7', NULL, '', '', '1', '1.0.0', '/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FmanualReviewUserTask.png&logo=true', NULL, b'1', b'1', b'1', NULL, NULL, b'0', '1.0', '{\"reviewUsers\":{\"rule\":{},\"required\":true,\"label\":\"Reviewer\",\"component\":\"user-input\",\"placeholder\":\"withing set {var}, separate multiple reviewers with commas\",\"default\":[]}}', '{}', 'system', '1', 'system', 'system', '2019-03-04 18:09:42', '2019-08-08 18:04:38', '0'); -REPLACE INTO `T_ATOM` (`ID`, `NAME`, `ATOM_CODE`, `CLASS_TYPE`, `SERVICE_SCOPE`, `JOB_TYPE`, `OS`, `CLASSIFY_ID`, `DOCS_LINK`, `ATOM_TYPE`, `ATOM_STATUS`, `ATOM_STATUS_MSG`, `SUMMARY`, `DESCRIPTION`, `CATEGROY`, `VERSION`, `LOGO_URL`, `ICON`, `DEFAULT_FLAG`, `LATEST_FLAG`, `BUILD_LESS_RUN_FLAG`, `REPOSITORY_HASH_ID`, `CODE_SRC`, `PAY_FLAG`, `HTML_TEMPLATE_VERSION`, `PROPS`, `DATA`, `PUBLISHER`, `WEIGHT`, `CREATOR`, `MODIFIER`, `CREATE_TIME`, `UPDATE_TIME`, `VISIBILITY_LEVEL`) VALUES - ('9edcb7a2dadf419589e63f636d929ffa', 'Downlad artifacts', 'buildArchiveGet', 'buildArchiveGet', '[ \"pipeline\" ]', 'AGENT', '[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]', '75c96e7aa24f481789300cd1737b1ae1', '', 0, 7, NULL, 'Download a build artifact that was previously uploaded in the pipeline by the Upload artifact task', 'Download a build artifact that was previously uploaded in the pipeline by the Upload artifact task', 1, '1.0.0', '/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FbuildArchiveGet.png&logo=true', NULL, True, True, False, NULL, NULL, False, '1.0', '{\"pipelineId\":{\"rule\":{},\"required\":true,\"type\":\"text\",\"component\":\"request-selector\",\"label\":\"Pipeline\",\"default\":\"\",\"list\":[],\"url\":\"/process/api/user/archive/{projectId}/getAllPipelines?page=1&pagesize=-1\",\"paramId\":\"pipelineId\",\"paramName\":\"pipelineName\"},\"buildNoType\":{\"rule\":{},\"type\":\"enum\",\"required\":true,\"component\":\"enum-input\",\"label\":\"Build No.\",\"list\":[{\"value\":\"LASTEST\",\"label\":\"latest\"},{\"value\":\"ASSIGN\",\"label\":\"Specific BuildNo.\"}],\"default\":\"LASTEST\"},\"buildNo\":{\"rule\":{},\"type\":\"text\",\"required\":true,\"component\":\"selector\",\"label\":\"\",\"default\":\"\",\"list\":[],\"hidden\":true},\"srcPaths\":{\"rule\":{},\"type\":\"text\",\"required\":true,\"component\":\"vuex-input\",\"label\":\"path\",\"placeholder\":\"file path to download\",\"default\":\"\",\"desc\":\"path to download, Example: *.txt\"},\"destPath\":{\"rule\":{},\"type\":\"text\",\"required\":false,\"component\":\"vuex-input\",\"label\":\"local path\",\"placeholder\":\"Default: ./\",\"default\":\"\",\"desc\":\"local path, for example: ./build/\"},\"notFoundContinue\":{\"rule\":{},\"type\":\"boolean\",\"component\":\"atom-checkbox\",\"required\":true,\"text\":\"continue on 0 file\",\"default\":false}}', '{}', 'system', 90, 'system', 'system', '2019-03-04 18:09:40', '2019-04-24 16:37:46', 0); REPLACE INTO `T_ATOM` (`ID`, `NAME`, `ATOM_CODE`, `CLASS_TYPE`, `SERVICE_SCOPE`, `JOB_TYPE`, `OS`, `CLASSIFY_ID`, `DOCS_LINK`, `ATOM_TYPE`, `ATOM_STATUS`, `ATOM_STATUS_MSG`, `SUMMARY`, `DESCRIPTION`, `CATEGROY`, `VERSION`, `LOGO_URL`, `ICON`, `DEFAULT_FLAG`, `LATEST_FLAG`, `BUILD_LESS_RUN_FLAG`, `REPOSITORY_HASH_ID`, `CODE_SRC`, `PAY_FLAG`, `HTML_TEMPLATE_VERSION`, `PROPS`, `DATA`, `PUBLISHER`, `WEIGHT`, `CREATOR`, `MODIFIER`, `CREATE_TIME`, `UPDATE_TIME`, `VISIBILITY_LEVEL`) VALUES ('a1c216facd7b4ffa99a2041830482aee', 'Batch Script', 'windowsScript', 'windowsScript', '[ \"pipeline\" ]', 'AGENT', '[ \"WINDOWS\" ]', '75c96e7aa24f481789300cd1737b1ae1', '', 0, 7, NULL, 'run bat/cmd on windows', 'run bat/cmd on windows, workdir is {WORKSPACE}', 1, '1.0.0', '/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FwindowsScript.png&logo=true', NULL, True, True, False, NULL, NULL, False, '1.0', '{\"scriptType\":{\"rule\":{},\"type\":\"enum\",\"label\":\"Type\",\"required\":true,\"component\":\"enum-input\",\"list\":[{\"id\":\"batchfile\",\"value\":\"BAT\",\"label\":\"bat\"}],\"default\":\"BAT\"},\"charsetType\":{\"rule\":{},\"type\":\"enum\",\"label\":\"Charset\",\"required\":true,\"component\":\"enum-input\",\"list\":[{\"value\":\"DEFAULT\",\"label\":\"Default\"},{\"value\":\"UTF_8\",\"label\":\"UTF-8\"},{\"value\":\"GBK\",\"label\":\"GBK\"}],\"default\":\"DEFAULT\"},\"script\":{\"rule\":{},\"type\":\"text\",\"label\":\"Content\",\"required\":true,\"default\":\"\",\"component\":\"atom-ace-editor\",\"desc\":\"Script will run at ${WORKSPACE}\",\"descLink\":\"\",\"descLinkText\":\"Detail\"}}', '{}', 'system', 98, 'system', 'system', '2019-03-04 18:09:40', '2019-04-18 14:36:54', 0); REPLACE INTO `T_ATOM` (`ID`, `NAME`, `ATOM_CODE`, `CLASS_TYPE`, `SERVICE_SCOPE`, `JOB_TYPE`, `OS`, `CLASSIFY_ID`, `DOCS_LINK`, `ATOM_TYPE`, `ATOM_STATUS`, `ATOM_STATUS_MSG`, `SUMMARY`, `DESCRIPTION`, `CATEGROY`, `VERSION`, `LOGO_URL`, `ICON`, `DEFAULT_FLAG`, `LATEST_FLAG`, `BUILD_LESS_RUN_FLAG`, `REPOSITORY_HASH_ID`, `CODE_SRC`, `PAY_FLAG`, `HTML_TEMPLATE_VERSION`, `PROPS`, `DATA`, `PUBLISHER`, `WEIGHT`, `CREATOR`, `MODIFIER`, `CREATE_TIME`, `UPDATE_TIME`, `VISIBILITY_LEVEL`) VALUES @@ -25,10 +13,6 @@ REPLACE INTO `T_ATOM` (`ID`, `NAME`, `ATOM_CODE`, `CLASS_TYPE`, `SERVICE_SCOPE`, ('cb0fafe8ca264b739932eb94e46a7fa3', 'Shell Script', 'linuxScript', 'linuxScript', '[ \"pipeline\" ]', 'AGENT', '[ \"LINUX\", \"MACOS\" ]', '75c96e7aa24f481789300cd1737b1ae1', '', 0, 7, NULL, 'Run shell script on macos and linux', 'Run shell script on macos and linux, the workdir is WORKSPACE', 1, '1.0.0', '/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FlinuxScript.png&logo=true', NULL, True, True, True, NULL, NULL, False, '1.0', '{\"scriptType\":{\"rule\":{},\"type\":\"enum\",\"label\":\"Type\",\"required\":true,\"component\":\"enum-input\",\"list\":[{\"id\":\"sh\",\"value\":\"SHELL\",\"label\":\"Shell\"}],\"default\":\"SHELL\"},\"script\":{\"rule\":{},\"type\":\"text\",\"label\":\"Content\",\"required\":true,\"default\":\"#!/usr/bin/env bash\\n\",\"component\":\"atom-ace-editor\",\"desc\":\"Script will run at ${WORKSPACE}\",\"descLink\":\"\",\"descLinkText\":\"Detail\"},\"continueNoneZero\":{\"rule\":{},\"component\":\"atom-checkbox\",\"text\":\"Continue on error\",\"default\":false},\"enableArchiveFile\":{\"rule\":{},\"type\":\"boolean\",\"component\":\"atom-checkbox\",\"text\":\"Upload on error\",\"default\":false},\"archiveFile\":{\"rule\":{},\"type\":\"text\",\"component\":\"vuex-input\",\"label\":\"path\",\"default\":\"\",\"isHidden\":\"function (element) { return !element.enableArchiveFile }\",\"required\":true,\"desc\":\"result/*.log\",\"placeholder\":\"result/*.log etc. \"}}', '{}', 'system', 99, 'system', 'system', '2019-03-04 18:09:40', '2019-04-18 13:41:17', 0); REPLACE INTO `T_ATOM` (`ID`, `NAME`, `ATOM_CODE`, `CLASS_TYPE`, `SERVICE_SCOPE`, `JOB_TYPE`, `OS`, `CLASSIFY_ID`, `DOCS_LINK`, `ATOM_TYPE`, `ATOM_STATUS`, `ATOM_STATUS_MSG`, `SUMMARY`, `DESCRIPTION`, `CATEGROY`, `VERSION`, `LOGO_URL`, `ICON`, `DEFAULT_FLAG`, `LATEST_FLAG`, `BUILD_LESS_RUN_FLAG`, `REPOSITORY_HASH_ID`, `CODE_SRC`, `PAY_FLAG`, `HTML_TEMPLATE_VERSION`, `PROPS`, `DATA`, `PUBLISHER`, `WEIGHT`, `CREATOR`, `MODIFIER`, `CREATE_TIME`, `UPDATE_TIME`, `VISIBILITY_LEVEL`) VALUES ('d47de844527f45f68eb659dafbfc272e', 'Remote', 'remoteTrigger', 'remoteTrigger', '[ \"pipeline\" ]', 'AGENT', '[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]', 'e1bea5430f574f9ea3e0312dc7de9efa', '', 0, 7, NULL, 'Trigger pipeline with remote command', 'Trigger pipeline with remote command', 0, '1.0.0', '/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FremoteTrigger.png&logo=true', NULL, True, True, False, NULL, NULL, False, '1.0', '{\"remoteToken\":{\"label\":\"\",\"required\":false,\"component\":\"remote-curl-url\",\"default\":\"\"}}', '{}', 'system', 2, 'system', 'system', '2019-03-04 18:09:39', '2019-04-18 13:42:42', 0); -REPLACE INTO `T_ATOM` (`ID`, `NAME`, `ATOM_CODE`, `CLASS_TYPE`, `SERVICE_SCOPE`, `JOB_TYPE`, `OS`, `CLASSIFY_ID`, `DOCS_LINK`, `ATOM_TYPE`, `ATOM_STATUS`, `ATOM_STATUS_MSG`, `SUMMARY`, `DESCRIPTION`, `CATEGROY`, `VERSION`, `LOGO_URL`, `ICON`, `DEFAULT_FLAG`, `LATEST_FLAG`, `BUILD_LESS_RUN_FLAG`, `REPOSITORY_HASH_ID`, `CODE_SRC`, `PAY_FLAG`, `HTML_TEMPLATE_VERSION`, `PROPS`, `DATA`, `PUBLISHER`, `WEIGHT`, `CREATOR`, `MODIFIER`, `CREATE_TIME`, `UPDATE_TIME`, `VISIBILITY_LEVEL`) VALUES - ('59954d74ccbc4f4b9d3fc11901074b75', 'Checkout SVN', 'CODE_SVN', 'CODE_SVN', '[ \"pipeline\" ]', 'AGENT', '[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]', 'babff353027b4763a7fd127f61ae80e7', '', 0, 7, NULL, '', '', 1, '1.0.0', '/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FCODE_SVN.png&logo=true', NULL, b'1', b'1', b'1', NULL, NULL, b'1', '1.0', '{\"svnVersion\":{\"rule\":{},\"type\":\"enum\",\"component\":\"enum-input\",\"required\":false,\"list\":[{\"label\":\"1.6\",\"value\":\"V_1_6\",\"disabled\":true},{\"label\":\"1.7\",\"value\":\"V_1_7\",\"disabled\":true},{\"label\":\"1.8/1.9/1.10\",\"value\":\"V_1_8\",\"disabled\":true}],\"label\":\"version\",\"default\":\"V_1_8\",\"desc\":\"Specific svn version\"},\"repositoryType\":{\"rule\":{},\"type\":\"enum\",\"component\":\"enum-input\",\"required\":true,\"label\":\"Repo\",\"list\":[{\"value\":\"ID\",\"label\":\"select\"},{\"value\":\"NAME\",\"label\":\"input\"}],\"default\":\"ID\",\"desc\":\"\"},\"repositoryHashId\":{\"rule\":{},\"label\":\"\",\"hasAddItem\":true,\"component\":\"request-selector\",\"searchable\":true,\"placeholder\":\"select repo\",\"required\":true,\"hidden\":true,\"default\":\"\",\"url\":\"/repository/api/user/repositories/{projectId}/hasPermissionList?permission=USE&repositoryType=CODE_SVN&page=1&pageSize=100\",\"paramId\":\"repositoryHashId\",\"paramName\":\"aliasName\",\"tools\":{\"edit\":true,\"del\":false}},\"repositoryName\":{\"rule\":{},\"type\":\"text\",\"component\":\"vuex-input\",\"required\":true,\"hidden\":true,\"label\":\"\",\"placeholder\":\"input repo\",\"default\":\"\"},\"svnPath\":{\"rule\":{},\"type\":\"text\",\"component\":\"vuex-input\",\"required\":false,\"label\":\"Relative path\",\"default\":\"\",\"placeholder\":\"Example: branchs/v1.0.0\"},\"path\":{\"rule\":{},\"type\":\"text\",\"component\":\"vuex-input\",\"required\":false,\"label\":\"local path\",\"default\":\"\",\"placeholder\":\"Local path, example: ./src/\",\"desc\":\"Local path, example: ./src/\"},\"strategy\":{\"rule\":{},\"type\":\"enum\",\"component\":\"enum-input\",\"required\":true,\"list\":[{\"value\":\"REVERT_UPDATE\",\"label\":\"Revert Update\"},{\"value\":\"FRESH_CHECKOUT\",\"label\":\"Fresh Checkout\"},{\"value\":\"INCREMENT_UPDATE\",\"label\":\"Increment Update\"}],\"label\":\"Policy\",\"default\":\"REVERT_UPDATE\",\"desc\":\"Revert Update: Increment, svn revert + update\n Fresh Checkout: Whole, delete local path then checkout\n Increment Update: Increment:svn update\"},\"svnDepth\":{\"rule\":{},\"type\":\"text\",\"component\":\"selector\",\"required\":true,\"list\":[{\"id\":\"empty\",\"name\":\"Empty(只包含目标文件或目录,不包含子目录)\"},{\"id\":\"files\",\"name\":\"Files(只包含目标文件和子文件)\"},{\"id\":\"immediates\",\"name\":\"Immediates(只包含目标文件及相邻的文件和目录)\"},{\"id\":\"infinity\",\"name\":\"Infinity(所有文件、目录及子目录)\"}],\"label\":\"仓库深度(Depth)\",\"searchable\":true,\"multiSelect\":false,\"default\":\"Infinity\"},\"enableSubmodule\":{\"rule\":{},\"type\":\"text\",\"required\":false,\"component\":\"atom-checkbox\",\"text\":\"启用外链\",\"default\":true,\"desc\":\"勾选则启用外链,不勾选则不启用\"},\"specifyRevision\":{\"rule\":{},\"type\":\"text\",\"required\":false,\"component\":\"atom-checkbox\",\"text\":\"指定版本号(勾选后将在启动构建时输入)\",\"default\":false,\"desc\":\"勾选后启动流水线时则需要需要选择代码库版本号,不勾选则拉取最新代码\"},\"revision\":{\"rule\":{},\"type\":\"text\",\"component\":\"vuex-input\",\"required\":false,\"hidden\":true,\"label\":\"\",\"default\":\"\",\"placeholder\":\"请填写指定版本号\"}}', '{}', 'system', 2, 'system', 'system', '2019-02-28 15:21:12', '2019-04-08 20:56:10', 0); -REPLACE INTO `T_ATOM` (`ID`, `NAME`, `ATOM_CODE`, `CLASS_TYPE`, `SERVICE_SCOPE`, `JOB_TYPE`, `OS`, `CLASSIFY_ID`, `DOCS_LINK`, `ATOM_TYPE`, `ATOM_STATUS`, `ATOM_STATUS_MSG`, `SUMMARY`, `DESCRIPTION`, `CATEGROY`, `VERSION`, `LOGO_URL`, `ICON`, `DEFAULT_FLAG`, `LATEST_FLAG`, `BUILD_LESS_RUN_FLAG`, `REPOSITORY_HASH_ID`, `CODE_SRC`, `PAY_FLAG`, `HTML_TEMPLATE_VERSION`, `PROPS`, `DATA`, `PUBLISHER`, `WEIGHT`, `CREATOR`, `MODIFIER`, `CREATE_TIME`, `UPDATE_TIME`, `VISIBILITY_LEVEL`) VALUES - ('ea1d4d582a3147fdb29a04168cc79a43', 'Upload Report', 'reportArchive', 'reportArchive', '[ \"pipeline\" ]', 'AGENT', '[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]', '75c96e7aa24f481789300cd1737b1ae1', '', 0, 7, NULL, '可将构建机上的html报告归档至蓝盾,同时发送邮件出来', '可将构建机上的html报告归档至蓝盾,同时发送邮件出来', 1, '1.0.0', '/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FreportArchive.png&logo=true', NULL, True, True, False, NULL, NULL, False, '1.0', '{\n \"fileDir\": {\n \"type\": \"text\",\n \"required\": true,\n \"component\": \"vuex-input\",\n \"label\": \"待展示的产出物报告路径(该路径下所有子文件均会被归档)\",\n \"placeholder\": \"./report/\",\n \"desc\": \"目前支持html文件的自动渲染\"\n },\n \"indexFile\": {\n \"type\": \"text\",\n \"required\": true,\n \"component\": \"vuex-input\",\n \"label\": \"入口文件\",\n \"placeholder\": \"index.html\"\n },\n \"reportName\": {\n \"type\": \"text\",\n \"required\": true,\n \"component\": \"vuex-input\",\n \"label\": \"标签别名\",\n \"placeholder\": \"请输入自定义报告名称\"\n },\n \"enableEmail\": {\n \"rule\": {},\n \"type\": \"boolean\",\n \"required\": false,\n \"text\": \"\",\n \"desc\": \"\",\n \"default\": true\n },\n \"emailReceivers\": {\n \"rule\": {},\n \"component\": \"user-input\",\n \"required\": true,\n \"label\": \"收件人\",\n \"placeholder\": \"\",\n \"default\": []\n },\n \"emailTitle\": {\n \"type\": \"text\",\n \"required\": true,\n \"component\": \"vuex-input\",\n \"label\": \"邮件主题\",\n \"placeholder\": \"请输入邮件主题\",\n \"default\": \"【${BK_CI_PIPELINE_NAME}】 #${BK_CI_BUILD_NUM} 自定义报告已归档\"\n }\n}', '{}', 'system', 90, 'system', 'system', '2019-03-04 18:09:40', '2019-04-19 15:05:17', 0); REPLACE INTO `T_ATOM` (`ID`, `NAME`, `ATOM_CODE`, `CLASS_TYPE`, `SERVICE_SCOPE`, `JOB_TYPE`, `OS`, `CLASSIFY_ID`, `DOCS_LINK`, `ATOM_TYPE`, `ATOM_STATUS`, `ATOM_STATUS_MSG`, `SUMMARY`, `DESCRIPTION`, `CATEGROY`, `VERSION`, `LOGO_URL`, `ICON`, `DEFAULT_FLAG`, `LATEST_FLAG`, `BUILD_LESS_RUN_FLAG`, `REPOSITORY_HASH_ID`, `CODE_SRC`, `PAY_FLAG`, `HTML_TEMPLATE_VERSION`, `PROPS`, `DATA`, `PUBLISHER`, `WEIGHT`, `CREATOR`, `MODIFIER`, `CREATE_TIME`, `UPDATE_TIME`, `VISIBILITY_LEVEL`) VALUES ('6dbd742f76854aedb2603430574d842b', 'SVN', 'codeSVNWebHookTrigger', 'codeSVNWebHookTrigger', '[ \"pipeline\" ]', 'AGENT', '[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]', 'e1bea5430f574f9ea3e0312dc7de9efa', '', 0, 7, NULL, 'Start the pipeline when listening to related events of the SVN repository', 'Start the pipeline when listening to related events of the SVN repository', 0, '1.0.0', '/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FsvnTrigger.png&logo=true', NULL, b'1', b'1', b'0', NULL, NULL, b'0', '1.0', '{\"repositoryType\":{\"rule\":{},\"type\":\"enum\",\"component\":\"enum-input\",\"required\":true,\"label\":\"Repository\",\"list\":[{\"value\":\"ID\",\"label\":\"Select by repository\"},{\"value\":\"NAME\",\"label\":\"Enter by repository alias\"}],\"default\":\"ID\",\"desc\":\"\"},\"repositoryHashId\":{\"rule\":{},\"label\":\"\",\"hasAddItem\":true,\"component\":\"request-selector\",\"searchable\":true,\"placeholder\":\"Please select a repository name\",\"required\":true,\"default\":\"\",\"url\":\"/repository/api/user/repositories/{projectId}/hasPermissionList?permission=USE&repositoryType=CODE_SVN&page=1&pageSize=1000\",\"paramId\":\"repositoryHashId\",\"paramName\":\"aliasName\",\"tools\":{\"edit\":true,\"del\":false}},\"repositoryName\":{\"rule\":{},\"type\":\"text\",\"component\":\"vuex-input\",\"required\":true,\"hidden\":true,\"label\":\"\",\"placeholder\":\"Please enter a repository alias\",\"default\":\"\"},\"relativePath\":{\"rule\":{},\"type\":\"text\",\"required\":false,\"component\":\"vuex-input\",\"label\":\"Repository relative path\",\"placeholder\":\"A relative path with the repository as the root path, such as branches/v1.0.0, multiple paths are separated by commas\",\"default\":\"\"},\"excludePaths\":{\"rule\":{},\"type\":\"text\",\"required\":false,\"component\":\"vuex-input\",\"label\":\"Exclude the following paths\",\"placeholder\":\"Multiple paths should be separated by commas\",\"default\":\"\"},\"includeUsers\":{\"rule\":{},\"type\":\"text\",\"required\":false,\"component\":\"user-input\",\"label\":\"Contains the following people\",\"placeholder\":\"Multiple names should be separated by commas\",\"default\":[]},\"excludeUsers\":{\"rule\":{},\"type\":\"text\",\"required\":false,\"component\":\"user-input\",\"label\":\"exclude the following people\",\"placeholder\":\"Multiple paths should be separated by commas\",\"default\":[]}}', '{}', 'system', 6, 'system', 'system', '2019-03-04 18:09:39', '2020-05-21 11:17:42', 0); REPLACE INTO `T_ATOM` (`ID`, `NAME`, `ATOM_CODE`, `CLASS_TYPE`, `SERVICE_SCOPE`, `JOB_TYPE`, `OS`, `CLASSIFY_ID`, `DOCS_LINK`, `ATOM_TYPE`, `ATOM_STATUS`, `ATOM_STATUS_MSG`, `SUMMARY`, `DESCRIPTION`, `CATEGROY`, `VERSION`, `LOGO_URL`, `ICON`, `DEFAULT_FLAG`, `LATEST_FLAG`, `BUILD_LESS_RUN_FLAG`, `REPOSITORY_HASH_ID`, `CODE_SRC`, `PAY_FLAG`, `HTML_TEMPLATE_VERSION`, `PROPS`, `DATA`, `PUBLISHER`, `WEIGHT`, `CREATOR`, `MODIFIER`, `CREATE_TIME`, `UPDATE_TIME`, `VISIBILITY_LEVEL`) VALUES