Skip to content

Commit

Permalink
fix: jira jql checker (#7950) (#7951)
Browse files Browse the repository at this point in the history
* fix: add JIRA_JQL_CHANGE_DETECTION env for jira jql auto checker

* fix: rename JIRA_JQL_CHANGE_DETECTION to JIRA_JQL_AUTO_FULL_REFRESH

Co-authored-by: abeizn <zikuan.an@merico.dev>
  • Loading branch information
github-actions[bot] and abeizn authored Aug 26, 2024
1 parent 531ff65 commit 59d0954
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 2 deletions.
16 changes: 15 additions & 1 deletion backend/plugins/jira/tasks/board_filter_begin_collector.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import (

"github.com/apache/incubator-devlake/core/dal"
"github.com/apache/incubator-devlake/core/errors"
coreModels "github.com/apache/incubator-devlake/core/models"
"github.com/apache/incubator-devlake/core/plugin"
helper "github.com/apache/incubator-devlake/helpers/pluginhelper/api"
"github.com/apache/incubator-devlake/plugins/jira/models"
Expand Down Expand Up @@ -87,7 +88,20 @@ func CollectBoardFilterBegin(taskCtx plugin.SubTaskContext) errors.Error {
}
// change
if record.Jql != jql {
return errors.Default.New(fmt.Sprintf("connection_id:%d board_id:%d filter jql has changed, please use fullSync mode. And the previous jql is %s, now jql is %s", data.Options.ConnectionId, data.Options.BoardId, record.Jql, jql))
cfg := taskCtx.GetConfigReader()
flag := cfg.GetBool("JIRA_JQL_AUTO_FULL_REFRESH")
if flag {
logger.Info("connection_id:%d board_id:%d filter jql has changed, And the previous jql is %s, now jql is %s, run it in fullSync mode", data.Options.ConnectionId, data.Options.BoardId, record.Jql, jql)
// set full sync
taskCtx.TaskContext().SetSyncPolicy(&coreModels.SyncPolicy{TriggerSyncPolicy: coreModels.TriggerSyncPolicy{FullSync: true}})
record.Jql = jql
err = db.Update(&record, dal.Where("connection_id = ? AND board_id = ? ", data.Options.ConnectionId, data.Options.BoardId))
if err != nil {
return errors.Default.Wrap(err, fmt.Sprintf("error updating record in _tool_jira_boards table for connection_id:%d board_id:%d", data.Options.ConnectionId, data.Options.BoardId))
}
} else {
return errors.Default.New(fmt.Sprintf("connection_id:%d board_id:%d filter jql has changed, please use fullSync mode. And the previous jql is %s, now jql is %s", data.Options.ConnectionId, data.Options.BoardId, record.Jql, jql))
}
}
// no change
return nil
Expand Down
6 changes: 5 additions & 1 deletion backend/plugins/jira/tasks/board_filter_end_collector.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,11 @@ func CollectBoardFilterEnd(taskCtx plugin.SubTaskContext) errors.Error {
logger.Info("get board filter jql:%s", record.Jql)

if record.Jql != jql {
return errors.Default.New(fmt.Sprintf("connection_id:%d board_id:%d filter jql has changed, please use fullSync mode. And the previous jql is %s, now jql is %s", data.Options.ConnectionId, data.Options.BoardId, record.Jql, jql))
cfg := taskCtx.GetConfigReader()
flag := cfg.GetBool("JIRA_JQL_AUTO_FULL_REFRESH")
if !flag {
return errors.Default.New(fmt.Sprintf("connection_id:%d board_id:%d filter jql has changed, please use fullSync mode. And the previous jql is %s, now jql is %s", data.Options.ConnectionId, data.Options.BoardId, record.Jql, jql))
}
}

return nil
Expand Down

0 comments on commit 59d0954

Please sign in to comment.