From 7da3458462cb65a198f9d5485f422b9540d98feb Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Wed, 31 Jul 2024 10:33:44 +0800 Subject: [PATCH 1/8] =?UTF-8?q?feat=EF=BC=9AMR=20=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E8=A7=A6=E5=8F=91=E5=99=A8=E6=94=AF=E6=8C=81=20WIP=20#10683?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../process/yaml/transfer/TriggerTransfer.kt | 15 ++++++++++----- .../pojo/WebHookTriggerElementChanger.kt | 16 +++++++++++----- .../devops/process/yaml/v3/models/on/MrRule.kt | 6 +++++- .../trigger/CodeGitWebHookTriggerElement.kt | 4 +++- .../trigger/CodeGithubWebHookTriggerElement.kt | 4 +++- .../trigger/CodeGitlabWebHookTriggerElement.kt | 4 +++- .../trigger/CodeTGitWebHookTriggerElement.kt | 4 +++- .../common/webhook/pojo/code/WebHookParams.kt | 4 +++- .../{SkipCiFilter.kt => KeywordSkipFilter.kt} | 17 ++++++++++++++--- .../handler/github/GithubPrTriggerHandler.kt | 9 ++++++++- .../code/handler/tgit/TGitMrTriggerHandler.kt | 15 ++++++++++++--- .../code/handler/tgit/TGitPushTriggerHandler.kt | 6 ++++-- .../code/param/GitWebhookElementParams.kt | 1 + 13 files changed, 80 insertions(+), 25 deletions(-) rename src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/filter/{SkipCiFilter.kt => KeywordSkipFilter.kt} (74%) diff --git a/src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/transfer/TriggerTransfer.kt b/src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/transfer/TriggerTransfer.kt index c50f543ae79..174d4589ac4 100644 --- a/src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/transfer/TriggerTransfer.kt +++ b/src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/transfer/TriggerTransfer.kt @@ -160,7 +160,8 @@ class TriggerTransfer @Autowired(required = false) constructor( repositoryName = triggerOn.repoName, enableThirdFilter = !mr.custom?.url.isNullOrBlank(), thirdUrl = mr.custom?.url, - thirdSecretToken = mr.custom?.credentials + thirdSecretToken = mr.custom?.credentials, + skipWip = mr.skipWip ).checkTriggerElementEnable(mr.enable).apply { version = "2.*" } @@ -296,7 +297,8 @@ class TriggerTransfer @Autowired(required = false) constructor( custom = if (git.enableThirdFilter == true) CustomFilter( url = git.thirdUrl, credentials = git.thirdSecretToken - ) else null + ) else null, + skipWip = git.skipWip ) CodeEventType.MERGE_REQUEST_ACCEPT -> throw PipelineTransferException( @@ -463,7 +465,8 @@ class TriggerTransfer @Autowired(required = false) constructor( ), eventType = CodeEventType.MERGE_REQUEST, repositoryType = repositoryType, - repositoryName = triggerOn.repoName + repositoryName = triggerOn.repoName, + skipWip = mr.skipWip ) ) ).checkTriggerElementEnable(mr.enable).apply { @@ -598,7 +601,8 @@ class TriggerTransfer @Autowired(required = false) constructor( includeMrAction = mr.action, eventType = CodeEventType.PULL_REQUEST, repositoryType = repositoryType, - repositoryName = triggerOn.repoName + repositoryName = triggerOn.repoName, + skipWip = mr.skipWip ).checkTriggerElementEnable(mr.enable) ) } @@ -824,7 +828,8 @@ class TriggerTransfer @Autowired(required = false) constructor( ), eventType = CodeEventType.MERGE_REQUEST, repositoryType = repositoryType, - repositoryName = triggerOn.repoName + repositoryName = triggerOn.repoName, + skipWip = mr.skipWip ).checkTriggerElementEnable(mr.enable).apply { version = "2.*" } diff --git a/src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/transfer/pojo/WebHookTriggerElementChanger.kt b/src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/transfer/pojo/WebHookTriggerElementChanger.kt index b1ddc853ee4..2683bd0cea5 100644 --- a/src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/transfer/pojo/WebHookTriggerElementChanger.kt +++ b/src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/transfer/pojo/WebHookTriggerElementChanger.kt @@ -100,7 +100,9 @@ data class WebHookTriggerElementChanger( @get:Schema(title = "第三方应用鉴权token") val thirdSecretToken: String? = null, @get:Schema(title = "是否启用插件") - val enable: Boolean + val enable: Boolean, + @get:Schema(title = "跳过WIP") + val skipWip: Boolean? = false ) { constructor(data: CodeGitWebHookTriggerElement) : this( name = data.name, @@ -133,7 +135,8 @@ data class WebHookTriggerElementChanger( enableThirdFilter = data.enableThirdFilter, thirdUrl = data.thirdUrl, thirdSecretToken = data.thirdSecretToken, - enable = data.isElementEnable() + enable = data.isElementEnable(), + skipWip = data.skipWip ) constructor(data: CodeTGitWebHookTriggerElement) : this( @@ -165,7 +168,8 @@ data class WebHookTriggerElementChanger( includeMrAction = data.data.input.includeMrAction, includePushAction = data.data.input.includePushAction, enableThirdFilter = data.data.input.enableThirdFilter, - enable = data.isElementEnable() + enable = data.isElementEnable(), + skipWip = data.data.input.skipWip ) constructor(data: CodeGithubWebHookTriggerElement) : this( @@ -196,7 +200,8 @@ data class WebHookTriggerElementChanger( includeMrAction = data.includeMrAction, includePushAction = data.includePushAction, enableThirdFilter = data.enableThirdFilter, - enable = data.isElementEnable() + enable = data.isElementEnable(), + skipWip = data.skipWip ) constructor(data: CodeSVNWebHookTriggerElement) : this( @@ -244,6 +249,7 @@ data class WebHookTriggerElementChanger( includeSourceBranchName = data.includeSourceBranchName, includeMrAction = data.includeMrAction, includePushAction = data.includePushAction, - enable = data.isElementEnable() + enable = data.isElementEnable(), + skipWip = data.skipWip ) } diff --git a/src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/v3/models/on/MrRule.kt b/src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/v3/models/on/MrRule.kt index 63acc584f17..13720b02a03 100644 --- a/src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/v3/models/on/MrRule.kt +++ b/src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/v3/models/on/MrRule.kt @@ -88,5 +88,9 @@ data class MrRule( @get:Schema(title = "custom-filter") @JsonProperty("custom-filter") - val custom: CustomFilter? = null + val custom: CustomFilter? = null, + + @JsonProperty("skip-wip") + @get:Schema(title = "skip-wip") + var skipWip: Boolean? = null ) diff --git a/src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/element/trigger/CodeGitWebHookTriggerElement.kt b/src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/element/trigger/CodeGitWebHookTriggerElement.kt index d9eed37355b..2ded15777e0 100644 --- a/src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/element/trigger/CodeGitWebHookTriggerElement.kt +++ b/src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/element/trigger/CodeGitWebHookTriggerElement.kt @@ -102,7 +102,9 @@ data class CodeGitWebHookTriggerElement( @get:Schema(title = "第三方应用地址") val thirdUrl: String? = null, @get:Schema(title = "第三方应用鉴权token") - val thirdSecretToken: String? = null + val thirdSecretToken: String? = null, + @get:Schema(title = "跳过WIP") + val skipWip: Boolean? = false ) : WebHookTriggerElement(name, id, status) { companion object { const val classType = "codeGitWebHookTrigger" diff --git a/src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/element/trigger/CodeGithubWebHookTriggerElement.kt b/src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/element/trigger/CodeGithubWebHookTriggerElement.kt index 8e76cc81dbc..be5bbe04f77 100644 --- a/src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/element/trigger/CodeGithubWebHookTriggerElement.kt +++ b/src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/element/trigger/CodeGithubWebHookTriggerElement.kt @@ -94,7 +94,9 @@ data class CodeGithubWebHookTriggerElement( @get:Schema(title = "issue事件action") val includeIssueAction: List? = null, @get:Schema(title = "pull request事件action") - val includeMrAction: List? = listOf(MERGE_ACTION_OPEN, MERGE_ACTION_REOPEN, MERGE_ACTION_PUSH_UPDATE) + val includeMrAction: List? = listOf(MERGE_ACTION_OPEN, MERGE_ACTION_REOPEN, MERGE_ACTION_PUSH_UPDATE), + @get:Schema(title = "跳过WIP") + val skipWip: Boolean? = false ) : WebHookTriggerElement(name, id, status) { companion object { const val classType = "codeGithubWebHookTrigger" diff --git a/src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/element/trigger/CodeGitlabWebHookTriggerElement.kt b/src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/element/trigger/CodeGitlabWebHookTriggerElement.kt index 2e036ac8943..875c7d8e15b 100644 --- a/src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/element/trigger/CodeGitlabWebHookTriggerElement.kt +++ b/src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/element/trigger/CodeGitlabWebHookTriggerElement.kt @@ -83,7 +83,9 @@ data class CodeGitlabWebHookTriggerElement( @get:Schema(title = "push事件action") val includePushAction: List? = null, @get:Schema(title = "mr事件action") - val includeMrAction: List? = null + val includeMrAction: List? = null, + @get:Schema(title = "跳过WIP") + val skipWip: Boolean? = false ) : WebHookTriggerElement(name, id, status) { companion object { const val classType = "codeGitlabWebHookTrigger" diff --git a/src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/element/trigger/CodeTGitWebHookTriggerElement.kt b/src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/element/trigger/CodeTGitWebHookTriggerElement.kt index 5a5c7c957ba..416bc6bb411 100644 --- a/src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/element/trigger/CodeTGitWebHookTriggerElement.kt +++ b/src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/element/trigger/CodeTGitWebHookTriggerElement.kt @@ -215,5 +215,7 @@ data class CodeTGitWebHookTriggerInput( @get:Schema(title = "push事件action") val includePushAction: List? = null, @get:Schema(title = "是否启用第三方过滤") - val enableThirdFilter: Boolean? = false + val enableThirdFilter: Boolean? = false, + @get:Schema(title = "跳过WIP") + val skipWip: Boolean? = false ) diff --git a/src/backend/ci/core/common/common-webhook/api-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/pojo/code/WebHookParams.kt b/src/backend/ci/core/common/common-webhook/api-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/pojo/code/WebHookParams.kt index 60d4b7896a0..838cba39355 100644 --- a/src/backend/ci/core/common/common-webhook/api-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/pojo/code/WebHookParams.kt +++ b/src/backend/ci/core/common/common-webhook/api-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/pojo/code/WebHookParams.kt @@ -73,5 +73,7 @@ data class WebHookParams( var thirdUrl: String? = null, var thirdSecretToken: String? = null, // 插件版本 - var version: String? = null + var version: String? = null, + // 跳过WIP + var skipWip: Boolean? = false ) diff --git a/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/filter/SkipCiFilter.kt b/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/filter/KeywordSkipFilter.kt similarity index 74% rename from src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/filter/SkipCiFilter.kt rename to src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/filter/KeywordSkipFilter.kt index dfbe1421ee3..159b843e861 100644 --- a/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/filter/SkipCiFilter.kt +++ b/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/filter/KeywordSkipFilter.kt @@ -27,16 +27,27 @@ package com.tencent.devops.common.webhook.service.code.filter -class SkipCiFilter( +import org.slf4j.LoggerFactory + +class KeywordSkipFilter( private val pipelineId: String, + private val keyWord: List, + private val enable: Boolean? = true, private val triggerOnMessage: String? ) : WebhookFilter { companion object { - private const val SKIP_CI = "[skip ci]" + private val logger = LoggerFactory.getLogger(KeywordSkipFilter::class.java) + val KEYWORD_SKIP_CI = listOf("[skip ci]") + val KEYWORD_SKIP_WIP = listOf("[WIP]", "WIP") } override fun doFilter(response: WebhookFilterResponse): Boolean { - return triggerOnMessage?.contains(SKIP_CI) != true + logger.info("$pipelineId|triggerOnMessage:$triggerOnMessage|skipWord:$keyWord|enable:$enable") + return when{ + enable == false -> true + keyWord.none { triggerOnMessage?.contains(it) == true } -> false + else -> true + } } } diff --git a/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/handler/github/GithubPrTriggerHandler.kt b/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/handler/github/GithubPrTriggerHandler.kt index ff0f6006056..6b055780ff3 100644 --- a/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/handler/github/GithubPrTriggerHandler.kt +++ b/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/handler/github/GithubPrTriggerHandler.kt @@ -84,6 +84,7 @@ import com.tencent.devops.common.webhook.pojo.code.WebHookParams import com.tencent.devops.common.webhook.pojo.code.github.GithubPullRequestEvent import com.tencent.devops.common.webhook.service.code.filter.BranchFilter import com.tencent.devops.common.webhook.service.code.filter.ContainsFilter +import com.tencent.devops.common.webhook.service.code.filter.KeywordSkipFilter import com.tencent.devops.common.webhook.service.code.filter.UserFilter import com.tencent.devops.common.webhook.service.code.filter.WebhookFilter import com.tencent.devops.common.webhook.service.code.handler.GitHookTriggerHandler @@ -182,6 +183,12 @@ class GithubPrTriggerHandler : GitHookTriggerHandler { webHookParams: WebHookParams ): List { with(webHookParams) { + val wipFilter = KeywordSkipFilter( + pipelineId = pipelineId, + enable = skipWip, + keyWord = KeywordSkipFilter.KEYWORD_SKIP_WIP, + triggerOnMessage = getMessage(event) + ) val userId = getUsername(event) val actionFilter = ContainsFilter( pipelineId = pipelineId, @@ -222,7 +229,7 @@ class GithubPrTriggerHandler : GitHookTriggerHandler { params = listOf(targetBranch) ).toJsonStr() ) - return listOf(actionFilter, userFilter, targetBranchFilter) + return listOf(wipFilter, actionFilter, userFilter, targetBranchFilter) } } diff --git a/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/handler/tgit/TGitMrTriggerHandler.kt b/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/handler/tgit/TGitMrTriggerHandler.kt index 18cae3e2895..c99f9f3b046 100644 --- a/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/handler/tgit/TGitMrTriggerHandler.kt +++ b/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/handler/tgit/TGitMrTriggerHandler.kt @@ -81,7 +81,9 @@ import com.tencent.devops.common.webhook.service.code.EventCacheService import com.tencent.devops.common.webhook.service.code.filter.BranchFilter import com.tencent.devops.common.webhook.service.code.filter.ContainsFilter import com.tencent.devops.common.webhook.service.code.filter.PathFilterFactory -import com.tencent.devops.common.webhook.service.code.filter.SkipCiFilter +import com.tencent.devops.common.webhook.service.code.filter.KeywordSkipFilter +import com.tencent.devops.common.webhook.service.code.filter.KeywordSkipFilter.Companion.KEYWORD_SKIP_CI +import com.tencent.devops.common.webhook.service.code.filter.KeywordSkipFilter.Companion.KEYWORD_SKIP_WIP import com.tencent.devops.common.webhook.service.code.filter.ThirdFilter import com.tencent.devops.common.webhook.service.code.filter.UserFilter import com.tencent.devops.common.webhook.service.code.filter.WebhookFilter @@ -192,6 +194,12 @@ class TGitMrTriggerHandler( webHookParams: WebHookParams ): List { with(webHookParams) { + val wipFilter = KeywordSkipFilter( + pipelineId = pipelineId, + enable = skipWip, + keyWord = KEYWORD_SKIP_WIP, + triggerOnMessage = getMessage(event) + ) val userId = getUsername(event) val userFilter = UserFilter( pipelineId = pipelineId, @@ -237,8 +245,9 @@ class TGitMrTriggerHandler( params = listOf(sourceBranch) ).toJsonStr() ) - val skipCiFilter = SkipCiFilter( + val skipCiFilter = KeywordSkipFilter( pipelineId = pipelineId, + keyWord = KEYWORD_SKIP_CI, triggerOnMessage = event.object_attributes.last_commit.message ) val actionFilter = ContainsFilter( @@ -309,7 +318,7 @@ class TGitMrTriggerHandler( callbackCircuitBreakerRegistry = callbackCircuitBreakerRegistry ) return listOf( - userFilter, targetBranchFilter, + wipFilter, userFilter, targetBranchFilter, sourceBranchFilter, skipCiFilter, pathFilter, commitMessageFilter, actionFilter, thirdFilter ) diff --git a/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/handler/tgit/TGitPushTriggerHandler.kt b/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/handler/tgit/TGitPushTriggerHandler.kt index bd2d273da4a..f99f4d30d49 100644 --- a/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/handler/tgit/TGitPushTriggerHandler.kt +++ b/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/handler/tgit/TGitPushTriggerHandler.kt @@ -66,7 +66,8 @@ import com.tencent.devops.common.webhook.service.code.GitScmService import com.tencent.devops.common.webhook.service.code.filter.BranchFilter import com.tencent.devops.common.webhook.service.code.filter.ContainsFilter import com.tencent.devops.common.webhook.service.code.filter.PathFilterFactory -import com.tencent.devops.common.webhook.service.code.filter.SkipCiFilter +import com.tencent.devops.common.webhook.service.code.filter.KeywordSkipFilter +import com.tencent.devops.common.webhook.service.code.filter.KeywordSkipFilter.Companion.KEYWORD_SKIP_CI import com.tencent.devops.common.webhook.service.code.filter.ThirdFilter import com.tencent.devops.common.webhook.service.code.filter.UserFilter import com.tencent.devops.common.webhook.service.code.filter.WebhookFilter @@ -216,8 +217,9 @@ class TGitPushTriggerHandler( params = listOf(triggerOnBranchName) ).toJsonStr() ) - val skipCiFilter = SkipCiFilter( + val skipCiFilter = KeywordSkipFilter( pipelineId = pipelineId, + keyWord = KEYWORD_SKIP_CI, triggerOnMessage = event.commits?.get(0)?.message ?: "" ) val commits = event.commits diff --git a/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/param/GitWebhookElementParams.kt b/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/param/GitWebhookElementParams.kt index d952bc679ae..7d4bed77fc2 100644 --- a/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/param/GitWebhookElementParams.kt +++ b/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/param/GitWebhookElementParams.kt @@ -121,6 +121,7 @@ class GitWebhookElementParams : ScmWebhookElementParams Date: Wed, 31 Jul 2024 11:26:26 +0800 Subject: [PATCH 2/8] =?UTF-8?q?feat=EF=BC=9AMR=20=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E8=A7=A6=E5=8F=91=E5=99=A8=E6=94=AF=E6=8C=81=20WIP=20#10683?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../devops/common/webhook/enums/WebhookI18nConstants.kt | 3 +++ .../webhook/service/code/filter/KeywordSkipFilter.kt | 8 ++++++-- .../service/code/handler/github/GithubPrTriggerHandler.kt | 3 ++- .../service/code/handler/tgit/TGitMrTriggerHandler.kt | 3 ++- support-files/i18n/process/message_en_US.properties | 1 + support-files/i18n/process/message_zh_CN.properties | 1 + 6 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/backend/ci/core/common/common-webhook/api-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/enums/WebhookI18nConstants.kt b/src/backend/ci/core/common/common-webhook/api-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/enums/WebhookI18nConstants.kt index 4dcbdcdf679..eff82662b5e 100644 --- a/src/backend/ci/core/common/common-webhook/api-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/enums/WebhookI18nConstants.kt +++ b/src/backend/ci/core/common/common-webhook/api-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/enums/WebhookI18nConstants.kt @@ -144,6 +144,9 @@ object WebhookI18nConstants { // Github Push操作类型不匹配 const val PUSH_ACTION_NOT_MATCH = "bkRepoTriggerPushActionNotMatch" + // WIP阶段不触发 + const val MR_SKIP_WIP = "bkRepoTriggerSkipWipNotMatch" + // 事件回放 const val EVENT_REPLAY_DESC = "bkEventReplayDesc" } diff --git a/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/filter/KeywordSkipFilter.kt b/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/filter/KeywordSkipFilter.kt index 159b843e861..8b8d1b4e911 100644 --- a/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/filter/KeywordSkipFilter.kt +++ b/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/filter/KeywordSkipFilter.kt @@ -33,7 +33,8 @@ class KeywordSkipFilter( private val pipelineId: String, private val keyWord: List, private val enable: Boolean? = true, - private val triggerOnMessage: String? + private val triggerOnMessage: String?, + private val failedReason: String = "" ) : WebhookFilter { companion object { @@ -46,7 +47,10 @@ class KeywordSkipFilter( logger.info("$pipelineId|triggerOnMessage:$triggerOnMessage|skipWord:$keyWord|enable:$enable") return when{ enable == false -> true - keyWord.none { triggerOnMessage?.contains(it) == true } -> false + keyWord.none { triggerOnMessage?.contains(it) == true } -> { + response.failedReason = failedReason + false + } else -> true } } diff --git a/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/handler/github/GithubPrTriggerHandler.kt b/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/handler/github/GithubPrTriggerHandler.kt index 6b055780ff3..c79e5e0eb4a 100644 --- a/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/handler/github/GithubPrTriggerHandler.kt +++ b/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/handler/github/GithubPrTriggerHandler.kt @@ -187,7 +187,8 @@ class GithubPrTriggerHandler : GitHookTriggerHandler { pipelineId = pipelineId, enable = skipWip, keyWord = KeywordSkipFilter.KEYWORD_SKIP_WIP, - triggerOnMessage = getMessage(event) + triggerOnMessage = getMessage(event), + failedReason = I18Variable(WebhookI18nConstants.MR_SKIP_WIP).toJsonStr() ) val userId = getUsername(event) val actionFilter = ContainsFilter( diff --git a/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/handler/tgit/TGitMrTriggerHandler.kt b/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/handler/tgit/TGitMrTriggerHandler.kt index c99f9f3b046..ab1fbe9eccd 100644 --- a/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/handler/tgit/TGitMrTriggerHandler.kt +++ b/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/handler/tgit/TGitMrTriggerHandler.kt @@ -198,7 +198,8 @@ class TGitMrTriggerHandler( pipelineId = pipelineId, enable = skipWip, keyWord = KEYWORD_SKIP_WIP, - triggerOnMessage = getMessage(event) + triggerOnMessage = getMessage(event), + failedReason = I18Variable(WebhookI18nConstants.MR_SKIP_WIP).toJsonStr() ) val userId = getUsername(event) val userFilter = UserFilter( diff --git a/support-files/i18n/process/message_en_US.properties b/support-files/i18n/process/message_en_US.properties index f6ee33d06fe..3190d92008c 100644 --- a/support-files/i18n/process/message_en_US.properties +++ b/support-files/i18n/process/message_en_US.properties @@ -773,6 +773,7 @@ bkNotSubPipelineExecutePermissionErrorMessage=Stage[{0}]-Job[{1}]-Step[{2}]: Date: Thu, 1 Aug 2024 09:50:01 +0800 Subject: [PATCH 3/8] =?UTF-8?q?feat=EF=BC=9AMR=20=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E8=A7=A6=E5=8F=91=E5=99=A8=E6=94=AF=E6=8C=81=20WIP=20#10683?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/webhook/service/code/filter/KeywordSkipFilter.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/filter/KeywordSkipFilter.kt b/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/filter/KeywordSkipFilter.kt index 8b8d1b4e911..5eb81b2b434 100644 --- a/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/filter/KeywordSkipFilter.kt +++ b/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/filter/KeywordSkipFilter.kt @@ -45,12 +45,13 @@ class KeywordSkipFilter( override fun doFilter(response: WebhookFilterResponse): Boolean { logger.info("$pipelineId|triggerOnMessage:$triggerOnMessage|skipWord:$keyWord|enable:$enable") - return when{ + return when { enable == false -> true - keyWord.none { triggerOnMessage?.contains(it) == true } -> { + keyWord.any { triggerOnMessage?.contains(it) == true } -> { response.failedReason = failedReason false } + else -> true } } From bd4ae713b5455ec2d19e7b02fe8860041db611b7 Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Thu, 1 Aug 2024 15:32:05 +0800 Subject: [PATCH 4/8] =?UTF-8?q?feat=EF=BC=9AMR=20=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E8=A7=A6=E5=8F=91=E5=99=A8=E6=94=AF=E6=8C=81=20WIP=20#10683?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../devops/process/yaml/transfer/TriggerTransfer.kt | 6 ++---- .../yaml/transfer/pojo/WebHookTriggerElementChanger.kt | 6 ++---- .../element/trigger/CodeGithubWebHookTriggerElement.kt | 4 +--- .../element/trigger/CodeGitlabWebHookTriggerElement.kt | 4 +--- .../code/handler/github/GithubPrTriggerHandler.kt | 10 +--------- 5 files changed, 7 insertions(+), 23 deletions(-) diff --git a/src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/transfer/TriggerTransfer.kt b/src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/transfer/TriggerTransfer.kt index 174d4589ac4..41a6a32348d 100644 --- a/src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/transfer/TriggerTransfer.kt +++ b/src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/transfer/TriggerTransfer.kt @@ -601,8 +601,7 @@ class TriggerTransfer @Autowired(required = false) constructor( includeMrAction = mr.action, eventType = CodeEventType.PULL_REQUEST, repositoryType = repositoryType, - repositoryName = triggerOn.repoName, - skipWip = mr.skipWip + repositoryName = triggerOn.repoName ).checkTriggerElementEnable(mr.enable) ) } @@ -828,8 +827,7 @@ class TriggerTransfer @Autowired(required = false) constructor( ), eventType = CodeEventType.MERGE_REQUEST, repositoryType = repositoryType, - repositoryName = triggerOn.repoName, - skipWip = mr.skipWip + repositoryName = triggerOn.repoName ).checkTriggerElementEnable(mr.enable).apply { version = "2.*" } diff --git a/src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/transfer/pojo/WebHookTriggerElementChanger.kt b/src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/transfer/pojo/WebHookTriggerElementChanger.kt index 2683bd0cea5..85c174b1e5d 100644 --- a/src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/transfer/pojo/WebHookTriggerElementChanger.kt +++ b/src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/transfer/pojo/WebHookTriggerElementChanger.kt @@ -200,8 +200,7 @@ data class WebHookTriggerElementChanger( includeMrAction = data.includeMrAction, includePushAction = data.includePushAction, enableThirdFilter = data.enableThirdFilter, - enable = data.isElementEnable(), - skipWip = data.skipWip + enable = data.isElementEnable() ) constructor(data: CodeSVNWebHookTriggerElement) : this( @@ -249,7 +248,6 @@ data class WebHookTriggerElementChanger( includeSourceBranchName = data.includeSourceBranchName, includeMrAction = data.includeMrAction, includePushAction = data.includePushAction, - enable = data.isElementEnable(), - skipWip = data.skipWip + enable = data.isElementEnable() ) } diff --git a/src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/element/trigger/CodeGithubWebHookTriggerElement.kt b/src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/element/trigger/CodeGithubWebHookTriggerElement.kt index be5bbe04f77..8e76cc81dbc 100644 --- a/src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/element/trigger/CodeGithubWebHookTriggerElement.kt +++ b/src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/element/trigger/CodeGithubWebHookTriggerElement.kt @@ -94,9 +94,7 @@ data class CodeGithubWebHookTriggerElement( @get:Schema(title = "issue事件action") val includeIssueAction: List? = null, @get:Schema(title = "pull request事件action") - val includeMrAction: List? = listOf(MERGE_ACTION_OPEN, MERGE_ACTION_REOPEN, MERGE_ACTION_PUSH_UPDATE), - @get:Schema(title = "跳过WIP") - val skipWip: Boolean? = false + val includeMrAction: List? = listOf(MERGE_ACTION_OPEN, MERGE_ACTION_REOPEN, MERGE_ACTION_PUSH_UPDATE) ) : WebHookTriggerElement(name, id, status) { companion object { const val classType = "codeGithubWebHookTrigger" diff --git a/src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/element/trigger/CodeGitlabWebHookTriggerElement.kt b/src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/element/trigger/CodeGitlabWebHookTriggerElement.kt index 875c7d8e15b..2e036ac8943 100644 --- a/src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/element/trigger/CodeGitlabWebHookTriggerElement.kt +++ b/src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/element/trigger/CodeGitlabWebHookTriggerElement.kt @@ -83,9 +83,7 @@ data class CodeGitlabWebHookTriggerElement( @get:Schema(title = "push事件action") val includePushAction: List? = null, @get:Schema(title = "mr事件action") - val includeMrAction: List? = null, - @get:Schema(title = "跳过WIP") - val skipWip: Boolean? = false + val includeMrAction: List? = null ) : WebHookTriggerElement(name, id, status) { companion object { const val classType = "codeGitlabWebHookTrigger" diff --git a/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/handler/github/GithubPrTriggerHandler.kt b/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/handler/github/GithubPrTriggerHandler.kt index c79e5e0eb4a..ff0f6006056 100644 --- a/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/handler/github/GithubPrTriggerHandler.kt +++ b/src/backend/ci/core/common/common-webhook/biz-common-webhook/src/main/kotlin/com/tencent/devops/common/webhook/service/code/handler/github/GithubPrTriggerHandler.kt @@ -84,7 +84,6 @@ import com.tencent.devops.common.webhook.pojo.code.WebHookParams import com.tencent.devops.common.webhook.pojo.code.github.GithubPullRequestEvent import com.tencent.devops.common.webhook.service.code.filter.BranchFilter import com.tencent.devops.common.webhook.service.code.filter.ContainsFilter -import com.tencent.devops.common.webhook.service.code.filter.KeywordSkipFilter import com.tencent.devops.common.webhook.service.code.filter.UserFilter import com.tencent.devops.common.webhook.service.code.filter.WebhookFilter import com.tencent.devops.common.webhook.service.code.handler.GitHookTriggerHandler @@ -183,13 +182,6 @@ class GithubPrTriggerHandler : GitHookTriggerHandler { webHookParams: WebHookParams ): List { with(webHookParams) { - val wipFilter = KeywordSkipFilter( - pipelineId = pipelineId, - enable = skipWip, - keyWord = KeywordSkipFilter.KEYWORD_SKIP_WIP, - triggerOnMessage = getMessage(event), - failedReason = I18Variable(WebhookI18nConstants.MR_SKIP_WIP).toJsonStr() - ) val userId = getUsername(event) val actionFilter = ContainsFilter( pipelineId = pipelineId, @@ -230,7 +222,7 @@ class GithubPrTriggerHandler : GitHookTriggerHandler { params = listOf(targetBranch) ).toJsonStr() ) - return listOf(wipFilter, actionFilter, userFilter, targetBranchFilter) + return listOf(actionFilter, userFilter, targetBranchFilter) } } From 131f1c9c45c4ab567a30d377db0de78a6c89e9de Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Thu, 1 Aug 2024 18:17:12 +0800 Subject: [PATCH 5/8] =?UTF-8?q?feat=EF=BC=9AMR=20=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E8=A7=A6=E5=8F=91=E5=99=A8=E6=94=AF=E6=8C=81=20WIP=20#10683?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sql/5001_init_dml/5001_ci_store-init_dml_mysql.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/support-files/sql/5001_init_dml/5001_ci_store-init_dml_mysql.sql b/support-files/sql/5001_init_dml/5001_ci_store-init_dml_mysql.sql index 3fbaced20b5..5271025f18d 100755 --- a/support-files/sql/5001_init_dml/5001_ci_store-init_dml_mysql.sql +++ b/support-files/sql/5001_init_dml/5001_ci_store-init_dml_mysql.sql @@ -22,9 +22,9 @@ REPLACE INTO `T_ATOM` (`ID`, `NAME`, `ATOM_CODE`, `CLASS_TYPE`, `SERVICE_SCOPE`, 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 ('eaa2bfb9f95245b482039f9bebccfcc9', 'GitHub', 'codeGithubWebHookTrigger', 'codeGithubWebHookTrigger', '[ \"pipeline\" ]', 'AGENT', '[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]', 'e1bea5430f574f9ea3e0312dc7de9efa', '', 0, 7, NULL, 'Start the pipeline when listening to related events of the GitHub repository', 'Start the pipeline when listening to related events of the GitHub repository', 0, '1.0.0', '/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FgithubTrigger.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 ID" }, { "value": "NAME", "label": "Enter by repository alias" } ], "default": "ID", "desc": "" }, "repositoryHashId": { "rule": {}, "type": "text", "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=GITHUB&page=1&pageSize=100", "paramId": "repositoryHashId", "paramName": "aliasName", "tools": { "edit": true, "del": false }, "list": [] }, "repositoryName": { "rule": {}, "type": "text", "component": "vuex-input", "required": true, "hidden": true, "label": "", "placeholder": "Please enter a repository alias", "default": "" }, "branchName": { "rule": {}, "type": "text", "required": false, "component": "vuex-input", "label": "Listen to the following branches", "placeholder": "The default is all branches, and multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "CREATE" }, { "key": "eventType", "value": "PULL_REQUEST" } ] } }, "excludeBranchName": { "rule": {}, "type": "text", "required": false, "component": "vuex-input", "label": "Exclude the following branches", "placeholder": "Multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "CREATE" }, { "key": "eventType", "value": "PULL_REQUEST" } ] } }, "excludeUsers": { "rule": {}, "component": "vuex-input", "required": false, "label": "Exclude the following people", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "CREATE" }, { "key": "eventType", "value": "PULL_REQUEST" } ] } }, "includeMrAction": { "rule": {}, "type": "selector", "component": "selector", "required": false, "searchable": false, "label": "action", "value": [ "open", "reopen", "push-update" ], "multiSelect": true, "list": [ { "id": "open", "name": "Created" }, { "id": "close", "name": "Closed" }, { "id": "reopen", "name": "Reopened" }, { "id": "push-update", "name": "Push Update" }, { "id": "merge", "name": "Merged" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "PULL_REQUEST" } ] } }, "eventType": { "rule": {}, "type": "text", "required": false, "component": "enum-input", "label": "Event Type", "list": [ { "label": "Commit Push Hook", "value": "PUSH", "tips": "Triggered when there is a new push event to the project. If it is a tag push, it will not be triggered." }, { "label": "Create Branch Or Tag", "value": "CREATE", "tips": "Triggered when a new branch or tag is added to the project" }, { "label": "Pull Request Hook", "value": "PULL_REQUEST", "tips": "Triggered when a Pull Request is added to the project" }, { "label": "Code Review Hook", "value": "REVIEW", "tips": "Triggered when there is a code review event to the project" }, { "label": "Issue Hook", "value": "ISSUES", "tips": "Triggered when there is a issues event to the project" }, { "label": "Note Hook", "value": "NOTE", "tips": "Triggered when there is a note event to the project" } ], "default": "PUSH" }, "includeIssueAction": { "label": "Listen to the following action", "type": "selector", "component": "selector", "multiSelect": true, "list": [ { "id": "open", "name": "open" }, { "id": "close", "name": "close" }, { "id": "reopen", "name": "reopen" }, { "id": "update", "name": "update" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "ISSUES" } ] } }, "includeCrState": { "label": "Listen to the following state", "component": "selector", "multiSelect": true, "list": [ { "id": "approving", "name": "approving" }, { "id": "approved", "name": "approved" }, { "id": "change_denied", "name": "change denied" }, { "id": "change_required", "name": "request changes" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "REVIEW" } ] } }, "includeNoteComment": { "rule": {}, "type": "vuex-input", "required": false, "component": "vuex-input", "label": "Listening to the following comment", "desc": "", "placeholder": "Separate multiple comments with commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } }, "includeNoteTypes": { "label": "Listening to the following types of comments", "component": "selector", "multiSelect": true, "list": [ { "id": "Commit", "name": "Providing comments on commit" }, { "id": "Review", "name": "Providing comments on reviews" }, { "id": "Issue", "name": "Providing comments on issue" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } } }', '{}', 'BlueKing', 2, 'system', 'system', '2019-03-04 18:09:39', '2020-04-26 12:17:06', 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 - ('24425d3fa0b645dc8ab23013e9f1df5e','TGit','codeTGitWebHookTrigger','codeTGitWebHookTrigger','[ \"pipeline\" ]','AGENT','[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]','e1bea5430f574f9ea3e0312dc7de9efa','',0,7,NULL,'Start the pipeline when listening to related events of the TGit repository','Start the pipeline when listening to related events of the TGit repository',0,'1.0.0','/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FtgitTrigger.png&logo=true',NULL,b'1',b'0',b'0',NULL,NULL,b'0','1.1','{ "input": { "repositoryType": { "rule": {}, "type": "enum-input", "component": "enum-input", "required": true, "label": "Repository", "list": [ { "value": "ID", "label": "Select by repository ID" }, { "value": "NAME", "label": "Enter by repository alias" } ], "default": "ID", "desc": "" }, "repositoryHashId": { "rule": {}, "label": "", "hasAddItem": true, "type": "request-selector", "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_TGIT&page=1&pageSize=100", "paramId": "repositoryHashId", "paramName": "aliasName", "tools": { "edit": true, "del": false }, "rely": { "operation": "OR", "expression": [ { "key": "repositoryType", "value": "ID" } ] } }, "repositoryName": { "rule": {}, "component": "vuex-input", "type": "vuex-input", "required": true, "label": "", "placeholder": "Please enter a repository alias", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "repositoryType", "value": "NAME" } ] } }, "eventType": { "rule": {}, "required": false, "component": "enum-input", "type": "enum-input", "label": "Event Type", "list": [ { "label": "Commit Push Hook", "value": "PUSH", "tips": "Triggered when there is a new push event to the project. If it is a tag push, it will not be triggered." }, { "label": "Tag Push Hook", "value": "TAG_PUSH", "tips": "Triggered when tags are added or deleted in the project" }, { "label": "Merge Request Hook", "value": "MERGE_REQUEST", "tips": "Triggered when a Merge Request is added to the project" }, { "label": "Merge Request Accept Hook", "value": "MERGE_REQUEST_ACCEPT", "tips": "It will be triggered when Merge Request accept in the project" }, { "label": "Issue Hook", "value": "ISSUES", "tips": "Triggered when there is a issues event to the project" }, { "label": "Note Hook", "value": "NOTE", "tips": "Triggered when there is a note event to the project" } ], "default": "PUSH" }, "branchName": { "rule": {}, "required": false, "type": "vuex-input", "component": "vuex-input", "label": "Listen to the following target branches", "placeholder": "The default is all branches, and multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } }, "excludeBranchName": { "rule": {}, "required": false, "type": "vuex-input", "component": "vuex-input", "label": "Exclude the following target branches", "placeholder": "Multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } }, "includeSourceBranchName": { "rule": {}, "required": false, "type": "vuex-input", "component": "vuex-input", "label": "Listen to the following branches", "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } }, "excludeSourceBranchName": { "rule": {}, "required": false, "type": "vuex-input", "component": "vuex-input", "label": "Exclude the following source branches", "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } }, "tagName": { "rule": {}, "required": false, "type": "vuex-input", "component": "vuex-input", "label": "Listen to the following tags", "placeholder": "The default is all tags, and multiple tags should be separated by commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "TAG_PUSH" } ] } }, "excludeTagName": { "rule": {}, "required": false, "type": "vuex-input", "component": "vuex-input", "label": "Exclude the following tags", "placeholder": "Multiple tags should be separated by commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "TAG_PUSH" } ] } }, "fromBranches": { "rule": {}, "required": false, "type": "vuex-input", "component": "vuex-input", "label": "Listen to the following source branches", "desc": "Tags created by the Git client do not contain information about the branch they were created from. In this case, tags created cannot be used to listen to the target branch", "placeholder": "Multiple branches should be separated by commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "TAG_PUSH" } ] } }, "pathFilterType": { "rule": {}, "type": "enum-input", "component": "enum-input", "required": true, "label": "Path filtering type", "list": [ { "value": "NamePrefixFilter", "label": "Matching by Path Prefix" }, { "value": "RegexBasedFilter", "label": "Matching by Wildcard" } ], "default": "NamePrefixFilter", "desc": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } }, "includePaths": { "rule": {}, "required": false, "type": "vuex-input", "component": "vuex-input", "label": "Listen to the following paths", "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } }, "excludePaths": { "rule": {}, "required": false, "type": "vuex-input", "component": "vuex-input", "label": "Exclude the following paths", "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } }, "includeUsers": { "rule": {}, "type": "staff-input", "component": "staff-input", "required": false, "label": "Includes following people", "default": [], "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "TAG_PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } }, "excludeUsers": { "rule": {}, "type": "staff-input", "component": "staff-input", "required": false, "label": "Exclude the following people", "default": [], "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "TAG_PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } }, "enableCheck": { "rule": {}, "type": "atom-checkbox", "component": "atom-checkbox", "required": false, "text": "Write commit check", "default": true, "hidden": false, "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } }, "block": { "rule": {}, "type": "atom-checkbox", "component": "atom-checkbox", "required": false, "text": "Lock Commit", "default": false, "hidden": false, "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "enableCheck", "value": true } ] } }, "webhookQueue": { "rule": {}, "type": "atom-checkbox", "component": "atom-checkbox", "required": false, "text": "When the MR has the same source and target branches, only the latest triggered task will be kept in the waiting queue", "default": false, "hidden": false, "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, "includeNoteTypes": { "label": "Listening to the following types of comments", "type": "selector", "component": "selector", "optionsConf": { "searchable": true, "multiple": true }, "options": [ { "id": "Commit", "name": "Providing comments on commit" }, { "id": "Review", "name": "Providing comments on reviews" }, { "id": "Issue", "name": "Providing comments on issue" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } }, "includeNoteComment": { "rule": {}, "required": false, "type": "vuex-input", "component": "vuex-input", "label": "Listening to the following comment", "desc": "", "placeholder": "Separate multiple comments with commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } }, "includeIssueAction": { "label": "Listen to the following action", "type": "selector", "component": "selector", "optionsConf": { "searchable": true, "multiple": true }, "options": [ { "id": "open", "name": "open" }, { "id": "close", "name": "close" }, { "id": "reopen", "name": "reopen" }, { "id": "update", "name": "update" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "ISSUES" } ] } } } }','{}','BlueKing','2','system','system','2020-08-29 12:18:20','2020-09-03 10:43:18', 0); + ('24425d3fa0b645dc8ab23013e9f1df5e','TGit','codeTGitWebHookTrigger','codeTGitWebHookTrigger','[ \"pipeline\" ]','AGENT','[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]','e1bea5430f574f9ea3e0312dc7de9efa','',0,7,NULL,'Start the pipeline when listening to related events of the TGit repository','Start the pipeline when listening to related events of the TGit repository',0,'1.0.0','/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FtgitTrigger.png&logo=true',NULL,b'1',b'0',b'0',NULL,NULL,b'0','1.1','{ "input": { "repositoryType": { "rule": {}, "component": "conditional-input-selector", "required": true, "label": "Repository", "list": [ { "value": "ID", "label": "ID", "key": "repositoryHashId", "rule": {}, "hasAddItem": true, "type": "request-selector", "searchable": true, "placeholder": "Select by repository ID", "required": true, "default": "", "url": "/repository/api/user/repositories/{projectId}/hasPermissionList?permission=USE&repositoryType=CODE_TGIT&page=1&pageSize=1000", "paramId": "repositoryHashId", "paramName": "aliasName", "tools": { "edit": true, "del": false } }, { "value": "NAME", "label": "NAME", "key": "repositoryName", "rule": {}, "type": "vuex-input", "required": true, "hidden": true, "placeholder": "Please select a repository name", "default": "" } ], "default": "ID", "desc": "" }, "eventType": { "rule": {}, "required": false, "component": "enum-input", "type": "enum-input", "label": "Event Type", "list": [ { "label": "Commit Push Hook", "value": "PUSH" }, { "label": "Tag Push Hook", "value": "TAG_PUSH" }, { "label": "Merge Request Hook", "value": "MERGE_REQUEST" }, { "label": "Merge Request Accept Hook", "value": "MERGE_REQUEST_ACCEPT" }, { "label": "Issue Hook", "value": "ISSUES" }, { "label": "Note Hook", "value": "NOTE" } ], "default": "PUSH" }, "branchSettings": { "type": "group", "label": "Branch", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] }, "children": [ { "key": "branchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following target branches", "placeholder": "The default is all branches, and multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" } ] } }, { "key": "excludeBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following target branches", "placeholder": "Multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" } ] } }, { "key": "branchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following target branches", "labelWidth": "105", "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } }, { "key": "excludeBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following target branches", "labelWidth": "105", "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } }, { "key": "includeSourceBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following source branches", "labelWidth": 105, "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } }, { "key": "excludeSourceBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following source branches", "labelWidth": 105, "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } } ] }, "tagSettings": { "type": "group", "label": "Tag", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "TAG_PUSH" } ] }, "children": [ { "rule": {}, "key": "tagName", "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Listen to the following tags", "placeholder": "The default is all tags, and multiple tags should be separated by commas", "default": "" }, { "rule": {}, "key": "excludeTagName", "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Exclude the following tags", "placeholder": "Multiple tags should be separated by commas", "default": "" } ] }, "fromBranches": { "rule": {}, "type": "vuex-input", "required": false, "component": "vuex-input", "label": "Listen to the following source branches", "desc": "Tags created by the Git client do not contain information about the branch they were created from. In this case, tags created cannot be used to listen to the target branch", "placeholder": "Multiple branches should be separated by commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "TAG_PUSH" } ] } }, "pathSettings": { "type": "group", "label": "Path", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] }, "children": [ { "key": "pathFilterType", "rule": {}, "type": "groupItem", "component": "enum-button", "required": true, "list": [ { "value": "NamePrefixFilter", "label": "Matching by Path Prefix" }, { "value": "RegexBasedFilter", "label": "Matching by Wildcard" } ], "default": "NamePrefixFilter", "desc": "" }, { "key": "includePaths", "rule": {}, "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Listen to the following paths", "placeholder": "Separate multiple paths with commas", "default": "" }, { "key": "excludePaths", "rule": {}, "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Exclude the following paths", "placeholder": "Separate multiple paths with commas", "default": "" } ] }, "userSettings": { "type": "group", "label": "User", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" }, { "key": "eventType", "value": "TAG_PUSH" } ] }, "children": [ { "key": "includeUsers", "type": "groupItem", "rule": {}, "component": "staff-input", "required": false, "multiSelect": true, "prependText": "Includes following people", "desc": "", "default": [] }, { "key": "excludeUsers", "type": "groupItem", "rule": {}, "component": "staff-input", "required": false, "multiSelect": true, "prependText": "Exclude the following people", "desc": "", "default": [] } ] }, "enableCheck": { "rule": {}, "type": "atom-checkbox", "component": "atom-checkbox", "required": false, "text": "Write commit check", "desc": "", "default": true, "hidden": false, "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" }, { "key": "eventType", "value": "PUSH" } ] } }, "block": { "rule": {}, "type": "atom-checkbox", "component": "atom-checkbox", "required": false, "text": "Lock Commit", "default": false, "hidden": false, "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "enableCheck", "value": true } ] } }, "skipWip": { "rule": {}, "type": "boolean", "component": "atom-checkbox", "required": false, "text": "Skip wip", "desc": "If checked, then check if the title contains the keyword 'WIP' or '[WIP]'. If it does, do not trigger", "default": false, "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, "includeNoteTypes": { "label": "Listening to the following types of comments", "component": "atom-checkbox-list", "multiSelect": true, "list": [ { "id": "Commit", "name": "Providing comments on commit" }, { "id": "Review", "name": "Providing comments on reviews" }, { "id": "Issue", "name": "Providing comments on issue" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } }, "includeNoteComment": { "rule": {}, "type": "vuex-input", "required": false, "component": "vuex-textarea", "label": "Listening to the following comment", "desc": "", "placeholder": "Separate multiple comments with commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } }, "includeIssueAction": { "label": "Listen to the following action", "component": "atom-checkbox-list", "list": [ { "id": "open", "name": "open" }, { "id": "close", "name": "close" }, { "id": "reopen", "name": "reopen" }, { "id": "update", "name": "update" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "ISSUES" } ] } } } }','{}','BlueKing','2','system','system','2020-08-29 12:18:20','2020-09-03 10:43:18', 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 - ('b7373cdb56ec4a779488f30e26c96208','TGit','codeTGitWebHookTrigger','codeTGitWebHookTrigger','[ \"pipeline\" ]','AGENT','[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]','e1bea5430f574f9ea3e0312dc7de9efa','',0,7,NULL,'Start the pipeline when listening to related events of the TGit repository','Start the pipeline when listening to related events of the TGit repository',0,'2.0.0','/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FtgitTrigger.png&logo=true',NULL,b'1',b'1',b'0',NULL,NULL,b'0','1.1','{"input":{"tips":{"label":"","type":"tips-simple","tipStr":"Merge Request Accept event type has been adjusted to action:merged for Merge Request event"},"repositoryType":{"rule":{},"component":"conditional-input-selector","required":true,"label":"Repository","list":[{"value":"ID","label":"ID","key":"repositoryHashId","rule":{},"hasAddItem":true,"type":"request-selector","searchable":true,"placeholder":"Select by repository ID","required":true,"default":"","url":"/repository/api/user/repositories/{projectId}/hasPermissionList?permission=USE&repositoryType=CODE_TGIT&page=1&pageSize=1000","paramId":"repositoryHashId","paramName":"aliasName","tools":{"edit":true,"del":false}},{"value":"NAME","label":"NAME","key":"repositoryName","rule":{},"type":"vuex-input","required":true,"hidden":true,"placeholder":"Please select a repository name","default":""},{"value":"SELF","label":"PAC","key":"","rule":{},"disabled":true,"type":"vuex-input","required":true,"hidden":true,"placeholder":"Automatically listen to the PAC code repository without the need for settings","default":""}],"default":"ID","desc":""},"eventType":{"rule":{},"required":false,"component":"enum-input","type":"enum-input","label":"Event Type","list":[{"label":"Push","value":"PUSH"},{"label":"Tag","value":"TAG_PUSH"},{"label":"Merge Request","value":"MERGE_REQUEST"},{"label":"Issue","value":"ISSUES"},{"label":"Note","value":"NOTE"}],"default":"PUSH"},"includePushAction":{"label":"Action","bottomDivider":true,"required":true,"component":"atom-checkbox-list","multiSelect":true,"list":[{"id":"push-file","name":"Modify File"},{"id":"new-branch","name":"Create Branch"}],"default":["push-file","new-branch"],"rely":{"operation":"AND","expression":[{"key":"eventType","value":"PUSH"}]}},"includeMrAction":{"label":"Action","component":"atom-checkbox-list","required":true,"list":[{"id":"open","name":"Created"},{"id":"close","name":"Closed"},{"id":"reopen","name":"Reopened"},{"id":"push-update","name":"Push-Updated"},{"id":"merge","name":"Merged"}],"default":["open","reopen","push-update"],"rely":{"operation":"AND","expression":[{"key":"eventType","value":"MERGE_REQUEST"}]}},"branchSettings":{"type":"group","label":"Branch","rely":{"operation":"OR","expression":[{"key":"eventType","value":"PUSH"},{"key":"eventType","value":"MERGE_REQUEST"}]},"children":[{"key":"branchName","type":"groupItem","rule":{},"required":false,"component":"composite-input","prependText":"Listen to the following target branches","placeholder":"The default is all branches, and multiple branches should be separated by commas","default":"","rely":{"operation":"OR","expression":[{"key":"eventType","value":"PUSH"}]}},{"key":"excludeBranchName","type":"groupItem","rule":{},"required":false,"component":"composite-input","prependText":"Exclude the following target branches","placeholder":"Multiple branches should be separated by commas","default":"","rely":{"operation":"OR","expression":[{"key":"eventType","value":"PUSH"}]}},{"key":"branchName","type":"groupItem","rule":{},"required":false,"component":"composite-input","prependText":"Listen to the following target branches","labelWidth":"105","placeholder":"Separate multiple paths with commas","default":"","rely":{"operation":"OR","expression":[{"key":"eventType","value":"MERGE_REQUEST"}]}},{"key":"excludeBranchName","type":"groupItem","rule":{},"required":false,"component":"composite-input","prependText":"Exclude the following target branches","labelWidth":"105","placeholder":"Separate multiple paths with commas","default":"","rely":{"operation":"OR","expression":[{"key":"eventType","value":"MERGE_REQUEST"}]}},{"key":"includeSourceBranchName","type":"groupItem","rule":{},"required":false,"component":"composite-input","prependText":"Listen to the following source branches","labelWidth":105,"placeholder":"Separate multiple paths with commas","default":"","rely":{"operation":"OR","expression":[{"key":"eventType","value":"MERGE_REQUEST"}]}},{"key":"excludeSourceBranchName","type":"groupItem","rule":{},"required":false,"component":"composite-input","prependText":"Exclude the following source branches","labelWidth":105,"placeholder":"Separate multiple paths with commas","default":"","rely":{"operation":"OR","expression":[{"key":"eventType","value":"MERGE_REQUEST"}]}}]},"tagSettings":{"type":"group","label":"Tag","rely":{"operation":"AND","expression":[{"key":"eventType","value":"TAG_PUSH"}]},"children":[{"rule":{},"key":"tagName","type":"groupItem","required":false,"component":"composite-input","prependText":"Listen to the following tags","placeholder":"The default is all tags, and multiple tags should be separated by commas","default":""},{"rule":{},"key":"excludeTagName","type":"groupItem","required":false,"component":"composite-input","prependText":"Exclude the following tags","placeholder":"Multiple tags should be separated by commas","default":""}]},"fromBranches":{"rule":{},"type":"vuex-input","required":false,"component":"vuex-input","label":"Listen to the following source branches","desc":"Tags created by the Git client do not contain information about the branch they were created from. In this case, tags created cannot be used to listen to the target branch","placeholder":"Multiple branches should be separated by commas","default":"","rely":{"operation":"AND","expression":[{"key":"eventType","value":"TAG_PUSH"}]}},"pathSettings":{"type":"group","label":"PATH","rely":{"operation":"OR","expression":[{"key":"eventType","value":"PUSH"},{"key":"eventType","value":"MERGE_REQUEST"}]},"children":[{"key":"pathFilterType","rule":{},"type":"groupItem","component":"enum-button","required":true,"list":[{"value":"NamePrefixFilter","label":"Matching by Path Prefix"},{"value":"RegexBasedFilter","label":"Matching by Wildcard"}],"default":"NamePrefixFilter","desc":""},{"key":"includePaths","rule":{},"type":"groupItem","required":false,"component":"composite-input","prependText":"Listen to the following paths","placeholder":"Separate multiple paths with commas","default":""},{"key":"excludePaths","rule":{},"type":"groupItem","required":false,"component":"composite-input","prependText":"Exclude the following paths","placeholder":"Separate multiple paths with commas","default":""}]},"userSettings":{"type":"group","label":"User","rely":{"operation":"OR","expression":[{"key":"eventType","value":"PUSH"},{"key":"eventType","value":"MERGE_REQUEST"},{"key":"eventType","value":"TAG_PUSH"}]},"children":[{"key":"includeUsers","type":"groupItem","rule":{},"component":"staff-input","required":false,"multiSelect":true,"prependText":"Includes following people","desc":"","default":[]},{"key":"excludeUsers","type":"groupItem","rule":{},"component":"staff-input","required":false,"multiSelect":true,"prependText":"Exclude the following people","desc":"","default":[]}]},"enableCheck":{"rule":{},"type":"atom-checkbox","component":"atom-checkbox","required":false,"text":"Write commit check","desc":"","default":true,"hidden":false,"rely":{"operation":"OR","expression":[{"key":"eventType","value":"MERGE_REQUEST"},{"key":"eventType","value":"PUSH"}]}},"block":{"rule":{},"type":"atom-checkbox","component":"atom-checkbox","required":false,"text":"Lock Commit","default":false,"hidden":false,"rely":{"operation":"AND","expression":[{"key":"eventType","value":"MERGE_REQUEST"},{"key":"enableCheck","value":true}]}},"webhookQueue":{"rule":{},"type":"atom-checkbox","component":"atom-checkbox","required":false,"text":"When the MR has the same source and target branches, only the latest triggered task will be kept in the waiting queue","default":false,"hidden":false,"rely":{"operation":"AND","expression":[{"key":"eventType","value":"MERGE_REQUEST"}]}},"includeNoteTypes":{"label":"Listening to the following types of comments","component":"atom-checkbox-list","multiSelect":true,"list":[{"id":"Commit","name":"Providing comments on commit"},{"id":"Review","name":"Providing comments on reviews"},{"id":"Issue","name":"Providing comments on issue"}],"rely":{"operation":"AND","expression":[{"key":"eventType","value":"NOTE"}]}},"includeNoteComment":{"rule":{},"type":"vuex-input","required":false,"component":"vuex-textarea","label":"Listening to the following comment","desc":"","placeholder":"Separate multiple comments with commas","default":"","rely":{"operation":"AND","expression":[{"key":"eventType","value":"NOTE"}]}},"includeIssueAction":{"label":"Listen to the following action","component":"atom-checkbox-list","list":[{"id":"open","name":"open"},{"id":"close","name":"close"},{"id":"reopen","name":"reopen"},{"id":"update","name":"update"}],"rely":{"operation":"AND","expression":[{"key":"eventType","value":"ISSUES"}]}}}}','{}','BlueKing','2','system','system','2024-05-09 12:00:00','2024-05-09 12:00:00', 0); + ('b7373cdb56ec4a779488f30e26c96208','TGit','codeTGitWebHookTrigger','codeTGitWebHookTrigger','[ \"pipeline\" ]','AGENT','[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]','e1bea5430f574f9ea3e0312dc7de9efa','',0,7,NULL,'Start the pipeline when listening to related events of the TGit repository','Start the pipeline when listening to related events of the TGit repository',0,'2.0.0','/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FtgitTrigger.png&logo=true',NULL,b'1',b'1',b'0',NULL,NULL,b'0','1.1','{ "input": { "tips": { "label": "", "type": "tips-simple", "tipStr": "The event type 'Merge Request Accept' has been adjusted to the action 'merged' corresponding to the 'Merge Request' event" }, "repositoryType": { "rule": {}, "component": "conditional-input-selector", "required": true, "label": "Repository", "list": [ { "value": "ID", "label": "ID", "key": "repositoryHashId", "rule": {}, "hasAddItem": true, "type": "request-selector", "searchable": true, "placeholder": "Select by repository ID", "required": true, "default": "", "url": "/repository/api/user/repositories/{projectId}/hasPermissionList?permission=USE&repositoryType=CODE_TGIT&page=1&pageSize=1000", "paramId": "repositoryHashId", "paramName": "aliasName", "tools": { "edit": true, "del": false } }, { "value": "NAME", "label": "NAME", "key": "repositoryName", "rule": {}, "type": "vuex-input", "required": true, "hidden": true, "placeholder": "Please select a repository name", "default": "" } ], "default": "ID", "desc": "" }, "eventType": { "rule": {}, "required": false, "component": "enum-input", "type": "enum-input", "label": "Event Type", "list": [ { "label": "Push", "value": "PUSH" }, { "label": "Tag", "value": "TAG_PUSH" }, { "label": "Merge Request", "value": "MERGE_REQUEST" }, { "label": "Issue", "value": "ISSUES" }, { "label": "Note", "value": "NOTE" } ], "default": "PUSH" }, "includePushAction": { "label": "Action", "bottomDivider": true, "component": "atom-checkbox-list", "multiSelect": true, "list": [ { "id": "push-file", "name": "Modify File" }, { "id": "new-branch", "name": "Create Branch" } ], "default": [ "push-file", "new-branch" ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "PUSH" } ] } }, "includeMrAction": { "label": "Action", "component": "atom-checkbox-list", "required": true, "list": [ { "id": "open", "name": "Created" }, { "id": "close", "name": "Closed" }, { "id": "reopen", "name": "Reopened" }, { "id": "push-update", "name": "Push-Updated" }, { "id": "merge", "name": "Merged" } ], "default": [ "open", "reopen", "push-update" ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, "branchSettings": { "type": "group", "label": "Branch", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" } ] }, "children": [ { "key": "branchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following target branches", "placeholder": "The default is all branches, and multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" } ] } }, { "key": "excludeBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following target branches", "placeholder": "Multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" } ] } }, { "key": "branchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following target branches", "labelWidth": "105", "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, { "key": "excludeBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following target branches", "labelWidth": "105", "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, { "key": "includeSourceBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following source branches", "labelWidth": 105, "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, { "key": "excludeSourceBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following source branches", "labelWidth": 105, "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } } ] }, "tagSettings": { "type": "group", "label": "Tag", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "TAG_PUSH" } ] }, "children": [ { "rule": {}, "key": "tagName", "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Listen to the following tags", "placeholder": "The default is all tags, and multiple tags should be separated by commas", "default": "" }, { "rule": {}, "key": "excludeTagName", "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Exclude the following tags", "placeholder": "Multiple tags should be separated by commas", "default": "" } ] }, "fromBranches": { "rule": {}, "type": "vuex-input", "required": false, "component": "vuex-input", "label": "Listen to the following source branches", "desc": "Tags created by the Git client do not contain information about the branch they were created from. In this case, tags created cannot be used to listen to the target branch", "placeholder": "Multiple branches should be separated by commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "TAG_PUSH" } ] } }, "pathSettings": { "type": "group", "label": "Path", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" } ] }, "children": [ { "key": "pathFilterType", "rule": {}, "type": "groupItem", "component": "enum-button", "required": true, "list": [ { "value": "NamePrefixFilter", "label": "Matching by Path Prefix" }, { "value": "RegexBasedFilter", "label": "Matching by Wildcard" } ], "default": "NamePrefixFilter", "desc": "" }, { "key": "includePaths", "rule": {}, "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Listen to the following paths", "placeholder": "Separate multiple paths with commas", "default": "" }, { "key": "excludePaths", "rule": {}, "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Exclude the following paths", "placeholder": "Separate multiple paths with commas", "default": "" } ] }, "userSettings": { "type": "group", "label": "User", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "TAG_PUSH" } ] }, "children": [ { "key": "includeUsers", "type": "groupItem", "rule": {}, "component": "staff-input", "required": false, "multiSelect": true, "prependText": "Includes following people", "desc": "", "default": [] }, { "key": "excludeUsers", "type": "groupItem", "rule": {}, "component": "staff-input", "required": false, "multiSelect": true, "prependText": "Exclude the following people", "desc": "", "default": [] } ] }, "enableCheck": { "rule": {}, "type": "atom-checkbox", "component": "atom-checkbox", "required": false, "text": "Write commit check", "desc": "", "default": true, "hidden": false, "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "PUSH" } ] } }, "block": { "rule": {}, "type": "atom-checkbox", "component": "atom-checkbox", "required": false, "text": "Lock Commit", "default": false, "hidden": false, "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "enableCheck", "value": true } ] } }, "skipWip": { "rule": {}, "type": "boolean", "component": "atom-checkbox", "required": false, "text": "Skip wip", "desc": "If checked, then check if the title contains the keyword 'WIP' or '[WIP]'. If it does, do not trigger", "default": false, "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, "includeNoteTypes": { "label": "Listening to the following types of comments", "component": "atom-checkbox-list", "multiSelect": true, "list": [ { "id": "Commit", "name": "Providing comments on commit" }, { "id": "Review", "name": "Providing comments on reviews" }, { "id": "Issue", "name": "Providing comments on issue" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } }, "includeNoteComment": { "rule": {}, "type": "vuex-input", "required": false, "component": "vuex-textarea", "label": "Listening to the following comment", "desc": "", "placeholder": "Separate multiple comments with commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } }, "includeIssueAction": { "label": "Listen to the following action", "component": "atom-checkbox-list", "list": [ { "id": "open", "name": "open" }, { "id": "close", "name": "close" }, { "id": "reopen", "name": "reopen" }, { "id": "update", "name": "update" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "ISSUES" } ] } } } }','{}','BlueKing','2','system','system','2024-05-09 12:00:00','2024-05-09 12:00:00', 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 ('39580f08e9574fc291cdd8c51f39ddee','P4','codeP4WebHookTrigger','codeP4WebHookTrigger','[ \"pipeline\" ]','AGENT','[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]','e1bea5430f574f9ea3e0312dc7de9efa','',0,7,NULL,'Start the pipeline when listening to related events of the Perforce repository',' start the pipeline when listening to related events of the Perforce repository',0,'1.0.0','/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2Fp4Trigger.png&logo=true',NULL,b'1',b'0',b'0',NULL,NULL,b'0','1.1','{"input":{"notice":{"label":"","type":"tips","tipStr":"1. The trigger will create a devops_trigger depot in the repository
2. To create a trigger, the credentials associated with the repository must have administrator privileges
3. Deleting the trigger plugin will not delete the server-side trigger, you need to delete it manually
"},"repositoryType":{"rule":{},"type":"enum-input","required":true,"label":"Repository","list":[{"value":"ID","label":"Select by repository ID"},{"value":"NAME","label":"Enter by repository alias"}],"default":"ID","desc":""},"repositoryHashId":{"rule":{},"label":"","hasAddItem":true,"type":"request-selector","searchable":true,"placeholder":"Please select a repository name","required":true,"default":"","url":"/repository/api/user/repositories/{projectId}/hasPermissionList?permission=USE&repositoryType=CODE_P4&page=1&pageSize=100","paramId":"repositoryHashId","paramName":"aliasName","tools":{"edit":true,"del":false},"rely":{"operation":"OR","expression":[{"key":"repositoryType","value":"ID"}]}},"repositoryName":{"rule":{},"type":"vuex-input","required":true,"label":"","placeholder":"请Enter a repository alias","default":"","rely":{"operation":"AND","expression":[{"key":"repositoryType","value":"NAME"}]}},"eventType":{"rule":{},"required":false,"type":"enum-input","label":"Event Type","list":[{"label":"change commit","value":"CHANGE_COMMIT"},{"label":"change content","value":"CHANGE_CONTENT"},{"label":"change submit","value":"CHANGE_SUBMIT"},{"label":"shelve commit","value":"SHELVE_COMMIT"},{"label":"shelve submit","value":"SHELVE_SUBMIT"}],"default":"CHANGE_COMMIT"},"noticePath":{"label":"","type":"tips","tipStr":"The Perforce path matching starts from the depot path. For example, if there is a demo depot, the configuration rules are as follows:
1. Listen to the aaa stream under //demo, //demo/aaa/**
2. Listen to //demo The java file under, //demo/*.java"},"includePaths":{"rule":{},"required":true,"type":"vuex-input","label":"Listen to the following paths","placeholder":"Separate multiple paths with commas","default":""},"excludePaths":{"rule":{},"required":false,"type":"vuex-input","label":"Exclude the following paths","placeholder":"Separate multiple paths with commas","default":""}}}','{}','BlueKing','2','system','system','2021-11-16 12:18:20','2021-11-16 12:18:20', 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 From 529483582fa39d4bf3f8546fb1e8fe449d54f79c Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Fri, 2 Aug 2024 09:44:47 +0800 Subject: [PATCH 6/8] =?UTF-8?q?feat=EF=BC=9AMR=20=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E8=A7=A6=E5=8F=91=E5=99=A8=E6=94=AF=E6=8C=81=20WIP=20#10683?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/schema/V3_0/ci.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/backend/ci/core/common/common-pipeline-yaml/src/main/resources/schema/V3_0/ci.json b/src/backend/ci/core/common/common-pipeline-yaml/src/main/resources/schema/V3_0/ci.json index cac3c239d04..41a597c4e38 100644 --- a/src/backend/ci/core/common/common-pipeline-yaml/src/main/resources/schema/V3_0/ci.json +++ b/src/backend/ci/core/common/common-pipeline-yaml/src/main/resources/schema/V3_0/ci.json @@ -255,6 +255,9 @@ "type" : "string" } } + }, + "skip-wip" : { + "type" : "boolean" } } } ] @@ -943,6 +946,9 @@ "type" : "string" } } + }, + "skip-wip" : { + "type" : "boolean" } } } ] From d3baa2fda156909fb82b04266d33a60c36a2023b Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Fri, 2 Aug 2024 14:43:10 +0800 Subject: [PATCH 7/8] =?UTF-8?q?feat=EF=BC=9AMR=20=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E8=A7=A6=E5=8F=91=E5=99=A8=E6=94=AF=E6=8C=81=20WIP=20#10683?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sql/5001_init_dml/5001_ci_store-init_dml_mysql.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/support-files/sql/5001_init_dml/5001_ci_store-init_dml_mysql.sql b/support-files/sql/5001_init_dml/5001_ci_store-init_dml_mysql.sql index 5271025f18d..03aa92c5c94 100755 --- a/support-files/sql/5001_init_dml/5001_ci_store-init_dml_mysql.sql +++ b/support-files/sql/5001_init_dml/5001_ci_store-init_dml_mysql.sql @@ -22,9 +22,9 @@ REPLACE INTO `T_ATOM` (`ID`, `NAME`, `ATOM_CODE`, `CLASS_TYPE`, `SERVICE_SCOPE`, 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 ('eaa2bfb9f95245b482039f9bebccfcc9', 'GitHub', 'codeGithubWebHookTrigger', 'codeGithubWebHookTrigger', '[ \"pipeline\" ]', 'AGENT', '[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]', 'e1bea5430f574f9ea3e0312dc7de9efa', '', 0, 7, NULL, 'Start the pipeline when listening to related events of the GitHub repository', 'Start the pipeline when listening to related events of the GitHub repository', 0, '1.0.0', '/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FgithubTrigger.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 ID" }, { "value": "NAME", "label": "Enter by repository alias" } ], "default": "ID", "desc": "" }, "repositoryHashId": { "rule": {}, "type": "text", "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=GITHUB&page=1&pageSize=100", "paramId": "repositoryHashId", "paramName": "aliasName", "tools": { "edit": true, "del": false }, "list": [] }, "repositoryName": { "rule": {}, "type": "text", "component": "vuex-input", "required": true, "hidden": true, "label": "", "placeholder": "Please enter a repository alias", "default": "" }, "branchName": { "rule": {}, "type": "text", "required": false, "component": "vuex-input", "label": "Listen to the following branches", "placeholder": "The default is all branches, and multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "CREATE" }, { "key": "eventType", "value": "PULL_REQUEST" } ] } }, "excludeBranchName": { "rule": {}, "type": "text", "required": false, "component": "vuex-input", "label": "Exclude the following branches", "placeholder": "Multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "CREATE" }, { "key": "eventType", "value": "PULL_REQUEST" } ] } }, "excludeUsers": { "rule": {}, "component": "vuex-input", "required": false, "label": "Exclude the following people", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "CREATE" }, { "key": "eventType", "value": "PULL_REQUEST" } ] } }, "includeMrAction": { "rule": {}, "type": "selector", "component": "selector", "required": false, "searchable": false, "label": "action", "value": [ "open", "reopen", "push-update" ], "multiSelect": true, "list": [ { "id": "open", "name": "Created" }, { "id": "close", "name": "Closed" }, { "id": "reopen", "name": "Reopened" }, { "id": "push-update", "name": "Push Update" }, { "id": "merge", "name": "Merged" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "PULL_REQUEST" } ] } }, "eventType": { "rule": {}, "type": "text", "required": false, "component": "enum-input", "label": "Event Type", "list": [ { "label": "Commit Push Hook", "value": "PUSH", "tips": "Triggered when there is a new push event to the project. If it is a tag push, it will not be triggered." }, { "label": "Create Branch Or Tag", "value": "CREATE", "tips": "Triggered when a new branch or tag is added to the project" }, { "label": "Pull Request Hook", "value": "PULL_REQUEST", "tips": "Triggered when a Pull Request is added to the project" }, { "label": "Code Review Hook", "value": "REVIEW", "tips": "Triggered when there is a code review event to the project" }, { "label": "Issue Hook", "value": "ISSUES", "tips": "Triggered when there is a issues event to the project" }, { "label": "Note Hook", "value": "NOTE", "tips": "Triggered when there is a note event to the project" } ], "default": "PUSH" }, "includeIssueAction": { "label": "Listen to the following action", "type": "selector", "component": "selector", "multiSelect": true, "list": [ { "id": "open", "name": "open" }, { "id": "close", "name": "close" }, { "id": "reopen", "name": "reopen" }, { "id": "update", "name": "update" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "ISSUES" } ] } }, "includeCrState": { "label": "Listen to the following state", "component": "selector", "multiSelect": true, "list": [ { "id": "approving", "name": "approving" }, { "id": "approved", "name": "approved" }, { "id": "change_denied", "name": "change denied" }, { "id": "change_required", "name": "request changes" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "REVIEW" } ] } }, "includeNoteComment": { "rule": {}, "type": "vuex-input", "required": false, "component": "vuex-input", "label": "Listening to the following comment", "desc": "", "placeholder": "Separate multiple comments with commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } }, "includeNoteTypes": { "label": "Listening to the following types of comments", "component": "selector", "multiSelect": true, "list": [ { "id": "Commit", "name": "Providing comments on commit" }, { "id": "Review", "name": "Providing comments on reviews" }, { "id": "Issue", "name": "Providing comments on issue" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } } }', '{}', 'BlueKing', 2, 'system', 'system', '2019-03-04 18:09:39', '2020-04-26 12:17:06', 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 - ('24425d3fa0b645dc8ab23013e9f1df5e','TGit','codeTGitWebHookTrigger','codeTGitWebHookTrigger','[ \"pipeline\" ]','AGENT','[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]','e1bea5430f574f9ea3e0312dc7de9efa','',0,7,NULL,'Start the pipeline when listening to related events of the TGit repository','Start the pipeline when listening to related events of the TGit repository',0,'1.0.0','/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FtgitTrigger.png&logo=true',NULL,b'1',b'0',b'0',NULL,NULL,b'0','1.1','{ "input": { "repositoryType": { "rule": {}, "component": "conditional-input-selector", "required": true, "label": "Repository", "list": [ { "value": "ID", "label": "ID", "key": "repositoryHashId", "rule": {}, "hasAddItem": true, "type": "request-selector", "searchable": true, "placeholder": "Select by repository ID", "required": true, "default": "", "url": "/repository/api/user/repositories/{projectId}/hasPermissionList?permission=USE&repositoryType=CODE_TGIT&page=1&pageSize=1000", "paramId": "repositoryHashId", "paramName": "aliasName", "tools": { "edit": true, "del": false } }, { "value": "NAME", "label": "NAME", "key": "repositoryName", "rule": {}, "type": "vuex-input", "required": true, "hidden": true, "placeholder": "Please select a repository name", "default": "" } ], "default": "ID", "desc": "" }, "eventType": { "rule": {}, "required": false, "component": "enum-input", "type": "enum-input", "label": "Event Type", "list": [ { "label": "Commit Push Hook", "value": "PUSH" }, { "label": "Tag Push Hook", "value": "TAG_PUSH" }, { "label": "Merge Request Hook", "value": "MERGE_REQUEST" }, { "label": "Merge Request Accept Hook", "value": "MERGE_REQUEST_ACCEPT" }, { "label": "Issue Hook", "value": "ISSUES" }, { "label": "Note Hook", "value": "NOTE" } ], "default": "PUSH" }, "branchSettings": { "type": "group", "label": "Branch", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] }, "children": [ { "key": "branchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following target branches", "placeholder": "The default is all branches, and multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" } ] } }, { "key": "excludeBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following target branches", "placeholder": "Multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" } ] } }, { "key": "branchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following target branches", "labelWidth": "105", "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } }, { "key": "excludeBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following target branches", "labelWidth": "105", "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } }, { "key": "includeSourceBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following source branches", "labelWidth": 105, "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } }, { "key": "excludeSourceBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following source branches", "labelWidth": 105, "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } } ] }, "tagSettings": { "type": "group", "label": "Tag", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "TAG_PUSH" } ] }, "children": [ { "rule": {}, "key": "tagName", "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Listen to the following tags", "placeholder": "The default is all tags, and multiple tags should be separated by commas", "default": "" }, { "rule": {}, "key": "excludeTagName", "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Exclude the following tags", "placeholder": "Multiple tags should be separated by commas", "default": "" } ] }, "fromBranches": { "rule": {}, "type": "vuex-input", "required": false, "component": "vuex-input", "label": "Listen to the following source branches", "desc": "Tags created by the Git client do not contain information about the branch they were created from. In this case, tags created cannot be used to listen to the target branch", "placeholder": "Multiple branches should be separated by commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "TAG_PUSH" } ] } }, "pathSettings": { "type": "group", "label": "Path", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] }, "children": [ { "key": "pathFilterType", "rule": {}, "type": "groupItem", "component": "enum-button", "required": true, "list": [ { "value": "NamePrefixFilter", "label": "Matching by Path Prefix" }, { "value": "RegexBasedFilter", "label": "Matching by Wildcard" } ], "default": "NamePrefixFilter", "desc": "" }, { "key": "includePaths", "rule": {}, "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Listen to the following paths", "placeholder": "Separate multiple paths with commas", "default": "" }, { "key": "excludePaths", "rule": {}, "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Exclude the following paths", "placeholder": "Separate multiple paths with commas", "default": "" } ] }, "userSettings": { "type": "group", "label": "User", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" }, { "key": "eventType", "value": "TAG_PUSH" } ] }, "children": [ { "key": "includeUsers", "type": "groupItem", "rule": {}, "component": "staff-input", "required": false, "multiSelect": true, "prependText": "Includes following people", "desc": "", "default": [] }, { "key": "excludeUsers", "type": "groupItem", "rule": {}, "component": "staff-input", "required": false, "multiSelect": true, "prependText": "Exclude the following people", "desc": "", "default": [] } ] }, "enableCheck": { "rule": {}, "type": "atom-checkbox", "component": "atom-checkbox", "required": false, "text": "Write commit check", "desc": "", "default": true, "hidden": false, "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" }, { "key": "eventType", "value": "PUSH" } ] } }, "block": { "rule": {}, "type": "atom-checkbox", "component": "atom-checkbox", "required": false, "text": "Lock Commit", "default": false, "hidden": false, "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "enableCheck", "value": true } ] } }, "skipWip": { "rule": {}, "type": "boolean", "component": "atom-checkbox", "required": false, "text": "Skip wip", "desc": "If checked, then check if the title contains the keyword 'WIP' or '[WIP]'. If it does, do not trigger", "default": false, "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, "includeNoteTypes": { "label": "Listening to the following types of comments", "component": "atom-checkbox-list", "multiSelect": true, "list": [ { "id": "Commit", "name": "Providing comments on commit" }, { "id": "Review", "name": "Providing comments on reviews" }, { "id": "Issue", "name": "Providing comments on issue" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } }, "includeNoteComment": { "rule": {}, "type": "vuex-input", "required": false, "component": "vuex-textarea", "label": "Listening to the following comment", "desc": "", "placeholder": "Separate multiple comments with commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } }, "includeIssueAction": { "label": "Listen to the following action", "component": "atom-checkbox-list", "list": [ { "id": "open", "name": "open" }, { "id": "close", "name": "close" }, { "id": "reopen", "name": "reopen" }, { "id": "update", "name": "update" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "ISSUES" } ] } } } }','{}','BlueKing','2','system','system','2020-08-29 12:18:20','2020-09-03 10:43:18', 0); + ('24425d3fa0b645dc8ab23013e9f1df5e','TGit','codeTGitWebHookTrigger','codeTGitWebHookTrigger','[ \"pipeline\" ]','AGENT','[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]','e1bea5430f574f9ea3e0312dc7de9efa','',0,7,NULL,'Start the pipeline when listening to related events of the TGit repository','Start the pipeline when listening to related events of the TGit repository',0,'1.0.0','/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FtgitTrigger.png&logo=true',NULL,b'1',b'0',b'0',NULL,NULL,b'0','1.1','{ "input": { "repositoryType": { "rule": {}, "component": "conditional-input-selector", "required": true, "label": "Repository", "list": [ { "value": "ID", "label": "ID", "key": "repositoryHashId", "rule": {}, "hasAddItem": true, "type": "request-selector", "searchable": true, "placeholder": "Select by repository ID", "required": true, "default": "", "url": "/repository/api/user/repositories/{projectId}/hasPermissionList?permission=USE&repositoryType=CODE_TGIT&page=1&pageSize=1000", "paramId": "repositoryHashId", "paramName": "aliasName", "tools": { "edit": true, "del": false } }, { "value": "NAME", "label": "NAME", "key": "repositoryName", "rule": {}, "type": "vuex-input", "required": true, "hidden": true, "placeholder": "Please select a repository name", "default": "" } ], "default": "ID", "desc": "" }, "eventType": { "rule": {}, "required": false, "component": "enum-input", "type": "enum-input", "label": "Event Type", "list": [ { "label": "Commit Push Hook", "value": "PUSH" }, { "label": "Tag Push Hook", "value": "TAG_PUSH" }, { "label": "Merge Request Hook", "value": "MERGE_REQUEST" }, { "label": "Merge Request Accept Hook", "value": "MERGE_REQUEST_ACCEPT" }, { "label": "Issue Hook", "value": "ISSUES" }, { "label": "Note Hook", "value": "NOTE" } ], "default": "PUSH" }, "branchSettings": { "type": "group", "label": "Branch", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] }, "children": [ { "key": "branchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following target branches", "placeholder": "The default is all branches, and multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" } ] } }, { "key": "excludeBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following target branches", "placeholder": "Multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" } ] } }, { "key": "branchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following target branches", "labelWidth": "105", "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } }, { "key": "excludeBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following target branches", "labelWidth": "105", "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } }, { "key": "includeSourceBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following source branches", "labelWidth": 105, "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } }, { "key": "excludeSourceBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following source branches", "labelWidth": 105, "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } } ] }, "tagSettings": { "type": "group", "label": "Tag", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "TAG_PUSH" } ] }, "children": [ { "rule": {}, "key": "tagName", "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Listen to the following tags", "placeholder": "The default is all tags, and multiple tags should be separated by commas", "default": "" }, { "rule": {}, "key": "excludeTagName", "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Exclude the following tags", "placeholder": "Multiple tags should be separated by commas", "default": "" } ] }, "fromBranches": { "rule": {}, "type": "vuex-input", "required": false, "component": "vuex-input", "label": "Listen to the following source branches", "desc": "Tags created by the Git client do not contain information about the branch they were created from. In this case, tags created cannot be used to listen to the target branch", "placeholder": "Multiple branches should be separated by commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "TAG_PUSH" } ] } }, "pathSettings": { "type": "group", "label": "Path", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] }, "children": [ { "key": "pathFilterType", "rule": {}, "type": "groupItem", "component": "enum-button", "required": true, "list": [ { "value": "NamePrefixFilter", "label": "Matching by Path Prefix" }, { "value": "RegexBasedFilter", "label": "Matching by Wildcard" } ], "default": "NamePrefixFilter", "desc": "" }, { "key": "includePaths", "rule": {}, "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Listen to the following paths", "placeholder": "Separate multiple paths with commas", "default": "" }, { "key": "excludePaths", "rule": {}, "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Exclude the following paths", "placeholder": "Separate multiple paths with commas", "default": "" } ] }, "userSettings": { "type": "group", "label": "User", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" }, { "key": "eventType", "value": "TAG_PUSH" } ] }, "children": [ { "key": "includeUsers", "type": "groupItem", "rule": {}, "component": "staff-input", "required": false, "multiSelect": true, "prependText": "Includes following people", "desc": "", "default": [] }, { "key": "excludeUsers", "type": "groupItem", "rule": {}, "component": "staff-input", "required": false, "multiSelect": true, "prependText": "Exclude the following people", "desc": "", "default": [] } ] }, "enableCheck": { "rule": {}, "type": "atom-checkbox", "component": "atom-checkbox", "required": false, "text": "Write commit check", "desc": "", "default": true, "hidden": false, "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" }, { "key": "eventType", "value": "PUSH" } ] } }, "block": { "rule": {}, "type": "atom-checkbox", "component": "atom-checkbox", "required": false, "text": "Lock Commit", "default": false, "hidden": false, "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "enableCheck", "value": true } ] } }, "skipWip": { "rule": {}, "type": "boolean", "component": "atom-checkbox", "required": false, "text": "Skip wip", "desc": "If checked, then check if the title contains the keyword \'WIP\' or \'[WIP]\'. If it does, do not trigger", "default": false, "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, "includeNoteTypes": { "label": "Listening to the following types of comments", "component": "atom-checkbox-list", "multiSelect": true, "list": [ { "id": "Commit", "name": "Providing comments on commit" }, { "id": "Review", "name": "Providing comments on reviews" }, { "id": "Issue", "name": "Providing comments on issue" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } }, "includeNoteComment": { "rule": {}, "type": "vuex-input", "required": false, "component": "vuex-textarea", "label": "Listening to the following comment", "desc": "", "placeholder": "Separate multiple comments with commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } }, "includeIssueAction": { "label": "Listen to the following action", "component": "atom-checkbox-list", "list": [ { "id": "open", "name": "open" }, { "id": "close", "name": "close" }, { "id": "reopen", "name": "reopen" }, { "id": "update", "name": "update" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "ISSUES" } ] } } } }','{}','BlueKing','2','system','system','2020-08-29 12:18:20','2020-09-03 10:43:18', 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 - ('b7373cdb56ec4a779488f30e26c96208','TGit','codeTGitWebHookTrigger','codeTGitWebHookTrigger','[ \"pipeline\" ]','AGENT','[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]','e1bea5430f574f9ea3e0312dc7de9efa','',0,7,NULL,'Start the pipeline when listening to related events of the TGit repository','Start the pipeline when listening to related events of the TGit repository',0,'2.0.0','/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FtgitTrigger.png&logo=true',NULL,b'1',b'1',b'0',NULL,NULL,b'0','1.1','{ "input": { "tips": { "label": "", "type": "tips-simple", "tipStr": "The event type 'Merge Request Accept' has been adjusted to the action 'merged' corresponding to the 'Merge Request' event" }, "repositoryType": { "rule": {}, "component": "conditional-input-selector", "required": true, "label": "Repository", "list": [ { "value": "ID", "label": "ID", "key": "repositoryHashId", "rule": {}, "hasAddItem": true, "type": "request-selector", "searchable": true, "placeholder": "Select by repository ID", "required": true, "default": "", "url": "/repository/api/user/repositories/{projectId}/hasPermissionList?permission=USE&repositoryType=CODE_TGIT&page=1&pageSize=1000", "paramId": "repositoryHashId", "paramName": "aliasName", "tools": { "edit": true, "del": false } }, { "value": "NAME", "label": "NAME", "key": "repositoryName", "rule": {}, "type": "vuex-input", "required": true, "hidden": true, "placeholder": "Please select a repository name", "default": "" } ], "default": "ID", "desc": "" }, "eventType": { "rule": {}, "required": false, "component": "enum-input", "type": "enum-input", "label": "Event Type", "list": [ { "label": "Push", "value": "PUSH" }, { "label": "Tag", "value": "TAG_PUSH" }, { "label": "Merge Request", "value": "MERGE_REQUEST" }, { "label": "Issue", "value": "ISSUES" }, { "label": "Note", "value": "NOTE" } ], "default": "PUSH" }, "includePushAction": { "label": "Action", "bottomDivider": true, "component": "atom-checkbox-list", "multiSelect": true, "list": [ { "id": "push-file", "name": "Modify File" }, { "id": "new-branch", "name": "Create Branch" } ], "default": [ "push-file", "new-branch" ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "PUSH" } ] } }, "includeMrAction": { "label": "Action", "component": "atom-checkbox-list", "required": true, "list": [ { "id": "open", "name": "Created" }, { "id": "close", "name": "Closed" }, { "id": "reopen", "name": "Reopened" }, { "id": "push-update", "name": "Push-Updated" }, { "id": "merge", "name": "Merged" } ], "default": [ "open", "reopen", "push-update" ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, "branchSettings": { "type": "group", "label": "Branch", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" } ] }, "children": [ { "key": "branchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following target branches", "placeholder": "The default is all branches, and multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" } ] } }, { "key": "excludeBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following target branches", "placeholder": "Multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" } ] } }, { "key": "branchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following target branches", "labelWidth": "105", "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, { "key": "excludeBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following target branches", "labelWidth": "105", "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, { "key": "includeSourceBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following source branches", "labelWidth": 105, "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, { "key": "excludeSourceBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following source branches", "labelWidth": 105, "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } } ] }, "tagSettings": { "type": "group", "label": "Tag", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "TAG_PUSH" } ] }, "children": [ { "rule": {}, "key": "tagName", "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Listen to the following tags", "placeholder": "The default is all tags, and multiple tags should be separated by commas", "default": "" }, { "rule": {}, "key": "excludeTagName", "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Exclude the following tags", "placeholder": "Multiple tags should be separated by commas", "default": "" } ] }, "fromBranches": { "rule": {}, "type": "vuex-input", "required": false, "component": "vuex-input", "label": "Listen to the following source branches", "desc": "Tags created by the Git client do not contain information about the branch they were created from. In this case, tags created cannot be used to listen to the target branch", "placeholder": "Multiple branches should be separated by commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "TAG_PUSH" } ] } }, "pathSettings": { "type": "group", "label": "Path", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" } ] }, "children": [ { "key": "pathFilterType", "rule": {}, "type": "groupItem", "component": "enum-button", "required": true, "list": [ { "value": "NamePrefixFilter", "label": "Matching by Path Prefix" }, { "value": "RegexBasedFilter", "label": "Matching by Wildcard" } ], "default": "NamePrefixFilter", "desc": "" }, { "key": "includePaths", "rule": {}, "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Listen to the following paths", "placeholder": "Separate multiple paths with commas", "default": "" }, { "key": "excludePaths", "rule": {}, "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Exclude the following paths", "placeholder": "Separate multiple paths with commas", "default": "" } ] }, "userSettings": { "type": "group", "label": "User", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "TAG_PUSH" } ] }, "children": [ { "key": "includeUsers", "type": "groupItem", "rule": {}, "component": "staff-input", "required": false, "multiSelect": true, "prependText": "Includes following people", "desc": "", "default": [] }, { "key": "excludeUsers", "type": "groupItem", "rule": {}, "component": "staff-input", "required": false, "multiSelect": true, "prependText": "Exclude the following people", "desc": "", "default": [] } ] }, "enableCheck": { "rule": {}, "type": "atom-checkbox", "component": "atom-checkbox", "required": false, "text": "Write commit check", "desc": "", "default": true, "hidden": false, "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "PUSH" } ] } }, "block": { "rule": {}, "type": "atom-checkbox", "component": "atom-checkbox", "required": false, "text": "Lock Commit", "default": false, "hidden": false, "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "enableCheck", "value": true } ] } }, "skipWip": { "rule": {}, "type": "boolean", "component": "atom-checkbox", "required": false, "text": "Skip wip", "desc": "If checked, then check if the title contains the keyword 'WIP' or '[WIP]'. If it does, do not trigger", "default": false, "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, "includeNoteTypes": { "label": "Listening to the following types of comments", "component": "atom-checkbox-list", "multiSelect": true, "list": [ { "id": "Commit", "name": "Providing comments on commit" }, { "id": "Review", "name": "Providing comments on reviews" }, { "id": "Issue", "name": "Providing comments on issue" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } }, "includeNoteComment": { "rule": {}, "type": "vuex-input", "required": false, "component": "vuex-textarea", "label": "Listening to the following comment", "desc": "", "placeholder": "Separate multiple comments with commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } }, "includeIssueAction": { "label": "Listen to the following action", "component": "atom-checkbox-list", "list": [ { "id": "open", "name": "open" }, { "id": "close", "name": "close" }, { "id": "reopen", "name": "reopen" }, { "id": "update", "name": "update" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "ISSUES" } ] } } } }','{}','BlueKing','2','system','system','2024-05-09 12:00:00','2024-05-09 12:00:00', 0); + ('b7373cdb56ec4a779488f30e26c96208','TGit','codeTGitWebHookTrigger','codeTGitWebHookTrigger','[ \"pipeline\" ]','AGENT','[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]','e1bea5430f574f9ea3e0312dc7de9efa','',0,7,NULL,'Start the pipeline when listening to related events of the TGit repository','Start the pipeline when listening to related events of the TGit repository',0,'2.0.0','/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FtgitTrigger.png&logo=true',NULL,b'1',b'1',b'0',NULL,NULL,b'0','1.1','{ "input": { "tips": { "label": "", "type": "tips-simple", "tipStr": "The event type 'Merge Request Accept' has been adjusted to the action 'merged' corresponding to the 'Merge Request' event" }, "repositoryType": { "rule": {}, "component": "conditional-input-selector", "required": true, "label": "Repository", "list": [ { "value": "ID", "label": "ID", "key": "repositoryHashId", "rule": {}, "hasAddItem": true, "type": "request-selector", "searchable": true, "placeholder": "Select by repository ID", "required": true, "default": "", "url": "/repository/api/user/repositories/{projectId}/hasPermissionList?permission=USE&repositoryType=CODE_TGIT&page=1&pageSize=1000", "paramId": "repositoryHashId", "paramName": "aliasName", "tools": { "edit": true, "del": false } }, { "value": "NAME", "label": "NAME", "key": "repositoryName", "rule": {}, "type": "vuex-input", "required": true, "hidden": true, "placeholder": "Please select a repository name", "default": "" } ], "default": "ID", "desc": "" }, "eventType": { "rule": {}, "required": false, "component": "enum-input", "type": "enum-input", "label": "Event Type", "list": [ { "label": "Push", "value": "PUSH" }, { "label": "Tag", "value": "TAG_PUSH" }, { "label": "Merge Request", "value": "MERGE_REQUEST" }, { "label": "Issue", "value": "ISSUES" }, { "label": "Note", "value": "NOTE" } ], "default": "PUSH" }, "includePushAction": { "label": "Action", "bottomDivider": true, "component": "atom-checkbox-list", "multiSelect": true, "list": [ { "id": "push-file", "name": "Modify File" }, { "id": "new-branch", "name": "Create Branch" } ], "default": [ "push-file", "new-branch" ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "PUSH" } ] } }, "includeMrAction": { "label": "Action", "component": "atom-checkbox-list", "required": true, "list": [ { "id": "open", "name": "Created" }, { "id": "close", "name": "Closed" }, { "id": "reopen", "name": "Reopened" }, { "id": "push-update", "name": "Push-Updated" }, { "id": "merge", "name": "Merged" } ], "default": [ "open", "reopen", "push-update" ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, "branchSettings": { "type": "group", "label": "Branch", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" } ] }, "children": [ { "key": "branchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following target branches", "placeholder": "The default is all branches, and multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" } ] } }, { "key": "excludeBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following target branches", "placeholder": "Multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" } ] } }, { "key": "branchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following target branches", "labelWidth": "105", "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, { "key": "excludeBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following target branches", "labelWidth": "105", "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, { "key": "includeSourceBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following source branches", "labelWidth": 105, "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, { "key": "excludeSourceBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following source branches", "labelWidth": 105, "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } } ] }, "tagSettings": { "type": "group", "label": "Tag", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "TAG_PUSH" } ] }, "children": [ { "rule": {}, "key": "tagName", "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Listen to the following tags", "placeholder": "The default is all tags, and multiple tags should be separated by commas", "default": "" }, { "rule": {}, "key": "excludeTagName", "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Exclude the following tags", "placeholder": "Multiple tags should be separated by commas", "default": "" } ] }, "fromBranches": { "rule": {}, "type": "vuex-input", "required": false, "component": "vuex-input", "label": "Listen to the following source branches", "desc": "Tags created by the Git client do not contain information about the branch they were created from. In this case, tags created cannot be used to listen to the target branch", "placeholder": "Multiple branches should be separated by commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "TAG_PUSH" } ] } }, "pathSettings": { "type": "group", "label": "Path", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" } ] }, "children": [ { "key": "pathFilterType", "rule": {}, "type": "groupItem", "component": "enum-button", "required": true, "list": [ { "value": "NamePrefixFilter", "label": "Matching by Path Prefix" }, { "value": "RegexBasedFilter", "label": "Matching by Wildcard" } ], "default": "NamePrefixFilter", "desc": "" }, { "key": "includePaths", "rule": {}, "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Listen to the following paths", "placeholder": "Separate multiple paths with commas", "default": "" }, { "key": "excludePaths", "rule": {}, "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Exclude the following paths", "placeholder": "Separate multiple paths with commas", "default": "" } ] }, "userSettings": { "type": "group", "label": "User", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "TAG_PUSH" } ] }, "children": [ { "key": "includeUsers", "type": "groupItem", "rule": {}, "component": "staff-input", "required": false, "multiSelect": true, "prependText": "Includes following people", "desc": "", "default": [] }, { "key": "excludeUsers", "type": "groupItem", "rule": {}, "component": "staff-input", "required": false, "multiSelect": true, "prependText": "Exclude the following people", "desc": "", "default": [] } ] }, "enableCheck": { "rule": {}, "type": "atom-checkbox", "component": "atom-checkbox", "required": false, "text": "Write commit check", "desc": "", "default": true, "hidden": false, "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "PUSH" } ] } }, "block": { "rule": {}, "type": "atom-checkbox", "component": "atom-checkbox", "required": false, "text": "Lock Commit", "default": false, "hidden": false, "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "enableCheck", "value": true } ] } }, "skipWip": { "rule": {}, "type": "boolean", "component": "atom-checkbox", "required": false, "text": "Skip wip", "desc": "If checked, then check if the title contains the keyword \'WIP\' or \'[WIP]\'. If it does, do not trigger", "default": false, "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, "includeNoteTypes": { "label": "Listening to the following types of comments", "component": "atom-checkbox-list", "multiSelect": true, "list": [ { "id": "Commit", "name": "Providing comments on commit" }, { "id": "Review", "name": "Providing comments on reviews" }, { "id": "Issue", "name": "Providing comments on issue" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } }, "includeNoteComment": { "rule": {}, "type": "vuex-input", "required": false, "component": "vuex-textarea", "label": "Listening to the following comment", "desc": "", "placeholder": "Separate multiple comments with commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } }, "includeIssueAction": { "label": "Listen to the following action", "component": "atom-checkbox-list", "list": [ { "id": "open", "name": "open" }, { "id": "close", "name": "close" }, { "id": "reopen", "name": "reopen" }, { "id": "update", "name": "update" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "ISSUES" } ] } } } }','{}','BlueKing','2','system','system','2024-05-09 12:00:00','2024-05-09 12:00:00', 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 ('39580f08e9574fc291cdd8c51f39ddee','P4','codeP4WebHookTrigger','codeP4WebHookTrigger','[ \"pipeline\" ]','AGENT','[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]','e1bea5430f574f9ea3e0312dc7de9efa','',0,7,NULL,'Start the pipeline when listening to related events of the Perforce repository',' start the pipeline when listening to related events of the Perforce repository',0,'1.0.0','/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2Fp4Trigger.png&logo=true',NULL,b'1',b'0',b'0',NULL,NULL,b'0','1.1','{"input":{"notice":{"label":"","type":"tips","tipStr":"1. The trigger will create a devops_trigger depot in the repository
2. To create a trigger, the credentials associated with the repository must have administrator privileges
3. Deleting the trigger plugin will not delete the server-side trigger, you need to delete it manually
"},"repositoryType":{"rule":{},"type":"enum-input","required":true,"label":"Repository","list":[{"value":"ID","label":"Select by repository ID"},{"value":"NAME","label":"Enter by repository alias"}],"default":"ID","desc":""},"repositoryHashId":{"rule":{},"label":"","hasAddItem":true,"type":"request-selector","searchable":true,"placeholder":"Please select a repository name","required":true,"default":"","url":"/repository/api/user/repositories/{projectId}/hasPermissionList?permission=USE&repositoryType=CODE_P4&page=1&pageSize=100","paramId":"repositoryHashId","paramName":"aliasName","tools":{"edit":true,"del":false},"rely":{"operation":"OR","expression":[{"key":"repositoryType","value":"ID"}]}},"repositoryName":{"rule":{},"type":"vuex-input","required":true,"label":"","placeholder":"请Enter a repository alias","default":"","rely":{"operation":"AND","expression":[{"key":"repositoryType","value":"NAME"}]}},"eventType":{"rule":{},"required":false,"type":"enum-input","label":"Event Type","list":[{"label":"change commit","value":"CHANGE_COMMIT"},{"label":"change content","value":"CHANGE_CONTENT"},{"label":"change submit","value":"CHANGE_SUBMIT"},{"label":"shelve commit","value":"SHELVE_COMMIT"},{"label":"shelve submit","value":"SHELVE_SUBMIT"}],"default":"CHANGE_COMMIT"},"noticePath":{"label":"","type":"tips","tipStr":"The Perforce path matching starts from the depot path. For example, if there is a demo depot, the configuration rules are as follows:
1. Listen to the aaa stream under //demo, //demo/aaa/**
2. Listen to //demo The java file under, //demo/*.java"},"includePaths":{"rule":{},"required":true,"type":"vuex-input","label":"Listen to the following paths","placeholder":"Separate multiple paths with commas","default":""},"excludePaths":{"rule":{},"required":false,"type":"vuex-input","label":"Exclude the following paths","placeholder":"Separate multiple paths with commas","default":""}}}','{}','BlueKing','2','system','system','2021-11-16 12:18:20','2021-11-16 12:18:20', 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 From 8ae8996244b85be97355037c9b50d03386a2e1ac Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Fri, 2 Aug 2024 14:54:38 +0800 Subject: [PATCH 8/8] =?UTF-8?q?feat=EF=BC=9AMR=20=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E8=A7=A6=E5=8F=91=E5=99=A8=E6=94=AF=E6=8C=81=20WIP=20#10683=20?= =?UTF-8?q?=E8=B0=83=E6=95=B4SQL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sql/5001_init_dml/5001_ci_store-init_dml_mysql.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/support-files/sql/5001_init_dml/5001_ci_store-init_dml_mysql.sql b/support-files/sql/5001_init_dml/5001_ci_store-init_dml_mysql.sql index 03aa92c5c94..1e48ff1feff 100755 --- a/support-files/sql/5001_init_dml/5001_ci_store-init_dml_mysql.sql +++ b/support-files/sql/5001_init_dml/5001_ci_store-init_dml_mysql.sql @@ -22,9 +22,9 @@ REPLACE INTO `T_ATOM` (`ID`, `NAME`, `ATOM_CODE`, `CLASS_TYPE`, `SERVICE_SCOPE`, 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 ('eaa2bfb9f95245b482039f9bebccfcc9', 'GitHub', 'codeGithubWebHookTrigger', 'codeGithubWebHookTrigger', '[ \"pipeline\" ]', 'AGENT', '[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]', 'e1bea5430f574f9ea3e0312dc7de9efa', '', 0, 7, NULL, 'Start the pipeline when listening to related events of the GitHub repository', 'Start the pipeline when listening to related events of the GitHub repository', 0, '1.0.0', '/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FgithubTrigger.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 ID" }, { "value": "NAME", "label": "Enter by repository alias" } ], "default": "ID", "desc": "" }, "repositoryHashId": { "rule": {}, "type": "text", "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=GITHUB&page=1&pageSize=100", "paramId": "repositoryHashId", "paramName": "aliasName", "tools": { "edit": true, "del": false }, "list": [] }, "repositoryName": { "rule": {}, "type": "text", "component": "vuex-input", "required": true, "hidden": true, "label": "", "placeholder": "Please enter a repository alias", "default": "" }, "branchName": { "rule": {}, "type": "text", "required": false, "component": "vuex-input", "label": "Listen to the following branches", "placeholder": "The default is all branches, and multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "CREATE" }, { "key": "eventType", "value": "PULL_REQUEST" } ] } }, "excludeBranchName": { "rule": {}, "type": "text", "required": false, "component": "vuex-input", "label": "Exclude the following branches", "placeholder": "Multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "CREATE" }, { "key": "eventType", "value": "PULL_REQUEST" } ] } }, "excludeUsers": { "rule": {}, "component": "vuex-input", "required": false, "label": "Exclude the following people", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "CREATE" }, { "key": "eventType", "value": "PULL_REQUEST" } ] } }, "includeMrAction": { "rule": {}, "type": "selector", "component": "selector", "required": false, "searchable": false, "label": "action", "value": [ "open", "reopen", "push-update" ], "multiSelect": true, "list": [ { "id": "open", "name": "Created" }, { "id": "close", "name": "Closed" }, { "id": "reopen", "name": "Reopened" }, { "id": "push-update", "name": "Push Update" }, { "id": "merge", "name": "Merged" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "PULL_REQUEST" } ] } }, "eventType": { "rule": {}, "type": "text", "required": false, "component": "enum-input", "label": "Event Type", "list": [ { "label": "Commit Push Hook", "value": "PUSH", "tips": "Triggered when there is a new push event to the project. If it is a tag push, it will not be triggered." }, { "label": "Create Branch Or Tag", "value": "CREATE", "tips": "Triggered when a new branch or tag is added to the project" }, { "label": "Pull Request Hook", "value": "PULL_REQUEST", "tips": "Triggered when a Pull Request is added to the project" }, { "label": "Code Review Hook", "value": "REVIEW", "tips": "Triggered when there is a code review event to the project" }, { "label": "Issue Hook", "value": "ISSUES", "tips": "Triggered when there is a issues event to the project" }, { "label": "Note Hook", "value": "NOTE", "tips": "Triggered when there is a note event to the project" } ], "default": "PUSH" }, "includeIssueAction": { "label": "Listen to the following action", "type": "selector", "component": "selector", "multiSelect": true, "list": [ { "id": "open", "name": "open" }, { "id": "close", "name": "close" }, { "id": "reopen", "name": "reopen" }, { "id": "update", "name": "update" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "ISSUES" } ] } }, "includeCrState": { "label": "Listen to the following state", "component": "selector", "multiSelect": true, "list": [ { "id": "approving", "name": "approving" }, { "id": "approved", "name": "approved" }, { "id": "change_denied", "name": "change denied" }, { "id": "change_required", "name": "request changes" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "REVIEW" } ] } }, "includeNoteComment": { "rule": {}, "type": "vuex-input", "required": false, "component": "vuex-input", "label": "Listening to the following comment", "desc": "", "placeholder": "Separate multiple comments with commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } }, "includeNoteTypes": { "label": "Listening to the following types of comments", "component": "selector", "multiSelect": true, "list": [ { "id": "Commit", "name": "Providing comments on commit" }, { "id": "Review", "name": "Providing comments on reviews" }, { "id": "Issue", "name": "Providing comments on issue" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } } }', '{}', 'BlueKing', 2, 'system', 'system', '2019-03-04 18:09:39', '2020-04-26 12:17:06', 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 - ('24425d3fa0b645dc8ab23013e9f1df5e','TGit','codeTGitWebHookTrigger','codeTGitWebHookTrigger','[ \"pipeline\" ]','AGENT','[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]','e1bea5430f574f9ea3e0312dc7de9efa','',0,7,NULL,'Start the pipeline when listening to related events of the TGit repository','Start the pipeline when listening to related events of the TGit repository',0,'1.0.0','/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FtgitTrigger.png&logo=true',NULL,b'1',b'0',b'0',NULL,NULL,b'0','1.1','{ "input": { "repositoryType": { "rule": {}, "component": "conditional-input-selector", "required": true, "label": "Repository", "list": [ { "value": "ID", "label": "ID", "key": "repositoryHashId", "rule": {}, "hasAddItem": true, "type": "request-selector", "searchable": true, "placeholder": "Select by repository ID", "required": true, "default": "", "url": "/repository/api/user/repositories/{projectId}/hasPermissionList?permission=USE&repositoryType=CODE_TGIT&page=1&pageSize=1000", "paramId": "repositoryHashId", "paramName": "aliasName", "tools": { "edit": true, "del": false } }, { "value": "NAME", "label": "NAME", "key": "repositoryName", "rule": {}, "type": "vuex-input", "required": true, "hidden": true, "placeholder": "Please select a repository name", "default": "" } ], "default": "ID", "desc": "" }, "eventType": { "rule": {}, "required": false, "component": "enum-input", "type": "enum-input", "label": "Event Type", "list": [ { "label": "Commit Push Hook", "value": "PUSH" }, { "label": "Tag Push Hook", "value": "TAG_PUSH" }, { "label": "Merge Request Hook", "value": "MERGE_REQUEST" }, { "label": "Merge Request Accept Hook", "value": "MERGE_REQUEST_ACCEPT" }, { "label": "Issue Hook", "value": "ISSUES" }, { "label": "Note Hook", "value": "NOTE" } ], "default": "PUSH" }, "branchSettings": { "type": "group", "label": "Branch", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] }, "children": [ { "key": "branchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following target branches", "placeholder": "The default is all branches, and multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" } ] } }, { "key": "excludeBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following target branches", "placeholder": "Multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" } ] } }, { "key": "branchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following target branches", "labelWidth": "105", "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } }, { "key": "excludeBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following target branches", "labelWidth": "105", "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } }, { "key": "includeSourceBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following source branches", "labelWidth": 105, "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } }, { "key": "excludeSourceBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following source branches", "labelWidth": 105, "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } } ] }, "tagSettings": { "type": "group", "label": "Tag", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "TAG_PUSH" } ] }, "children": [ { "rule": {}, "key": "tagName", "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Listen to the following tags", "placeholder": "The default is all tags, and multiple tags should be separated by commas", "default": "" }, { "rule": {}, "key": "excludeTagName", "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Exclude the following tags", "placeholder": "Multiple tags should be separated by commas", "default": "" } ] }, "fromBranches": { "rule": {}, "type": "vuex-input", "required": false, "component": "vuex-input", "label": "Listen to the following source branches", "desc": "Tags created by the Git client do not contain information about the branch they were created from. In this case, tags created cannot be used to listen to the target branch", "placeholder": "Multiple branches should be separated by commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "TAG_PUSH" } ] } }, "pathSettings": { "type": "group", "label": "Path", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] }, "children": [ { "key": "pathFilterType", "rule": {}, "type": "groupItem", "component": "enum-button", "required": true, "list": [ { "value": "NamePrefixFilter", "label": "Matching by Path Prefix" }, { "value": "RegexBasedFilter", "label": "Matching by Wildcard" } ], "default": "NamePrefixFilter", "desc": "" }, { "key": "includePaths", "rule": {}, "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Listen to the following paths", "placeholder": "Separate multiple paths with commas", "default": "" }, { "key": "excludePaths", "rule": {}, "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Exclude the following paths", "placeholder": "Separate multiple paths with commas", "default": "" } ] }, "userSettings": { "type": "group", "label": "User", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" }, { "key": "eventType", "value": "TAG_PUSH" } ] }, "children": [ { "key": "includeUsers", "type": "groupItem", "rule": {}, "component": "staff-input", "required": false, "multiSelect": true, "prependText": "Includes following people", "desc": "", "default": [] }, { "key": "excludeUsers", "type": "groupItem", "rule": {}, "component": "staff-input", "required": false, "multiSelect": true, "prependText": "Exclude the following people", "desc": "", "default": [] } ] }, "enableCheck": { "rule": {}, "type": "atom-checkbox", "component": "atom-checkbox", "required": false, "text": "Write commit check", "desc": "", "default": true, "hidden": false, "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" }, { "key": "eventType", "value": "PUSH" } ] } }, "block": { "rule": {}, "type": "atom-checkbox", "component": "atom-checkbox", "required": false, "text": "Lock Commit", "default": false, "hidden": false, "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "enableCheck", "value": true } ] } }, "skipWip": { "rule": {}, "type": "boolean", "component": "atom-checkbox", "required": false, "text": "Skip wip", "desc": "If checked, then check if the title contains the keyword \'WIP\' or \'[WIP]\'. If it does, do not trigger", "default": false, "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, "includeNoteTypes": { "label": "Listening to the following types of comments", "component": "atom-checkbox-list", "multiSelect": true, "list": [ { "id": "Commit", "name": "Providing comments on commit" }, { "id": "Review", "name": "Providing comments on reviews" }, { "id": "Issue", "name": "Providing comments on issue" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } }, "includeNoteComment": { "rule": {}, "type": "vuex-input", "required": false, "component": "vuex-textarea", "label": "Listening to the following comment", "desc": "", "placeholder": "Separate multiple comments with commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } }, "includeIssueAction": { "label": "Listen to the following action", "component": "atom-checkbox-list", "list": [ { "id": "open", "name": "open" }, { "id": "close", "name": "close" }, { "id": "reopen", "name": "reopen" }, { "id": "update", "name": "update" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "ISSUES" } ] } } } }','{}','BlueKing','2','system','system','2020-08-29 12:18:20','2020-09-03 10:43:18', 0); + ('24425d3fa0b645dc8ab23013e9f1df5e','TGit','codeTGitWebHookTrigger','codeTGitWebHookTrigger','[ \"pipeline\" ]','AGENT','[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]','e1bea5430f574f9ea3e0312dc7de9efa','',0,7,NULL,'Start the pipeline when listening to related events of the TGit repository','Start the pipeline when listening to related events of the TGit repository',0,'1.0.0','/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FtgitTrigger.png&logo=true',NULL,b'1',b'0',b'0',NULL,NULL,b'0','1.1','{ "input": { "repositoryType": { "rule": {}, "component": "conditional-input-selector", "required": true, "label": "Repository", "list": [ { "value": "ID", "label": "ID", "key": "repositoryHashId", "rule": {}, "hasAddItem": true, "type": "request-selector", "searchable": true, "placeholder": "Select by repository ID", "required": true, "default": "", "url": "/repository/api/user/repositories/{projectId}/hasPermissionList?permission=USE&repositoryType=CODE_TGIT&page=1&pageSize=1000", "paramId": "repositoryHashId", "paramName": "aliasName", "tools": { "edit": true, "del": false } }, { "value": "NAME", "label": "NAME", "key": "repositoryName", "rule": {}, "type": "vuex-input", "required": true, "hidden": true, "placeholder": "Please select a repository name", "default": "" } ], "default": "ID", "desc": "" }, "eventType": { "rule": {}, "required": false, "component": "enum-input", "type": "enum-input", "label": "Event Type", "list": [ { "label": "Commit Push Hook", "value": "PUSH" }, { "label": "Tag Push Hook", "value": "TAG_PUSH" }, { "label": "Merge Request Hook", "value": "MERGE_REQUEST" }, { "label": "Merge Request Accept Hook", "value": "MERGE_REQUEST_ACCEPT" }, { "label": "Issue Hook", "value": "ISSUES" }, { "label": "Note Hook", "value": "NOTE" } ], "default": "PUSH" }, "branchSettings": { "type": "group", "label": "Branch", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] }, "children": [ { "key": "branchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following target branches", "placeholder": "The default is all branches, and multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" } ] } }, { "key": "excludeBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following target branches", "placeholder": "Multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" } ] } }, { "key": "branchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following target branches", "labelWidth": "105", "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } }, { "key": "excludeBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following target branches", "labelWidth": "105", "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } }, { "key": "includeSourceBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following source branches", "labelWidth": 105, "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } }, { "key": "excludeSourceBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following source branches", "labelWidth": 105, "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] } } ] }, "tagSettings": { "type": "group", "label": "Tag", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "TAG_PUSH" } ] }, "children": [ { "rule": {}, "key": "tagName", "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Listen to the following tags", "placeholder": "The default is all tags, and multiple tags should be separated by commas", "default": "" }, { "rule": {}, "key": "excludeTagName", "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Exclude the following tags", "placeholder": "Multiple tags should be separated by commas", "default": "" } ] }, "fromBranches": { "rule": {}, "type": "vuex-input", "required": false, "component": "vuex-input", "label": "Listen to the following source branches", "desc": "Tags created by the Git client do not contain information about the branch they were created from. In this case, tags created cannot be used to listen to the target branch", "placeholder": "Multiple branches should be separated by commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "TAG_PUSH" } ] } }, "pathSettings": { "type": "group", "label": "Path", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" } ] }, "children": [ { "key": "pathFilterType", "rule": {}, "type": "groupItem", "component": "enum-button", "required": true, "list": [ { "value": "NamePrefixFilter", "label": "Matching by Path Prefix" }, { "value": "RegexBasedFilter", "label": "Matching by Wildcard" } ], "default": "NamePrefixFilter", "desc": "" }, { "key": "includePaths", "rule": {}, "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Listen to the following paths", "placeholder": "Separate multiple paths with commas", "default": "" }, { "key": "excludePaths", "rule": {}, "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Exclude the following paths", "placeholder": "Separate multiple paths with commas", "default": "" } ] }, "userSettings": { "type": "group", "label": "User", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" }, { "key": "eventType", "value": "TAG_PUSH" } ] }, "children": [ { "key": "includeUsers", "type": "groupItem", "rule": {}, "component": "staff-input", "required": false, "multiSelect": true, "prependText": "Includes following people", "desc": "", "default": [] }, { "key": "excludeUsers", "type": "groupItem", "rule": {}, "component": "staff-input", "required": false, "multiSelect": true, "prependText": "Exclude the following people", "desc": "", "default": [] } ] }, "enableCheck": { "rule": {}, "type": "atom-checkbox", "component": "atom-checkbox", "required": false, "text": "Write commit check", "desc": "", "default": true, "hidden": false, "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "MERGE_REQUEST_ACCEPT" }, { "key": "eventType", "value": "PUSH" } ] } }, "block": { "rule": {}, "type": "atom-checkbox", "component": "atom-checkbox", "required": false, "text": "Lock Commit", "default": false, "hidden": false, "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "enableCheck", "value": true } ] } }, "skipWip": { "rule": {}, "type": "boolean", "component": "atom-checkbox", "required": false, "text": "Skip wip", "desc": "If checked, then check if the title contains the keyword \"WIP\" or \"[WIP]\". If it does, do not trigger", "default": false, "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, "includeNoteTypes": { "label": "Listening to the following types of comments", "component": "atom-checkbox-list", "multiSelect": true, "list": [ { "id": "Commit", "name": "Providing comments on commit" }, { "id": "Review", "name": "Providing comments on reviews" }, { "id": "Issue", "name": "Providing comments on issue" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } }, "includeNoteComment": { "rule": {}, "type": "vuex-input", "required": false, "component": "vuex-textarea", "label": "Listening to the following comment", "desc": "", "placeholder": "Separate multiple comments with commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } }, "includeIssueAction": { "label": "Listen to the following action", "component": "atom-checkbox-list", "list": [ { "id": "open", "name": "open" }, { "id": "close", "name": "close" }, { "id": "reopen", "name": "reopen" }, { "id": "update", "name": "update" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "ISSUES" } ] } } } }','{}','BlueKing','2','system','system','2020-08-29 12:18:20','2020-09-03 10:43:18', 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 - ('b7373cdb56ec4a779488f30e26c96208','TGit','codeTGitWebHookTrigger','codeTGitWebHookTrigger','[ \"pipeline\" ]','AGENT','[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]','e1bea5430f574f9ea3e0312dc7de9efa','',0,7,NULL,'Start the pipeline when listening to related events of the TGit repository','Start the pipeline when listening to related events of the TGit repository',0,'2.0.0','/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FtgitTrigger.png&logo=true',NULL,b'1',b'1',b'0',NULL,NULL,b'0','1.1','{ "input": { "tips": { "label": "", "type": "tips-simple", "tipStr": "The event type 'Merge Request Accept' has been adjusted to the action 'merged' corresponding to the 'Merge Request' event" }, "repositoryType": { "rule": {}, "component": "conditional-input-selector", "required": true, "label": "Repository", "list": [ { "value": "ID", "label": "ID", "key": "repositoryHashId", "rule": {}, "hasAddItem": true, "type": "request-selector", "searchable": true, "placeholder": "Select by repository ID", "required": true, "default": "", "url": "/repository/api/user/repositories/{projectId}/hasPermissionList?permission=USE&repositoryType=CODE_TGIT&page=1&pageSize=1000", "paramId": "repositoryHashId", "paramName": "aliasName", "tools": { "edit": true, "del": false } }, { "value": "NAME", "label": "NAME", "key": "repositoryName", "rule": {}, "type": "vuex-input", "required": true, "hidden": true, "placeholder": "Please select a repository name", "default": "" } ], "default": "ID", "desc": "" }, "eventType": { "rule": {}, "required": false, "component": "enum-input", "type": "enum-input", "label": "Event Type", "list": [ { "label": "Push", "value": "PUSH" }, { "label": "Tag", "value": "TAG_PUSH" }, { "label": "Merge Request", "value": "MERGE_REQUEST" }, { "label": "Issue", "value": "ISSUES" }, { "label": "Note", "value": "NOTE" } ], "default": "PUSH" }, "includePushAction": { "label": "Action", "bottomDivider": true, "component": "atom-checkbox-list", "multiSelect": true, "list": [ { "id": "push-file", "name": "Modify File" }, { "id": "new-branch", "name": "Create Branch" } ], "default": [ "push-file", "new-branch" ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "PUSH" } ] } }, "includeMrAction": { "label": "Action", "component": "atom-checkbox-list", "required": true, "list": [ { "id": "open", "name": "Created" }, { "id": "close", "name": "Closed" }, { "id": "reopen", "name": "Reopened" }, { "id": "push-update", "name": "Push-Updated" }, { "id": "merge", "name": "Merged" } ], "default": [ "open", "reopen", "push-update" ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, "branchSettings": { "type": "group", "label": "Branch", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" } ] }, "children": [ { "key": "branchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following target branches", "placeholder": "The default is all branches, and multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" } ] } }, { "key": "excludeBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following target branches", "placeholder": "Multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" } ] } }, { "key": "branchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following target branches", "labelWidth": "105", "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, { "key": "excludeBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following target branches", "labelWidth": "105", "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, { "key": "includeSourceBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following source branches", "labelWidth": 105, "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, { "key": "excludeSourceBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following source branches", "labelWidth": 105, "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } } ] }, "tagSettings": { "type": "group", "label": "Tag", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "TAG_PUSH" } ] }, "children": [ { "rule": {}, "key": "tagName", "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Listen to the following tags", "placeholder": "The default is all tags, and multiple tags should be separated by commas", "default": "" }, { "rule": {}, "key": "excludeTagName", "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Exclude the following tags", "placeholder": "Multiple tags should be separated by commas", "default": "" } ] }, "fromBranches": { "rule": {}, "type": "vuex-input", "required": false, "component": "vuex-input", "label": "Listen to the following source branches", "desc": "Tags created by the Git client do not contain information about the branch they were created from. In this case, tags created cannot be used to listen to the target branch", "placeholder": "Multiple branches should be separated by commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "TAG_PUSH" } ] } }, "pathSettings": { "type": "group", "label": "Path", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" } ] }, "children": [ { "key": "pathFilterType", "rule": {}, "type": "groupItem", "component": "enum-button", "required": true, "list": [ { "value": "NamePrefixFilter", "label": "Matching by Path Prefix" }, { "value": "RegexBasedFilter", "label": "Matching by Wildcard" } ], "default": "NamePrefixFilter", "desc": "" }, { "key": "includePaths", "rule": {}, "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Listen to the following paths", "placeholder": "Separate multiple paths with commas", "default": "" }, { "key": "excludePaths", "rule": {}, "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Exclude the following paths", "placeholder": "Separate multiple paths with commas", "default": "" } ] }, "userSettings": { "type": "group", "label": "User", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "TAG_PUSH" } ] }, "children": [ { "key": "includeUsers", "type": "groupItem", "rule": {}, "component": "staff-input", "required": false, "multiSelect": true, "prependText": "Includes following people", "desc": "", "default": [] }, { "key": "excludeUsers", "type": "groupItem", "rule": {}, "component": "staff-input", "required": false, "multiSelect": true, "prependText": "Exclude the following people", "desc": "", "default": [] } ] }, "enableCheck": { "rule": {}, "type": "atom-checkbox", "component": "atom-checkbox", "required": false, "text": "Write commit check", "desc": "", "default": true, "hidden": false, "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "PUSH" } ] } }, "block": { "rule": {}, "type": "atom-checkbox", "component": "atom-checkbox", "required": false, "text": "Lock Commit", "default": false, "hidden": false, "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "enableCheck", "value": true } ] } }, "skipWip": { "rule": {}, "type": "boolean", "component": "atom-checkbox", "required": false, "text": "Skip wip", "desc": "If checked, then check if the title contains the keyword \'WIP\' or \'[WIP]\'. If it does, do not trigger", "default": false, "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, "includeNoteTypes": { "label": "Listening to the following types of comments", "component": "atom-checkbox-list", "multiSelect": true, "list": [ { "id": "Commit", "name": "Providing comments on commit" }, { "id": "Review", "name": "Providing comments on reviews" }, { "id": "Issue", "name": "Providing comments on issue" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } }, "includeNoteComment": { "rule": {}, "type": "vuex-input", "required": false, "component": "vuex-textarea", "label": "Listening to the following comment", "desc": "", "placeholder": "Separate multiple comments with commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } }, "includeIssueAction": { "label": "Listen to the following action", "component": "atom-checkbox-list", "list": [ { "id": "open", "name": "open" }, { "id": "close", "name": "close" }, { "id": "reopen", "name": "reopen" }, { "id": "update", "name": "update" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "ISSUES" } ] } } } }','{}','BlueKing','2','system','system','2024-05-09 12:00:00','2024-05-09 12:00:00', 0); + ('b7373cdb56ec4a779488f30e26c96208','TGit','codeTGitWebHookTrigger','codeTGitWebHookTrigger','[ \"pipeline\" ]','AGENT','[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]','e1bea5430f574f9ea3e0312dc7de9efa','',0,7,NULL,'Start the pipeline when listening to related events of the TGit repository','Start the pipeline when listening to related events of the TGit repository',0,'2.0.0','/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2FtgitTrigger.png&logo=true',NULL,b'1',b'1',b'0',NULL,NULL,b'0','1.1','{ "input": { "tips": { "label": "", "type": "tips-simple", "tipStr": "The event type \"Merge Request Accept\" has been adjusted to the action \"merged\" corresponding to the \"Merge Request\" event" }, "repositoryType": { "rule": {}, "component": "conditional-input-selector", "required": true, "label": "Repository", "list": [ { "value": "ID", "label": "ID", "key": "repositoryHashId", "rule": {}, "hasAddItem": true, "type": "request-selector", "searchable": true, "placeholder": "Select by repository ID", "required": true, "default": "", "url": "/repository/api/user/repositories/{projectId}/hasPermissionList?permission=USE&repositoryType=CODE_TGIT&page=1&pageSize=1000", "paramId": "repositoryHashId", "paramName": "aliasName", "tools": { "edit": true, "del": false } }, { "value": "NAME", "label": "NAME", "key": "repositoryName", "rule": {}, "type": "vuex-input", "required": true, "hidden": true, "placeholder": "Please select a repository name", "default": "" } ], "default": "ID", "desc": "" }, "eventType": { "rule": {}, "required": false, "component": "enum-input", "type": "enum-input", "label": "Event Type", "list": [ { "label": "Push", "value": "PUSH" }, { "label": "Tag", "value": "TAG_PUSH" }, { "label": "Merge Request", "value": "MERGE_REQUEST" }, { "label": "Issue", "value": "ISSUES" }, { "label": "Note", "value": "NOTE" } ], "default": "PUSH" }, "includePushAction": { "label": "Action", "bottomDivider": true, "component": "atom-checkbox-list", "multiSelect": true, "list": [ { "id": "push-file", "name": "Modify File" }, { "id": "new-branch", "name": "Create Branch" } ], "default": [ "push-file", "new-branch" ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "PUSH" } ] } }, "includeMrAction": { "label": "Action", "component": "atom-checkbox-list", "required": true, "list": [ { "id": "open", "name": "Created" }, { "id": "close", "name": "Closed" }, { "id": "reopen", "name": "Reopened" }, { "id": "push-update", "name": "Push-Updated" }, { "id": "merge", "name": "Merged" } ], "default": [ "open", "reopen", "push-update" ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, "branchSettings": { "type": "group", "label": "Branch", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" } ] }, "children": [ { "key": "branchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following target branches", "placeholder": "The default is all branches, and multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" } ] } }, { "key": "excludeBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following target branches", "placeholder": "Multiple branches should be separated by commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" } ] } }, { "key": "branchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following target branches", "labelWidth": "105", "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, { "key": "excludeBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following target branches", "labelWidth": "105", "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, { "key": "includeSourceBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Listen to the following source branches", "labelWidth": 105, "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, { "key": "excludeSourceBranchName", "type": "groupItem", "rule": {}, "required": false, "component": "composite-input", "prependText": "Exclude the following source branches", "labelWidth": 105, "placeholder": "Separate multiple paths with commas", "default": "", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } } ] }, "tagSettings": { "type": "group", "label": "Tag", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "TAG_PUSH" } ] }, "children": [ { "rule": {}, "key": "tagName", "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Listen to the following tags", "placeholder": "The default is all tags, and multiple tags should be separated by commas", "default": "" }, { "rule": {}, "key": "excludeTagName", "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Exclude the following tags", "placeholder": "Multiple tags should be separated by commas", "default": "" } ] }, "fromBranches": { "rule": {}, "type": "vuex-input", "required": false, "component": "vuex-input", "label": "Listen to the following source branches", "desc": "Tags created by the Git client do not contain information about the branch they were created from. In this case, tags created cannot be used to listen to the target branch", "placeholder": "Multiple branches should be separated by commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "TAG_PUSH" } ] } }, "pathSettings": { "type": "group", "label": "Path", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" } ] }, "children": [ { "key": "pathFilterType", "rule": {}, "type": "groupItem", "component": "enum-button", "required": true, "list": [ { "value": "NamePrefixFilter", "label": "Matching by Path Prefix" }, { "value": "RegexBasedFilter", "label": "Matching by Wildcard" } ], "default": "NamePrefixFilter", "desc": "" }, { "key": "includePaths", "rule": {}, "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Listen to the following paths", "placeholder": "Separate multiple paths with commas", "default": "" }, { "key": "excludePaths", "rule": {}, "type": "groupItem", "required": false, "component": "composite-input", "prependText": "Exclude the following paths", "placeholder": "Separate multiple paths with commas", "default": "" } ] }, "userSettings": { "type": "group", "label": "User", "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "PUSH" }, { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "TAG_PUSH" } ] }, "children": [ { "key": "includeUsers", "type": "groupItem", "rule": {}, "component": "staff-input", "required": false, "multiSelect": true, "prependText": "Includes following people", "desc": "", "default": [] }, { "key": "excludeUsers", "type": "groupItem", "rule": {}, "component": "staff-input", "required": false, "multiSelect": true, "prependText": "Exclude the following people", "desc": "", "default": [] } ] }, "enableCheck": { "rule": {}, "type": "atom-checkbox", "component": "atom-checkbox", "required": false, "text": "Write commit check", "desc": "", "default": true, "hidden": false, "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "eventType", "value": "PUSH" } ] } }, "block": { "rule": {}, "type": "atom-checkbox", "component": "atom-checkbox", "required": false, "text": "Lock Commit", "default": false, "hidden": false, "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" }, { "key": "enableCheck", "value": true } ] } }, "skipWip": { "rule": {}, "type": "boolean", "component": "atom-checkbox", "required": false, "text": "Skip wip", "desc": "If checked, then check if the title contains the keyword \"WIP\" or \"[WIP]\". If it does, do not trigger", "default": false, "rely": { "operation": "OR", "expression": [ { "key": "eventType", "value": "MERGE_REQUEST" } ] } }, "includeNoteTypes": { "label": "Listening to the following types of comments", "component": "atom-checkbox-list", "multiSelect": true, "list": [ { "id": "Commit", "name": "Providing comments on commit" }, { "id": "Review", "name": "Providing comments on reviews" }, { "id": "Issue", "name": "Providing comments on issue" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } }, "includeNoteComment": { "rule": {}, "type": "vuex-input", "required": false, "component": "vuex-textarea", "label": "Listening to the following comment", "desc": "", "placeholder": "Separate multiple comments with commas", "default": "", "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "NOTE" } ] } }, "includeIssueAction": { "label": "Listen to the following action", "component": "atom-checkbox-list", "list": [ { "id": "open", "name": "open" }, { "id": "close", "name": "close" }, { "id": "reopen", "name": "reopen" }, { "id": "update", "name": "update" } ], "rely": { "operation": "AND", "expression": [ { "key": "eventType", "value": "ISSUES" } ] } } } }','{}','BlueKing','2','system','system','2024-05-09 12:00:00','2024-05-09 12:00:00', 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 ('39580f08e9574fc291cdd8c51f39ddee','P4','codeP4WebHookTrigger','codeP4WebHookTrigger','[ \"pipeline\" ]','AGENT','[ \"LINUX\", \"MACOS\", \"WINDOWS\" ]','e1bea5430f574f9ea3e0312dc7de9efa','',0,7,NULL,'Start the pipeline when listening to related events of the Perforce repository',' start the pipeline when listening to related events of the Perforce repository',0,'1.0.0','/ms/artifactory/api/user/artifactories/file/download?filePath=%2Ffile%2Fpng%2Fp4Trigger.png&logo=true',NULL,b'1',b'0',b'0',NULL,NULL,b'0','1.1','{"input":{"notice":{"label":"","type":"tips","tipStr":"1. The trigger will create a devops_trigger depot in the repository
2. To create a trigger, the credentials associated with the repository must have administrator privileges
3. Deleting the trigger plugin will not delete the server-side trigger, you need to delete it manually
"},"repositoryType":{"rule":{},"type":"enum-input","required":true,"label":"Repository","list":[{"value":"ID","label":"Select by repository ID"},{"value":"NAME","label":"Enter by repository alias"}],"default":"ID","desc":""},"repositoryHashId":{"rule":{},"label":"","hasAddItem":true,"type":"request-selector","searchable":true,"placeholder":"Please select a repository name","required":true,"default":"","url":"/repository/api/user/repositories/{projectId}/hasPermissionList?permission=USE&repositoryType=CODE_P4&page=1&pageSize=100","paramId":"repositoryHashId","paramName":"aliasName","tools":{"edit":true,"del":false},"rely":{"operation":"OR","expression":[{"key":"repositoryType","value":"ID"}]}},"repositoryName":{"rule":{},"type":"vuex-input","required":true,"label":"","placeholder":"请Enter a repository alias","default":"","rely":{"operation":"AND","expression":[{"key":"repositoryType","value":"NAME"}]}},"eventType":{"rule":{},"required":false,"type":"enum-input","label":"Event Type","list":[{"label":"change commit","value":"CHANGE_COMMIT"},{"label":"change content","value":"CHANGE_CONTENT"},{"label":"change submit","value":"CHANGE_SUBMIT"},{"label":"shelve commit","value":"SHELVE_COMMIT"},{"label":"shelve submit","value":"SHELVE_SUBMIT"}],"default":"CHANGE_COMMIT"},"noticePath":{"label":"","type":"tips","tipStr":"The Perforce path matching starts from the depot path. For example, if there is a demo depot, the configuration rules are as follows:
1. Listen to the aaa stream under //demo, //demo/aaa/**
2. Listen to //demo The java file under, //demo/*.java"},"includePaths":{"rule":{},"required":true,"type":"vuex-input","label":"Listen to the following paths","placeholder":"Separate multiple paths with commas","default":""},"excludePaths":{"rule":{},"required":false,"type":"vuex-input","label":"Exclude the following paths","placeholder":"Separate multiple paths with commas","default":""}}}','{}','BlueKing','2','system','system','2021-11-16 12:18:20','2021-11-16 12:18:20', 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