This is an automated email from the ASF dual-hosted git repository.
lynwee pushed a change to branch add-transform-data-record
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
from c72033a13 fix: add trans form data step
add 18b96780d fix: plugins option add full name field (#7236)
add a01948436 fix: some bugs for onboard (#7235)
add efe01b869 feat: add cicd metrics to Bitbucket dashboard (#7240)
add 2f4035d28 fix: upgrade tasks sort logic (#7239)
add 0256ed3f1 docs: polish the wording for the onboard process (#7242)
add 3ece2885c feat: add confirm modal for onboard close (#7245)
add 31be30c46 fix: missed project name check (#7244)
add 6d5f28c79 fix: test status not reset when token changed (#7246)
add 8f1c33e8e fix: some bugs for onboard (#7248)
add 0832e2946 feat: add custom markdown component (#7250)
add 55c4f803e fix: progress revert in onboard subtask progress (#7251)
add 4fe98bad5 fix: adjust the style for onboard subtask name (#7252)
add fb52f0a5b fix: some bugs for onboard (#7253)
add 2865f4553 fix: missed recollect operate in onboard (#7254)
add ef714f90c fix: incorrect current pipeline in onboard recollect (#7256)
add e5ee65ee0 feat: resume pipelines on restart (#7229)
add 8ac86da43 feat: support close in onboard card (#7266)
add 5781dd123 fix: log width overflow (#7264)
add af678071f refactor: 5519 circleci adopts new dshelpers (#7238)
add 193850b55 feat: gitextractor skips calculating commit stat by default
to speed up pipeline (#7268)
add e96cc79c0 refactor: remove connection name from plugins (#7270)
add b21acffc6 feat: adjust the welcome page for onboard (#7269)
add 02afdd51c feat: polish work logs dashboard (#7273)
add 74f86231c fix: soc2 upgrade (#7272)
add d8a277a36 feat: gitextactor support `timeAfter` and skipping cloning
blobs (#7278)
add 540e1dde4 fix: improve DORA drilldown dashboards (#7279)
add 263403f80 fix: git cli clone using the wrong err for the `start`
function (#7292)
add fa883848f fix: git command doesn't exist in the docker image (#7293)
add 115828359 feat: add tour guild for onboard (#7276)
add 291745dbd feat: support different status style for onboard card (#7277)
add e5828b382 fix: differentiate between clone git repo and other tasks
(#7288)
add 4dfe53c05 chore: upgrade miller-columns-select to 1.4.1 (#7289)
add 655736bc7 feat: add weekly and distribution view to work logs
dashboard (#7294)
add b69cb92ae feat(grafana): Add HTTP query parameter in DORA dashboard
panels (#7291)
add e0a35fe90 fix: gitextractor reporting object not found (#7295)
add 8afd199c2 fix(db): alter commit columns to binary (#7212)
add 6267dfaa7 Fix git commits with empty email (#7284)
add 0d8a66191 fix: dora details deployment frequency (#7298)
add dac1b34ee fix: task begin_at replace of pipeline begin_at (#7299)
add 5116e0aff Add more log on gitclone errors (#7300)
add 879fd2e5b fix(azuredevops): fix _tool_azuredevops_gitrepositories.id
field (#7301)
add 9589a6af7 pr-type/bug-fix 7114 - wire up the page size event to alter
page size (#7124)
add 6dbbbc358 fix: more friendly msg when no data with shallow clone
(#7308)
add 94e902a9d feat: upgrade grafana from 10.2.6 to 10.4.1 (#7309)
add 1ee625846 fix: giturls CVE-2023-46402 (#7310)
add ddedcacdf refactor: prevent concurrent migration (#7311)
add d0b318209 fix: db timeafter adjust (#7314)
add 64c52748f Kw gitext collect blob by default (#7315)
add c66d84787 Gitextractor supports incremental collection (#7319)
add e00c9cfa1 fix: refine process of actions field in Jenkins raw data
(#7262)
add 915e0ee2c fix: failed to encode project name correctly (#7321)
add fd5ec032a fix: remove useless args and logics (#7322)
add b02211bbc refactor: deprecate specifying timeAfter via `taskOptions`
(#7323)
add 40669df5a refactor: StatefulApiCollector adopts CollectorStateManager
(#7324)
add ffe965b69 fix: azure connection rate limit config error (#7331)
add 3ac470f65 feat: support logo horizontal mode in onboard (#7330)
add f2f3c282b fix: adjust the layout style (#7332)
add c4cf352ef fix(tapd): change iteration_id's type from uint64 to int64
(#7334)
add d52abffb6 fix: grafana infinitely loop /login (#7335)
add bb1df951f refactor: tapd adopts dshelper and move the company_id to
connection table (#7337)
add 10f8358a4 fix: gitextractor error out on empty bitbucket shallow clone
(#7338)
add 04aef2e2a Dev fix tapd (#7339)
add 62b67c1fe refactor: opsgenie adopts the new dshelpers (#7341)
add 6dca288d5 feat: collect and extract jenkins jobs from multibranch
pipelines (#7213)
add ac540080b feat: move companyId to connection in tapd (#7346)
add 55fd2cc95 fix: the parentIds in the first page of tapd remote scopes
should be nil (#7347)
add 470669d60 feat: add deployment metadata to the table of the deployment
frequency details dashboard (#7325)
add b0f580e69 fix: update worklogs weekly calculation (#7348)
add 842f08a3a Kw 5519 dshelper refactor (#7345)
add e6ea5f66c fix: make swag error and build image error (#7351)
add a53069a2f fix: wording error for onboard step 4 (#7350)
add dbb47738b fix: return url error when exit onboard (#7352)
add 5e3a4d733 refactor: pagerduty adopts the new dshelpers (#7353)
add 6f57a15a9 fix: git clone failing on azuredevops (#7356)
add d571e97c7 Support human readable project name (#7357)
add 2c5a08d38 fix: CLT ignores the first deployment (#7362)
add c7b6336ba fix: plugin github config error (#7365)
add ca89492a9 feat: add remote repository support for azure devops (#7364)
add d89234cb2 feat: onboard support dora (#7372)
add 2f3b5367b fix: add jira jql checker debug log (#7376)
add 95100c518 feat: enable dora when onboarding progress (#7373)
add 8f8d637ce feat: add quick link to connection in project select
connectons (#7374)
add c1eebe8f0 Reference zentao instead of gitlab (#7382)
add 2814cf1df fix: should not throwing error on empty repo (#7383)
add afe49e109 feat: subtask state manager (#7384)
add 696ed6e8c feat: jira issue and changelog extractors support
incremental mode (#7387)
add 6ab1d296c fix: customize plugin can not update old data (#7389)
add f51e718f1 fix: expand click area for add new connection (#7395)
add cd081d979 fix: something for onboard (#7397)
add c48e27892 fix: reduce the entities collected by default (#7366)
add 9542510e3 fix: make FinishTime optional for unfinished builds (#7401)
add 804eb2058 docs(main README): Fixes broken links for getting started on
development. Rearranges existing getting started section to reduce duplication
and make it logical for new users to get started. (#7305)
add ea2cdbcc5 fix: compatible with unset configurations (#7402)
add f1ead30cc fix(zentao): update storyID field in tasks reponse, make it
compatiable with oss 18.11 (#7403)
add ebbf84073 fix: unnecessary encode name for project (#7405)
add d7cb635c6 feat: jira issue / changelog converter supports incremental
mode (#7394)
add c890de735 feat: simplify scope config configuration (#7408)
add c3a5b740e feat: support document title (#7410)
add cb146f8cc fix: allow selecting FreeStyleProject in jenkins scopes UI
(#7411)
add 24abaeffd feat: support get related projects by scope config (#7414)
add d0c0842c3 fix: onboard cannot exit (#7416)
add c667a5ad4 fix: unable to create scope config for circleci (#7417)
add ee7a29307 fix: bitbucket server search not working (#7418)
add 8a6bbe2b8 adding description and ranges for the dora dashboard (#7378)
add 2164b9d7b feat: add some tips when updating scope config (#7422)
add 217a36ba9 fix: noShallowClone was overwritten (#7430)
add da9930e05 feat: get projects by scope config feature add scope name
(#7431)
add 9edd876e0 fix cors (#7433)
add bd670d705 fix: when DORA's project is all or multiple ,the drill-down
is incorrect (#7432)
add a1abf4bf3 fix: gitextractor fail to clone (#7434)
add 6f3fe00a1 fix: file_path column too long (#7437)
add 6d5a387cb fix: unable to get project detail when name ends with /
(#7438)
add 7da743a02 feat: add duplicate operate for scope config (#7439)
add 1b1291f61 fix: jenkins plugin some scope data was not returned (#7441)
add 653456fee fix: some bugs for scope config (#7443)
add d2319a4fb fix(fix boolean query that support both postgres and mysql
in get subtask info): boolean data type on column must compared with boolean
values too, not with integer for consistency (#7442)
add 4b89aa064 fix: jenkins jobs are mislabeled as production deployments
when they are skipped. (#7444)
add 145bba092 fix: nginx api proxy path should not be decoded (#7445)
add bee0bce1b fix: typo error in connection detail (#7428)
add a61f43e0f feat: add new component icon-button (#7429)
add cd5777a22 feat: add blueprintId for projects by scope config (#7447)
add 3973c95ed feat: optional security enhancement (#7451)
add 2cc08c7ec fix: some bugs for scope config (#7452)
add 5aac71130 fix: error condition for not related project data scope
(#7454)
add d7807f9e6 fix: error id for scope config changed (#7456)
add 0d032b3d6 fix: incorrect LOC of the first commit in a given time range
(#7458)
add 26a0c8367 fix: post project with blueprint (#7449)
add 1b8a1877d fix: missing required value for field display_title (#7460)
add 44ccba374 fix: optimize error messages when there are duplicate scope
configurations. (#7461)
add f7f808742 fix: remove auto create blueprint when creating project
(#7462)
add 885357769 refactor: add ipv6 test cases for api client blacklist
feature (#7455)
add 8baef4f27 fix: jira worklog collector fetches only the 1st page (#7466)
add 05160fe45 fix: patch api error messages optimize (#7467)
add 57acac81f feat(githubgraphql): add releases (#7469)
add 2a052dee8 fix(apikey): abort request if api key doesn't match (#7471)
add 3dd13fad3 fix: related projects error when updating scope config
(#7472)
add ccb7d93e7 Add commit_sha to github_releases and cicd_releases. (#7473)
add 79a2bb36d fix: update webhook API (#7474)
add 153f7b9ab fix: should not throw error on any shallow cloned repo
(#7475)
add 3ae23bfdd fix(jenkins): incorrect class type on multibranch jobs
(#7464)
add e24102f29 fix: sonarqube nextPageToken always empty (#7477)
add 1876b43c7 Update deployment commit id (#7479)
add 8d821498c feat: update post deployment curl for webhook (#7481)
add 466db4478 feat: add organization as an optional parameter in Azure
DevOps connection form (#7459)
add a42e3eeaa feat: add v1.0 docs (#7476)
add 2bfc4008c fix: pagerduty remote api not working (#7485)
add e950d6218 refactor: move deployment converter to github_graphql plugin
(#7486)
add e9b3afdd3 fix: 7468 deepen might fail on some repos with certain time
ranges (#7489)
add ab524a8de fix: missing `make build-plugin-debug` (#7492)
add 8a282755d fix: not use PATH to external link (#7496)
add 3dd12064d update path parameter, adapt to latest plugin helper (#7498)
add f276efc20 fix: trigger tapd collect throws 500 error (#7499)
add 21cecbd75 feat(pull_request_issues): change issue_key's type to
varchar (#7501)
add c113653d6 fix(zentao): use correct `DecodeMapStruct` function (#7502)
add 43bf20c0d fix: don't show link action when a plugin doesn't have scope
config (#7506)
add 208b50122 feat(framework): update `pluginOption` field's type in
projects (#7505)
add 6941c77b9 Add a new plugin, linker. (#7509)
add 6c028e428 feat: assiocate pull request with issue (#7500)
add 5e2caa25a feat: fetch execution information from the built-in page
interface (#7513)
add 9e2a26dcc Return nil when record not found (#7515)
add 20573ef3e fix: not refresh project when updating plugin linker (#7517)
add 88ebd94b8 fix: execution id not exist (#7520)
add 4667b3443 Find all candidate issue keys from pr's title and
description (#7523)
add 212db89b8 Adds link to DORA.dev to the README (#7511)
add a4cb023ba Clear history data when running linker (#7526)
add 78f53e42e feat: add default value for linker plugin (#7518)
add 9babe939e fix(linker): link current project's issues (#7531)
add a9ac7ab33 fix: deepen fails on EMPTY repos (#7537)
add 60b0d1e38 fix: github users org api may report 404 (#7538)
add 66c11ad56 fix: update the linker tooltip about pr with issues (#7536)
add 5e384168b fix: increase max URL length (#7493)
add 723a4db49 refactor: simplify webhook deployment api(breaking) (#7545)
add 5d8f70b47 fix: swag doc for webhook deployment (#7546)
add 20fc1e209 fix: populate missing RepoUrl in CiCDPipelineCommit (#7210)
add 35f814ea9 Tidy up Webhook APIs (#7550)
add 6c7393046 fix: not use message component when deleting project (#7551)
add afd1763b9 fix: startedDate and finishedDate should be required (#7553)
add 18009e2d3 feat: update webhook url (#7554)
add 2816c188f feat: add assignees and reviewers to pull_request_x table
(#7556)
add 7220c10b1 feat: starrocks add STARROCKS_REPLICAS_NUM env (#7565)
add 42c9c5c60 Update GET /projects API, fetch projects in parallel (#7567)
add bc246b1a8 fix: deployment result not working (#7566)
add 7bab7add2 feat: add issue_trace plugin (#7544)
add 288c01e3c fix(github): use different graphql path in enterprise
version (#7541)
add ba1840d34 fix: add primary key to _tool_gitlab_assignees and
_tool_gitlab_reviewers tables (#7573)
add c959ed0ae fix: if no data, the On-time Delivery chart should show no
data (#7576)
add 54fe38219 feat: add jira_trace plugin to jira bp (#7569)
add 21f24c18d fix(zentao): fix unexpected data (#7578)
add 3ea44f963 Fix bitbucket server 0606 (#7580)
add 1c3fc5357 fix: pr commit 404 (#7577)
add 7812288a1 fix: bitbucket remote api swallows errors sliently (#7583)
add 6a9c0eb4d fix: pagerduty task always fails (#7584)
add 0906d279a fix: pagerduty scope api listing service without related
projects (#7587)
add 13b20bd12 fix: gitlab pr reviewers and assignees id (#7588)
add fbfaedfc9 fix: error current page when deleting the last data scope
(#7602)
add f53c176dd fix: not set input width in jira basic auth (#7603)
add 91848cd64 fix: reset password component in plugin connection (#7606)
add 51eeeed1a feat: jira is subtask trans to type SUBTASK (#7608)
add 2dcdae4cf fix(gitlab): support `ENABLE_SUBTASKS_BY_DEFAULT` (#7612)
add 1a2540035 feat(customize): allow rawDataParams to include LIKE style
wildcards (#7571) (#7572)
add e8b8ff9e9 fix(pagerduty): fix errors when deleting connections (#7617)
add a164de435 fix: error page set when deleting data scope (#7619)
add 63e0ce6f8 fix(opsgenie): fix errors when deleting connections (#7621)
add 44f3deae2 fix(framework): sanitize gitextractor plugin options
correctly (#7622)
add 13b0b43da adding pull_request_id index to
pull_request_commits/comments tables (#7559)
add b6a537ad2 feat: add issue trace configuration for project (#7624)
add 208fa7f0a refactoring to use simple ApiCollector (#7609)
add 0c79f340a feat: gerrit python plugin (#6786)
add d9318cf56 refactor: hudson.maven.MavenModuleSet is now treated as a
scope (#7599)
add 6f87e0b5d Correct commits distribution days of week labels (#6971)
add a69ddce6c fix: correct path (#7628)
add 1eb8903f2 feat: default enable project plugin and remove configuration
(#7630)
add a7b15133a fix: link error (#7629)
add 1e85c14d7 fix(migration): fix unexpected `defer unlock` (#7634)
add ef0043389 refactor(logs): add error logs when executing migrations
(#7633)
add 9eb801736 fix: pr reviewers and assignees script version error (#7645)
add 8d0be9064 fix: layout overflow error (#7648)
add bf5c3e9ca fix: git extractor commit rawdataorigin is empty (#7658)
add 12164c17e fix(gitextractor): update database store, set it incremental
by default (#7660)
add b35575256 Add more logs and update the steps when initing app (#7662)
add 1e093986e feat: hide dashboard icon when hiding copyright (#7669)
add d97a773e7 feat: support configuration for dashboard url (#7670)
add c1d74a195 feat: fix CircleCI dashboard SQLs and wording (#7673)
add 6c479b15f feat: weekly report dashboard (#7674)
add aefa74f38 fix: update weekly report (#7678)
add 2d9a15245 fix: redirect url error (#7680)
add 10b51582f fix: update the wording of the weekly report dashboard
(#7682)
add 21efa48f9 fix: delete weekly report dashboard (#7685)
add cbc2d7655 feat(framework): fetch project list by keyword (#7689)
add 9df715db1 feat(github): make error message more clear when getting
remote scopes (#7691)
add 255263b87 fix: jira epic not collect (#7692)
add 621112685 fix(framework): case-insensitive when getting projects with
keyword (#7695)
add cdfd18a30 refactor: merge DecodeMapStruct from api and utils packages
(#7696)
add a66685690 fix(zentao): make sure close_date must be before opened_date
(#7699)
add 6d96f06ca Add some comments for github pr collector (#7705)
add d4eabc4b9 feat(dora): add incident related tables (#7652)
add 251bc81e5 fix(sonarqube): update name field in sonar tool layer tables
(#7707)
add 8bb96b305 feat(azuredevops): support disabled Repos (#7657)
add aa2a0cda8 feat(azuredevops): collector pr's labels to table
pull_request_labels (#7706)
add e1cdd3cd8 fix: github connection.enableGraphql should be default to
true (#7711)
add f6287fb1c feat: add GitHub request reviewer and Merged By (#7716)
add 87ca3d03a fix: engineering overview dashboard (#7717)
add 5889a0897 fix: addition of some commits are ridiculous huge (#7719)
add 963d42ec8 fix: remove the dependency of the month filter (#7721)
add 2c80929ea fix: add pr Additions and Deletions (#7714)
add 492dd61fe feat(jira): collector accounts from issue changelog items as
much as possible (#7710)
add 7ee1e6b63 fix(jira): fix `reporter` field in issue change log items
(#7726)
add 795c798ad fix: new commits in other branches are not collected (#7727)
add 44b3f513e fix: gitext failed to fetch (#7730)
add d7f8583dc fix(jira): fix account id when there is no from/to values
(#7734)
add 09ee9ce9a fix(framework): add lock when creating pipeline (#7733)
add e0599d18d fix(jira): fix OriginalToValue in issue_changelogs (#7737)
add 8c5fbc1d9 Remove the usage of `TmpFromAccountId` and `TmpToAccountId`
in Jira issue related data. (#7740)
add dcb311007 fix: shallow fetch might fail without message if nothing to
be fetched (#7746)
add 3d6f34b22 fix(jira): fix wrong key in `issueFieldMap` (#7748)
add 0ac80552a Fix dashboards (#7753)
add 667844ece fix: the conditions to filter new and resolved bugs (#7754)
add f0be93c70 fix: circleci date fields are inconsistent (#7757)
add 2090fecd8 refactor: fetch branches before shallow fetch to reduce the
total commits collected (#7760)
add 339ca2953 fix(jira): set issue_assignees' assignee_name correctly
(#7761)
add bab285691 fix(gitlab): register `ConvertIssueAssigneeMeta` (#7763)
add d55b84cea fix(gitextractor): sanitize git tokens (#7767)
add b2bd3b344 fix(helpers): use `isIncremental` instead of
`SyncPolicy.FullSync` (#7773)
add 10e915cf1 adjust feat and bugfix branchto build image (#7769)
add 6dda14398 adjust dockerfile to use numeric uid instead of username
(#7776)
add d9751485f fix(webhook): rollback database when webhook's name is same
(#7778)
add 4baed97c1 fix: no error message when hideToast is true (#7777)
add ba5a8734d feat: pr add is draft field (#7782)
add 20a7646f6 feat(dora): add new option `DisableIssueToIncidentGenerator`
(#7783)
add 8ee6abeae feat: remove graphql configuration from github connection
(#7784)
add 5ff39b8ae fix(github): process bot account in pull_requests table
(#7786)
add 45db21530 feat: bitbucket add merge by field (#7756)
add 7ac45c78d fix: circleci plugin pagination (#7770)
add 15f297402 Merge branch 'main' into add-transform-data-record
No new revisions were added by this update.
Summary of changes:
.github/workflows/build.yml | 4 +-
.gitignore | 4 +-
Makefile | 4 +-
README.md | 45 +-
backend/Dockerfile | 4 +-
backend/Makefile | 5 +-
backend/core/config/config_viper.go | 2 +
backend/core/errors/types.go | 1 +
backend/core/migration/migrator.go | 5 +
backend/core/models/blueprint.go | 2 +-
backend/core/models/common/string_int64.go | 78 ++
.../core/models/domainlayer/code/pull_request.go | 59 ++
.../domainlayer/code/pull_request_assignees.go} | 20 +-
.../domainlayer/code/pull_request_reviewers.go} | 20 +-
...=> project_incident_deployment_relationship.go} | 6 +-
.../domainlayer/crossdomain/pull_request_issue.go | 2 +-
.../models/domainlayer/devops/cicd_deployment.go | 2 +
.../domainlayer/devops/cicd_deployment_commit.go | 8 +
.../models/domainlayer/devops/cicd_pipeline.go | 5 +-
.../domainlayer/devops/cicd_pipeline_commmit.go | 14 +-
.../devops/{cicd_deployment.go => cicd_release.go} | 41 +-
.../models/domainlayer/domaininfo/domaininfo.go | 7 +-
.../domainlayer/ticket/{issue.go => incident.go} | 69 +-
.../domainlayer/ticket/incident_assginee.go} | 19 +-
backend/core/models/domainlayer/ticket/issue.go | 52 +-
...0410_add_display_title_and_url_to_deployment.go | 77 ++
.../20240424_add_subtask_states.go | 59 ++
.../migrationscripts/20240514_add_cicd_release.go | 69 ++
.../20240515_add_commit_sha_to_cicd_release.go} | 28 +-
...ify_cicd_deployment_commits_repo_url_length.go} | 27 +-
...odify_cicd_pipeline_commits_repo_url_length.go} | 27 +-
...pdate_issue_key_type_in_pull_request_issues.go} | 28 +-
...ate_plugin_option_in_project_metric_settings.go | 69 ++
.../20240531_add_pr_assignees_and_reviewers.go} | 33 +-
...pull_request_id_index_for_pr_comments_table.go} | 34 +-
...d_pull_request_id_index_for_pr_commits_table.go | 72 ++
...0240607_modify_pr_assignees_and_reviewers_id.go | 58 ++
...40621_init_incidents_and_incident_assignees.go} | 33 +-
.../20240621_rename_project_issue_metrics.go} | 29 +-
.../20240710_add_changes_to_pr.go} | 41 +-
.../20240710_add_merge_by_to_pr.go} | 32 +-
.../20240725_add_is_draft_to_pr.go} | 31 +-
.../archived/incident.go} | 70 +-
.../archived/incident_assignee.go} | 19 +-
.../archived/pull_request_assignees.go} | 23 +-
.../archived/pull_request_reviewers.go} | 23 +-
backend/core/models/migrationscripts/register.go | 17 +
backend/core/models/pipeline.go | 3 -
backend/core/models/project.go | 21 +-
backend/core/models/subtask_state.go | 40 +
backend/core/models/task.go | 1 +
backend/core/plugin/hub.go | 8 +-
backend/core/plugin/plugin_task.go | 1 +
backend/core/runner/loader.go | 20 +-
backend/core/runner/run_pipeline.go | 5 +-
backend/core/runner/run_task.go | 48 +-
backend/core/utils/json.go | 9 +
backend/go.mod | 41 +-
backend/go.sum | 276 +-----
backend/helpers/e2ehelper/data_flow_tester.go | 17 +-
backend/helpers/pluginhelper/api/api_client.go | 66 +-
.../helpers/pluginhelper/api/api_client_test.go | 97 ++
backend/helpers/pluginhelper/api/api_collector.go | 4 +-
...tor_with_state.go => api_collector_stateful.go} | 153 +---
backend/helpers/pluginhelper/api/api_extractor.go | 2 +-
...{api_extractor.go => api_extractor_stateful.go} | 94 +-
.../helpers/pluginhelper/api/batch_save_divider.go | 42 +-
.../pluginhelper/api/collector_state_manager.go | 119 +++
.../api/collector_state_manager_test.go | 160 ++++
.../pluginhelper/api/data_convertor_stateful.go | 129 +++
.../pluginhelper/api/ds_scope_api_helper.go | 3 +
.../pluginhelper/api/ds_scope_config_api_helper.go | 12 +
.../helpers/pluginhelper/api/graphql_collector.go | 7 +-
backend/helpers/pluginhelper/api/mapstructure.go | 98 +-
.../helpers/pluginhelper/api/model_api_helper.go | 8 +-
backend/helpers/pluginhelper/api/pipeline_plan.go | 24 +
.../helpers/pluginhelper/api/remote_api_helper.go | 2 +-
.../pluginhelper/api/scope_generic_helper.go | 1 -
.../pluginhelper/api/subtask_state_manager.go | 155 ++++
.../pluginhelper/api/subtask_state_manager_test.go | 189 ++++
backend/helpers/srvhelper/model_service_helper.go | 5 +-
backend/helpers/srvhelper/pagination.go | 2 +
.../srvhelper/scope_config_service_helper.go | 65 ++
backend/helpers/unithelper/dummy_baesres.go | 4 +-
backend/helpers/utils/mapstructure.go | 111 ++-
backend/impls/context/default_subtask_context.go | 10 +-
backend/impls/dalgorm/dalgorm.go | 14 +
backend/plugins/ae/tasks/task_data.go | 5 +-
.../azuredevops_go/api/azuredevops/client.go | 291 ++++++
.../client_test.go} | 6 +-
.../azuredevops_go/api/azuredevops/models.go | 132 +++
.../api/{ => azuredevops}/testdata/test.txt | 4 +-
.../plugins/azuredevops_go/api/blueprint_v200.go | 125 ++-
.../azuredevops_go/api/blueprint_v200_test.go | 224 ++++-
.../plugins/azuredevops_go/api/connection_api.go | 60 +-
backend/plugins/azuredevops_go/api/init.go | 6 +-
backend/plugins/azuredevops_go/api/remote_data.go | 65 --
.../plugins/azuredevops_go/api/remote_helper.go | 236 +++--
.../plugins/azuredevops_go/api/scope_config_api.go | 14 +
backend/plugins/azuredevops_go/api/vs_client.go | 137 ---
backend/plugins/azuredevops_go/e2e/build_test.go | 2 +
.../raw_tables/_raw_azuredevops_go_api_builds.csv | 5 +-
.../_raw_azuredevops_go_api_timeline_records.csv | 6 +-
.../_tool_azuredevops_go_builds.csv | 5 +-
.../_tool_azuredevops_go_pull_requests.csv | 4 +-
.../_tool_azuredevops_go_timeline_records.csv | 4 +
.../e2e/snapshot_tables/cicd_pipeline_commits.csv | 11 +-
.../e2e/snapshot_tables/cicd_pipelines.csv | 5 +-
.../e2e/snapshot_tables/cicd_tasks.csv | 4 +
.../e2e/snapshot_tables/pull_requests.csv | 4 +-
backend/plugins/azuredevops_go/impl/impl.go | 6 +-
backend/plugins/azuredevops_go/models/base.go | 5 +
backend/plugins/azuredevops_go/models/build.go | 16 +-
.../plugins/azuredevops_go/models/connection.go | 2 +-
.../20240413_add_remote_repo_support.go | 68 ++
.../20240624_support_disabled_repos.go} | 49 +-
.../models/migrationscripts/register.go | 2 +
backend/plugins/azuredevops_go/models/repo.go | 14 +-
.../azuredevops_go/tasks/account_collector.go | 3 +-
.../azuredevops_go/tasks/ci_cd_build_collector.go | 12 +-
.../azuredevops_go/tasks/ci_cd_build_converter.go | 26 +-
.../azuredevops_go/tasks/ci_cd_build_extractor.go | 6 +-
.../tasks/ci_cd_timeline_records_converter.go | 2 +-
.../azuredevops_go/tasks/commit_collector.go | 4 +-
.../plugins/azuredevops_go/tasks/pr_collector.go | 27 +-
.../azuredevops_go/tasks/pr_commit_collector.go | 5 +-
.../azuredevops_go/tasks/pr_commit_converter.go | 2 +-
.../plugins/azuredevops_go/tasks/pr_converter.go | 2 +-
.../azuredevops_go/tasks/pr_label_converter.go | 2 +-
backend/plugins/azuredevops_go/tasks/shared.go | 32 +-
backend/plugins/azuredevops_go/tasks/task_data.go | 4 +-
backend/plugins/bamboo/api/blueprint_v200.go | 2 +-
backend/plugins/bamboo/api/scope_config_api.go | 14 +
backend/plugins/bamboo/e2e/deploy_build_test.go | 4 +-
.../snapshot_tables/cicd_deployment_commits.csv | 30 +-
.../e2e/snapshot_tables/cicd_deployments.csv | 30 +-
.../e2e/snapshot_tables/cicd_pipeline_commits.csv | 24 +-
.../bamboo/e2e/snapshot_tables/cicd_pipelines.csv | 34 +-
backend/plugins/bamboo/impl/impl.go | 5 +-
backend/plugins/bamboo/models/deploy_build.go | 2 +
.../20240411_add_link_href_to_plan_build.go | 63 ++
.../bamboo/models/migrationscripts/register.go | 1 +
backend/plugins/bamboo/models/plan_build.go | 8 +-
backend/plugins/bamboo/models/plan_build_commit.go | 2 +
.../bamboo/models/{task.go => task_data.go} | 11 +-
.../deploy_build_to_deployment_commit_convertor.go | 23 +-
.../tasks/deploy_build_to_deployment_convertor.go | 1 +
.../plugins/bamboo/tasks/job_build_extractor.go | 10 -
.../plugins/bamboo/tasks/plan_build_convertor.go | 13 +-
.../plugins/bamboo/tasks/plan_build_extractor.go | 10 +
.../plugins/bamboo/tasks/plan_commit_convertor.go | 6 +-
backend/plugins/bitbucket/api/blueprint_v200.go | 9 +-
backend/plugins/bitbucket/api/remote_api.go | 8 +
backend/plugins/bitbucket/api/scope_config_api.go | 14 +
backend/plugins/bitbucket/e2e/deployments_test.go | 7 +-
backend/plugins/bitbucket/e2e/pipelines_test.go | 16 +
.../cicd_deployment_commits_for_deployment.csv | 56 +-
.../cicd_deployments_for_deployment.csv | 56 +-
.../e2e/snapshot_tables/cicd_pipeline_commits.csv | 23 +
.../e2e/snapshot_tables/cicd_pipelines.csv | 46 +-
backend/plugins/bitbucket/impl/impl.go | 5 +-
.../20240717_add_merge_by_to_pr.go} | 32 +-
.../bitbucket/models/migrationscripts/register.go | 1 +
backend/plugins/bitbucket/models/pr.go | 5 +-
backend/plugins/bitbucket/tasks/api_common.go | 24 +-
.../bitbucket/tasks/deployment_convertor.go | 12 +-
.../plugins/bitbucket/tasks/pipeline_convertor.go | 16 +-
.../plugins/bitbucket/tasks/pipeline_extractor.go | 3 -
backend/plugins/bitbucket/tasks/pr_collector.go | 1 +
backend/plugins/bitbucket/tasks/pr_convertor.go | 4 +
backend/plugins/bitbucket/tasks/pr_extractor.go | 7 +-
backend/plugins/bitbucket/tasks/task_data.go | 1 -
.../api/{remote.go => remote_api.go} | 29 +-
.../api/{scope.go => scope_api.go} | 14 +-
.../api/{scope_config.go => scope_config_api.go} | 14 +
.../_tool_bitbucket_server_pull_requests.csv | 22 +-
.../_tool_bitbucket_server_users_in_pr.csv | 4 +-
.../e2e/snapshot_tables/pull_requests.csv | 22 +-
backend/plugins/bitbucket_server/impl/impl.go | 3 +
.../plugins/bitbucket_server/tasks/api_common.go | 6 +-
.../plugins/bitbucket_server/tasks/pr_collector.go | 8 +-
.../bitbucket_server/tasks/pr_commit_collector.go | 1 +
.../plugins/bitbucket_server/tasks/pr_extractor.go | 8 +-
.../plugins/bitbucket_server/tasks/task_data.go | 12 +
backend/plugins/circleci/api/blueprint200.go | 124 ---
.../{bamboo => circleci}/api/blueprint_v200.go | 47 +-
.../api/{connection.go => connection_api.go} | 56 +-
backend/plugins/circleci/api/init.go | 53 +-
.../circleci/api/{remote.go => remote_api.go} | 59 +-
.../circleci/api/{scope.go => scope_api.go} | 69 +-
backend/plugins/circleci/api/scope_config.go | 97 --
.../api/scope_config_api.go | 58 +-
backend/plugins/circleci/e2e/pipeline_test.go | 2 +-
.../snapshot_tables/_tool_circleci_pipelines.csv | 22 +-
.../snapshot_tables/_tool_circleci_workflows.csv | 20 +-
.../e2e/snapshot_tables/cicd_pipeline_commits.csv | 10 -
.../e2e/snapshot_tables/cicd_pipelines.csv | 20 +-
backend/plugins/circleci/e2e/workflow_test.go | 8 -
backend/plugins/circleci/impl/impl.go | 15 +-
.../20240717_add_createddate_to_workflow.go} | 39 +-
.../circleci/models/migrationscripts/register.go | 1 +
backend/plugins/circleci/models/pipeline.go | 16 +-
backend/plugins/circleci/models/workflow.go | 4 +-
backend/plugins/circleci/tasks/job_collector.go | 40 +-
.../plugins/circleci/tasks/pipeline_collector.go | 37 +-
backend/plugins/circleci/tasks/shared.go | 30 +
backend/plugins/circleci/tasks/task_data.go | 14 +-
.../plugins/circleci/tasks/workflow_collector.go | 40 +-
.../plugins/circleci/tasks/workflow_converter.go | 21 +-
.../plugins/circleci/tasks/workflow_extractor.go | 7 +-
.../plugins/customize/e2e/extract_fields_test.go | 130 ++-
.../e2e/raw_tables/_raw_jira_api_issues.csv | 34 +-
.../plugins/customize/e2e/raw_tables/issues.csv | 34 +-
.../issues_for_data_extraction_board8.csv | 31 +
.../issues_for_data_extraction_board9.csv | 31 +
...csv => issues_for_data_extraction_wildcard.csv} | 34 +-
.../customize/tasks/customized_fields_extractor.go | 2 +-
backend/plugins/customize/tasks/task_data.go | 5 +-
.../dora/e2e/change_lead_time/commits_diffs.csv | 13 +-
.../e2e/change_lead_time/project_pr_metrics.csv | 7 +-
.../e2e/change_lead_time/pull_request_comments.csv | 27 +-
.../e2e/change_lead_time/pull_request_commits.csv | 27 +-
.../dora/e2e/change_lead_time/pull_requests.csv | 15 +-
.../dora/e2e/connect_incident_to_deploy_test.go | 6 +-
... project_incident_deployment_relationships.csv} | 0
backend/plugins/dora/impl/impl.go | 11 +-
backend/plugins/dora/impl/impl_test.go | 2 +
.../dora/tasks/change_lead_time_calculator.go | 18 +-
.../dora/tasks/deployment_commits_generator.go | 2 +
backend/plugins/dora/tasks/deployment_generator.go | 2 +
.../dora/tasks/incident_deploy_connector.go | 8 +-
.../dora/tasks/incident_from_issue_generator.go | 154 ++++
backend/plugins/dora/tasks/task_data.go | 3 +-
backend/plugins/feishu/tasks/task_data.go | 5 +-
backend/plugins/gitee/tasks/pr_issue_convertor.go | 3 +-
backend/plugins/gitee/tasks/task_data.go | 9 +-
backend/plugins/gitextractor/gitextractor.go | 60 ++
backend/plugins/gitextractor/impl/impl.go | 57 +-
backend/plugins/gitextractor/main.go | 95 --
backend/plugins/gitextractor/models/interface.go | 1 +
backend/plugins/gitextractor/parser/clone.go | 222 +----
.../plugins/gitextractor/parser/clone_gitcli.go | 256 ++++++
backend/plugins/gitextractor/parser/clone_test.go | 177 ----
backend/plugins/gitextractor/parser/repo.go | 6 +
.../plugins/gitextractor/parser/repo_creator.go | 81 --
backend/plugins/gitextractor/parser/repo_gogit.go | 105 ++-
.../plugins/gitextractor/parser/repo_libgit2.go | 88 +-
backend/plugins/gitextractor/parser/repo_test.go | 302 -------
backend/plugins/gitextractor/parser/taskdata.go | 48 +
backend/plugins/gitextractor/store/csv.go | 3 +
backend/plugins/gitextractor/store/database.go | 19 +-
backend/plugins/gitextractor/tasks/clone.go | 110 ---
backend/plugins/gitextractor/tasks/repo_cloner.go | 91 ++
.../{git_repo_collector.go => repo_collector.go} | 57 +-
backend/plugins/github/api/blueprint_v200.go | 10 +-
backend/plugins/github/api/connection_api.go | 3 +
backend/plugins/github/api/remote_api.go | 30 +
backend/plugins/github/api/scope_config_api.go | 14 +
backend/plugins/github/e2e/pr_review_test.go | 5 +-
backend/plugins/github/e2e/pr_test.go | 6 +
.../snapshot_tables/_tool_github_deployments.csv | 101 ---
.../snapshot_tables/_tool_github_pull_requests.csv | 100 +--
.../e2e/snapshot_tables/_tool_github_reviewers.csv | 14 +-
.../e2e/snapshot_tables/_tool_github_runs.csv | 72 +-
.../_tool_github_runs_no_prod_regex.csv | 72 +-
.../snapshot_tables/cicd_deployment_commits.csv | 202 ++---
.../e2e/snapshot_tables/cicd_deployments.csv | 101 ---
.../e2e/snapshot_tables/cicd_pipeline_commits.csv | 72 +-
.../github/e2e/snapshot_tables/cicd_pipelines.csv | 72 +-
.../github/e2e/snapshot_tables/pull_requests.csv | 100 +--
backend/plugins/github/impl/impl.go | 4 +
backend/plugins/github/models/deployment.go | 8 +-
.../20240410_add_workflow_display_title.go} | 43 +-
.../20240514_add_github_release.go | 66 ++
.../20240515_add_release_commit_sha.go} | 27 +-
.../20240710_add_merge_by_to_pr.go} | 32 +-
.../20240711_restruct_github_reviewers.go | 65 ++
.../20240725_add_is_draft_to_pr.go} | 31 +-
.../github/models/migrationscripts/register.go | 6 +
backend/plugins/github/models/pr.go | 6 +-
backend/plugins/github/models/release.go | 51 ++
backend/plugins/github/models/reviewer.go | 8 +-
backend/plugins/github/models/run.go | 4 +-
.../plugins/github/tasks/account_org_collector.go | 6 +
backend/plugins/github/tasks/cicd_job_collector.go | 10 +-
backend/plugins/github/tasks/cicd_run_convertor.go | 12 +-
backend/plugins/github/tasks/comment_collector.go | 10 +-
backend/plugins/github/tasks/commit_collector.go | 10 +-
backend/plugins/github/tasks/issue_collector.go | 10 +-
backend/plugins/github/tasks/pr_collector.go | 4 +-
.../plugins/github/tasks/pr_commit_collector.go | 10 +-
backend/plugins/github/tasks/pr_convertor.go | 9 +-
backend/plugins/github/tasks/pr_issue_convertor.go | 3 +-
.../plugins/github/tasks/pr_review_collector.go | 10 +-
.../github/tasks/pr_review_comment_collector.go | 10 +-
.../plugins/github/tasks/pr_review_extractor.go | 4 +-
backend/plugins/github/tasks/release_convertor.go | 104 +++
.../{pr_issue_convertor.go => review_convertor.go} | 52 +-
backend/plugins/github/tasks/task_data.go | 16 +-
.../e2e/deployment_test.go | 6 +-
.../raw_tables/_raw_github_graphql_deployment.csv | 0
.../e2e/raw_tables/_tool_github_repos2.csv | 0
.../snapshot_tables/_tool_github_deployments.csv | 101 +++
.../snapshot_tables/cicd_deployment_commits.csv | 202 ++---
.../e2e/snapshot_tables/cicd_deployments.csv | 101 +++
backend/plugins/github_graphql/impl/impl.go | 19 +-
.../github_graphql/tasks/deployment_collector.go | 17 +-
.../tasks/deployment_convertor.go | 23 +-
.../github_graphql/tasks/deployment_extractor.go | 3 +
.../github_graphql/tasks/issue_collector.go | 8 +-
.../plugins/github_graphql/tasks/job_collector.go | 10 +-
.../plugins/github_graphql/tasks/pr_collector.go | 36 +-
.../plugins/github_graphql/tasks/pr_extractor.go | 19 +-
.../github_graphql/tasks/release_collector.go | 137 +++
...eployment_extractor.go => release_extractor.go} | 72 +-
backend/plugins/gitlab/api/blueprint_V200_test.go | 45 +-
backend/plugins/gitlab/api/blueprint_v200.go | 30 +-
backend/plugins/gitlab/api/init.go | 2 +
backend/plugins/gitlab/api/scope_config_api.go | 14 +
backend/plugins/gitlab/e2e/mr_commits_test.go | 2 +
.../snapshot_tables/cicd_deployment_commits.csv | 18 +-
.../e2e/snapshot_tables/cicd_deployments.csv | 18 +-
.../e2e/snapshot_tables/cicd_pipeline_commits.csv | 60 +-
.../gitlab/e2e/snapshot_tables/cicd_pipelines.csv | 34 +-
.../gitlab/e2e/snapshot_tables/pull_requests.csv | 38 +-
backend/plugins/gitlab/impl/impl.go | 4 +
.../gitlab/models/{reviewer.go => assignee.go} | 13 +-
.../20240411_add_web_url_to_pipeline.go} | 34 +-
.../migrationscripts/20240531_add_mr_assignees.go} | 45 +-
...5_add_mr_assignees_and_reviewers_primary_key.go | 88 ++
.../archived/{reviewer.go => assignee.go} | 11 +-
.../models/migrationscripts/archived/reviewer.go | 5 +-
.../gitlab/models/migrationscripts/register.go | 3 +
backend/plugins/gitlab/models/pipeline.go | 1 +
backend/plugins/gitlab/models/reviewer.go | 7 +-
.../plugins/gitlab/tasks/deployment_collector.go | 14 +-
.../plugins/gitlab/tasks/deployment_convertor.go | 2 +
.../gitlab/tasks/issue_assignee_convertor.go | 6 +
backend/plugins/gitlab/tasks/issue_collector.go | 4 +-
.../tasks/mr_assignee_convertor.go} | 63 +-
backend/plugins/gitlab/tasks/mr_collector.go | 10 +-
.../plugins/gitlab/tasks/mr_detail_collector.go | 6 +-
.../plugins/gitlab/tasks/mr_detail_extractor.go | 17 +-
backend/plugins/gitlab/tasks/mr_extractor.go | 29 +-
.../tasks/mr_reviewer_convertor.go} | 63 +-
backend/plugins/gitlab/tasks/pipeline_collector.go | 10 +-
.../gitlab/tasks/pipeline_commit_convertor.go | 2 +
.../gitlab/tasks/pipeline_detail_collector.go | 6 +-
.../gitlab/tasks/pipeline_detail_convertor.go | 2 +
.../gitlab/tasks/pipeline_detail_extractor.go | 3 -
backend/plugins/gitlab/tasks/pipeline_extractor.go | 1 +
backend/plugins/gitlab/tasks/shared.go | 8 +-
backend/plugins/gitlab/tasks/task_data.go | 10 +-
.../plugins/gitlab/tasks/trigger_job_collector.go | 16 +-
backend/plugins/icla/tasks/task_data.go | 3 +-
.../register.go => issue_trace/api/init.go} | 16 +-
.../e2e/general_issue_assignee_history_test.go | 52 ++
.../e2e/general_issue_status_history_test.go | 53 ++
.../register.go => issue_trace/e2e/meta.go} | 17 +-
.../issue_trace/e2e/raw_tables/board_issues.csv | 33 +
.../e2e/raw_tables/issue_changelogs.csv | 694 +++++++++++++++
.../plugins/issue_trace/e2e/raw_tables/issues.csv | 33 +
.../e2e/snapshot_tables/issue_assignee_history.csv | 43 +
.../e2e/snapshot_tables/issue_status_history.csv | 201 +++++
backend/plugins/issue_trace/impl/enricher.go | 179 ++++
backend/plugins/issue_trace/issue_trace.go | 48 +
.../models/issue_assignee_history.go} | 25 +-
.../models/issue_status_history.go} | 29 +-
.../migrationscripts/2024_05_30_new_issue_table.go | 70 ++
.../register.go => issue_trace/services/query.go} | 17 +-
.../tasks/issue_assignee_history_convertor.go | 299 +++++++
.../tasks/issue_status_history_convertor.go | 275 ++++++
.../tasks/issue_status_history_convertor_test.go} | 43 +-
.../issue_trace/tasks/task_data.go} | 22 +-
backend/plugins/issue_trace/utils/array.go | 62 ++
.../base.go => issue_trace/utils/constant.go} | 7 +-
.../register.go => issue_trace/utils/context.go} | 14 +-
backend/plugins/jenkins/api/remote_api.go | 14 +-
backend/plugins/jenkins/api/scope_api.go | 18 +-
backend/plugins/jenkins/api/scope_config_api.go | 14 +
backend/plugins/jenkins/e2e/builds_test.go | 3 +
backend/plugins/jenkins/e2e/jobs_test.go | 40 +
.../e2e/{builds_test.go => multibranch_test.go} | 117 ++-
.../_raw_jenkins_api_builds_multibranch.csv | 16 +
.../_raw_jenkins_api_jobs_multibranch.csv | 5 +
.../_raw_jenkins_api_stages_multibranch.csv | 66 ++
.../raw_tables/_tool_jenkins_jobs_multibranch.csv | 5 +
.../_tool_jenkins_build_commits_multibranch.csv | 14 +
.../_tool_jenkins_builds_multibranch.csv | 16 +
...ool_jenkins_builds_multibranch_after_enrich.csv | 16 +
.../_tool_jenkins_stages_multibranch.csv | 66 ++
.../e2e/snapshot_tables/cicd_pipeline_commits.csv | 8 +-
.../cicd_pipeline_commits_multibranch.csv | 14 +
.../snapshot_tables/cicd_pipelines_multibranch.csv | 16 +
.../snapshot_tables/cicd_scopes_multibranch.csv | 5 +
.../e2e/snapshot_tables/cicd_tasks_multibranch.csv | 3 +
backend/plugins/jenkins/impl/impl.go | 11 +-
backend/plugins/jenkins/models/build_commit.go | 1 +
.../20240410_add_number_field_to_build_commits.go} | 34 +-
.../jenkins/models/migrationscripts/register.go | 1 +
.../plugins/jenkins/tasks/build_cicd_convertor.go | 27 +-
backend/plugins/jenkins/tasks/build_collector.go | 111 ++-
.../jenkins/tasks/build_commit_convertor.go | 37 +-
backend/plugins/jenkins/tasks/build_extractor.go | 32 +-
.../plugins/jenkins/tasks/build_stages_enricher.go | 21 +-
.../tasks/{build_collector.go => job_collector.go} | 63 +-
.../tasks/{stage_extractor.go => job_extractor.go} | 47 +-
backend/plugins/jenkins/tasks/shared.go | 6 +-
backend/plugins/jenkins/tasks/stage_collector.go | 85 +-
backend/plugins/jenkins/tasks/stage_convertor.go | 18 +-
backend/plugins/jenkins/tasks/stage_extractor.go | 3 +-
backend/plugins/jenkins/tasks/task_data.go | 26 +-
backend/plugins/jira/api/scope_config_api.go | 14 +
backend/plugins/jira/e2e/changelog_test.go | 28 +
.../e2e/raw_tables/_raw_jira_api_issue_fields.csv | 4 +
.../_tool_jira_issue_changelog_items_extractor.csv | 564 ++++++------
.../snapshot_tables/_tool_jira_issue_fields.csv | 3 +
.../_tool_jira_issues_for_external_epics.csv | 8 +-
.../jira/e2e/snapshot_tables/issue_assignees.csv | 60 +-
.../plugins/jira/e2e/snapshot_tables/issues.csv | 24 +-
backend/plugins/jira/impl/impl.go | 7 +
backend/plugins/jira/models/issue.go | 2 +
backend/plugins/jira/models/issue_changelog.go | 20 +-
.../models/issue_field.go} | 28 +-
.../20240514_add_worklog_total_to_issue.go | 56 ++
.../20240611_add_subtask_to_issue.go} | 37 +-
..._add_tmp_account_id_to_issue_changelog_item.go} | 55 +-
.../20240710_add_issue_field_table.go} | 20 +-
.../migrationscripts/archived/issue_field.go} | 32 +-
.../jira/models/migrationscripts/register.go | 4 +
.../plugins/jira/tasks/apiv2models/changelog.go | 50 +-
backend/plugins/jira/tasks/apiv2models/issue.go | 7 +-
.../jira/tasks/board_filter_begin_collector.go | 3 +
.../jira/tasks/board_filter_end_collector.go | 3 +-
.../jira/tasks/development_panel_collector.go | 10 +-
backend/plugins/jira/tasks/epic_collector.go | 9 +-
backend/plugins/jira/tasks/epic_extractor.go | 42 +-
.../jira/tasks/issue_changelog_collector.go | 10 +-
.../jira/tasks/issue_changelog_convertor.go | 98 +-
.../jira/tasks/issue_changelog_extractor.go | 22 +-
backend/plugins/jira/tasks/issue_collector.go | 10 +-
.../plugins/jira/tasks/issue_comment_collector.go | 10 +-
backend/plugins/jira/tasks/issue_convertor.go | 80 +-
backend/plugins/jira/tasks/issue_extractor.go | 38 +-
.../tasks/issue_field_collector.go} | 62 +-
.../plugins/jira/tasks/issue_field_extractor.go | 100 +++
backend/plugins/jira/tasks/remotelink_collector.go | 10 +-
backend/plugins/jira/tasks/task_data.go | 11 +-
backend/plugins/jira/tasks/worklog_collector.go | 34 +-
.../archived/.gitkeep => linker/README.md} | 0
.../plugins/linker/e2e/link_pr_and_issue_test.go | 71 ++
.../linker/e2e/snapshot_tables/board_issues.csv | 3 +
.../plugins/linker/e2e/snapshot_tables/issues.csv | 5 +
.../linker/e2e/snapshot_tables/project_mapping.csv | 3 +
.../e2e/snapshot_tables/pull_request_issues.csv | 3 +
.../linker/e2e/snapshot_tables/pull_requests.csv | 2 +
backend/plugins/linker/impl/impl.go | 127 +++
.../{dora/tasks/task_data.go => linker/linker.go} | 38 +-
.../models/migrationscripts/register.go | 4 +-
backend/plugins/linker/tasks/link_pr_and_issue.go | 142 +++
.../plugins/{dora => linker}/tasks/task_data.go | 25 +-
backend/plugins/opsgenie/api/blueprint_v200.go | 22 +-
.../api/{connection.go => connection_api.go} | 41 +-
backend/plugins/opsgenie/api/init.go | 16 +-
.../opsgenie/api/{remote.go => remote_api.go} | 168 +---
.../opsgenie/api/{scope.go => scope_api.go} | 16 +-
...d_new_fields_to_tool_opsgenie_scope_configs.go} | 54 +-
.../opsgenie/models/migrationscripts/register.go | 1 +
backend/plugins/opsgenie/tasks/task_data.go | 9 +-
backend/plugins/pagerduty/api/blueprint_v200.go | 95 +-
.../api/{connection.go => connection_api.go} | 47 +-
backend/plugins/pagerduty/api/init.go | 35 +-
backend/plugins/pagerduty/api/remote.go | 233 -----
backend/plugins/pagerduty/api/remote_api.go | 174 ++++
.../pagerduty/api/{scope.go => scope_api.go} | 32 +-
backend/plugins/pagerduty/e2e/incident_test.go | 9 +-
backend/plugins/pagerduty/impl/impl.go | 4 +-
..._new_fields_to_tool_pagerduty_scope_configs.go} | 54 +-
.../pagerduty/models/migrationscripts/register.go | 1 +
backend/plugins/pagerduty/models/service.go | 2 +-
backend/plugins/pagerduty/tasks/task_data.go | 14 +-
backend/plugins/slack/tasks/task_data.go | 3 +-
backend/plugins/sonarqube/api/remote_api.go | 7 +
.../20240325_modify_commit_character_type.go | 58 ++
.../20240508_modify_commit_character_type.go} | 43 +-
...0240614_update_tool_sonarqube_scope_configs.go} | 54 +-
.../20240709_modify_name_length.go | 57 ++
.../sonarqube/models/migrationscripts/register.go | 4 +
.../plugins/sonarqube/models/sonarqube_account.go | 2 +-
.../plugins/sonarqube/models/sonarqube_project.go | 2 +-
backend/plugins/sonarqube/tasks/task_data.go | 5 +-
backend/plugins/starrocks/tasks/tasks.go | 7 +-
backend/plugins/starrocks/utils/utils.go | 2 +-
backend/plugins/table_info_test.go | 4 +
backend/plugins/tapd/api/blueprint_v200.go | 90 +-
backend/plugins/tapd/api/blueprint_v200_test.go | 129 ---
.../tapd/api/{connection.go => connection_api.go} | 52 +-
backend/plugins/tapd/api/init.go | 45 +-
backend/plugins/tapd/api/proxy.go | 72 --
backend/plugins/tapd/api/remote.go | 168 ----
backend/plugins/tapd/api/remote_api.go | 168 ++++
.../plugins/tapd/api/{scope.go => scope_api.go} | 26 +-
.../api/{scope_config.go => scope_config_api.go} | 28 +-
backend/plugins/tapd/impl/impl.go | 28 +-
backend/plugins/tapd/models/bug.go | 2 +-
backend/plugins/tapd/models/bug_changelog.go | 4 +-
backend/plugins/tapd/models/changelog.go | 4 +-
backend/plugins/tapd/models/connection.go | 1 +
backend/plugins/tapd/models/iteration.go | 4 +-
backend/plugins/tapd/models/iteration_bug.go | 2 +-
backend/plugins/tapd/models/iteration_story.go | 2 +-
backend/plugins/tapd/models/iteration_task.go | 2 +-
.../20240415_add_company_id_to_connection.go} | 28 +-
.../tapd/models/migrationscripts/register.go | 1 +
backend/plugins/tapd/models/story.go | 2 +-
backend/plugins/tapd/models/story_changelog.go | 8 +-
backend/plugins/tapd/models/task.go | 2 +-
backend/plugins/tapd/models/task_changelog.go | 8 +-
.../plugins/tapd/tasks/bug_changelog_collector.go | 12 +-
.../plugins/tapd/tasks/bug_changelog_converter.go | 6 +-
.../plugins/tapd/tasks/bug_changelog_extractor.go | 3 +-
backend/plugins/tapd/tasks/bug_collector.go | 10 +-
backend/plugins/tapd/tasks/bug_commit_collector.go | 10 +-
backend/plugins/tapd/tasks/iteration_collector.go | 10 +-
backend/plugins/tapd/tasks/shared.go | 2 +-
backend/plugins/tapd/tasks/shared_test.go | 4 +-
backend/plugins/tapd/tasks/story_bug_collector.go | 10 +-
.../tapd/tasks/story_changelog_collector.go | 4 +-
.../tapd/tasks/story_changelog_converter.go | 4 +-
backend/plugins/tapd/tasks/story_collector.go | 10 +-
.../plugins/tapd/tasks/story_commit_collector.go | 10 +-
.../plugins/tapd/tasks/task_changelog_collector.go | 10 +-
.../plugins/tapd/tasks/task_changelog_converter.go | 4 +-
backend/plugins/tapd/tasks/task_collector.go | 6 +-
.../plugins/tapd/tasks/task_commit_collector.go | 10 +-
backend/plugins/tapd/tasks/task_data.go | 13 +-
backend/plugins/tapd/tasks/worklog_collector.go | 10 +-
backend/plugins/teambition/api/blueprint200.go | 107 ---
.../{bamboo => teambition}/api/blueprint_v200.go | 54 +-
.../api/{connection.go => connection_api.go} | 49 +-
backend/plugins/teambition/api/init.go | 22 +-
.../snapshot_tables/_tool_teambition_projects.csv | 4 +-
.../20240417_add_scope_config_id.go} | 37 +-
.../teambition/models/migrationscripts/register.go | 1 +
backend/plugins/teambition/models/project.go | 34 +-
backend/plugins/teambition/tasks/shared.go | 11 +-
backend/plugins/teambition/tasks/task_data.go | 11 +-
backend/plugins/trello/api/blueprint_v200.go | 101 +--
.../api/{connection.go => connection_api.go} | 46 +-
backend/plugins/trello/api/init.go | 43 +-
backend/plugins/trello/api/proxy.go | 51 --
.../clone_libgit2.go => trello/api/remote_api.go} | 16 +-
.../plugins/trello/api/{scope.go => scope_api.go} | 29 +-
.../api/{scope_config.go => scope_config_api.go} | 32 +-
backend/plugins/trello/impl/impl.go | 18 +-
backend/plugins/trello/tasks/task_data.go | 8 +-
backend/plugins/webhook/api/connection.go | 7 +
backend/plugins/webhook/api/deployments.go | 236 +++--
.../plugins/webhook/api/{incident.go => issues.go} | 99 ++-
backend/plugins/webhook/impl/impl.go | 4 +-
backend/plugins/zentao/api/blueprint_V200_test.go | 184 ----
backend/plugins/zentao/api/blueprint_v200.go | 113 +--
.../api/{connection.go => connection_api.go} | 48 +-
backend/plugins/zentao/api/init.go | 41 +-
backend/plugins/zentao/api/proxy.go | 58 --
backend/plugins/zentao/api/remote.go | 114 ---
.../plugins/{jenkins => zentao}/api/remote_api.go | 103 +--
.../zentao/api/{project_scope.go => scope_api.go} | 46 +-
.../api/{scope_config.go => scope_config_api.go} | 32 +-
backend/plugins/zentao/impl/impl.go | 23 +-
backend/plugins/zentao/models/task.go | 2 +-
.../plugins/zentao/tasks/bug_commits_collector.go | 10 +-
backend/plugins/zentao/tasks/bug_convertor.go | 6 +-
.../zentao/tasks/bug_repo_commits_collector.go | 2 +-
.../zentao/tasks/bug_repo_commits_convertor.go | 2 +-
.../zentao/tasks/bug_repo_commits_extractor.go | 2 +-
.../plugins/zentao/tasks/execution_collector.go | 5 +-
...ector.go => execution_summary_dev_collector.go} | 64 +-
...actor.go => execution_summary_dev_extractor.go} | 51 +-
.../zentao/tasks/story_commits_collector.go | 10 +-
backend/plugins/zentao/tasks/story_convertor.go | 6 +-
.../zentao/tasks/story_repo_commits_collector.go | 2 +-
.../zentao/tasks/story_repo_commits_convertor.go | 5 +-
.../zentao/tasks/story_repo_commits_extractor.go | 3 +-
.../plugins/zentao/tasks/task_commits_collector.go | 10 +-
backend/plugins/zentao/tasks/task_convertor.go | 6 +-
backend/plugins/zentao/tasks/task_data.go | 5 +-
.../zentao/tasks/task_repo_commits_collector.go | 2 +-
.../zentao/tasks/task_repo_commits_convertor.go | 5 +-
.../zentao/tasks/task_repo_commits_extractor.go | 3 +-
.../python/plugins/azuredevops/azuredevops/main.py | 4 +-
.../plugins/azuredevops/azuredevops/migrations.py | 54 ++
.../plugins/azuredevops/azuredevops/models.py | 16 +-
.../azuredevops/azuredevops/streams/builds.py | 4 +
.../azuredevops/streams/pull_requests.py | 12 +-
backend/python/plugins/azuredevops/poetry.lock | 10 +-
.../plugins/azuredevops/tests/streams_test.py | 32 +-
.../base.go => python/plugins/gerrit/README.md} | 11 +-
.../plugins/{azuredevops => gerrit}/build.sh | 0
.../azuredevops => gerrit/gerrit}/__init__.py | 0
backend/python/plugins/gerrit/gerrit/api.py | 120 +++
backend/python/plugins/gerrit/gerrit/main.py | 117 +++
backend/python/plugins/gerrit/gerrit/migrations.py | 70 ++
backend/python/plugins/gerrit/gerrit/models.py | 76 ++
.../gerrit/gerrit/streams/change_commits.py | 47 +
.../plugins/gerrit/gerrit/streams/changes.py | 111 +++
backend/python/plugins/gerrit/poetry.lock | 651 ++++++++++++++
.../python/plugins/gerrit/pyproject.toml | 28 +-
.../python/plugins/gerrit/run.sh | 13 +-
.../azuredevops => gerrit/tests}/__init__.py | 0
backend/python/plugins/gerrit/tests/plugin_test.py | 42 +
backend/python/plugins/gerrit/tests/stream_test.py | 126 +++
backend/python/pydevlake/poetry.lock | 8 +-
.../pydevlake/domain_layer/crossdomain.py | 4 +-
.../pydevlake/pydevlake/domain_layer/devops.py | 5 +
backend/python/pydevlake/pydevlake/model.py | 2 +-
.../python/pydevlake/pydevlake/pipeline_tasks.py | 6 +-
backend/python/pydevlake/pydevlake/plugin.py | 3 +-
backend/python/test/fakeplugin/poetry.lock | 8 +-
backend/scripts/build-plugins.sh | 2 +-
backend/server/api/api.go | 68 +-
backend/server/api/middlewares.go | 1 +
backend/server/api/project/project.go | 4 +-
backend/server/api/router.go | 4 +-
backend/server/api/shared/api_output.go | 23 +
backend/server/services/blueprint.go | 10 +-
backend/server/services/blueprint_makeplan_v200.go | 2 +-
backend/server/services/init.go | 53 +-
backend/server/services/pipeline.go | 102 ++-
backend/server/services/pipeline_helper.go | 7 +-
backend/server/services/project.go | 82 +-
.../server/services/remote/plugin/default_api.go | 3 +
.../services/remote/plugin/scope_config_api.go | 73 +-
backend/server/services/store.go | 1 -
backend/server/services/task.go | 27 +-
backend/test/e2e/manual/azuredevops/models.go | 1 +
backend/test/e2e/remote/helper.go | 7 +-
backend/test/helper/api.go | 41 +-
backend/test/helper/client.go | 4 +-
backend/test/helper/models.go | 1 +
config-ui/env.example | 7 +
config-ui/index.html | 2 +-
config-ui/nginx.conf | 7 +-
config-ui/package.json | 6 +-
config-ui/public/onboard/step-1/azuredevops.md | 11 +-
config-ui/public/onboard/step-1/bitbucket.md | 11 +-
config-ui/public/onboard/step-1/default.md | 2 +-
config-ui/public/onboard/step-1/github.md | 11 +-
config-ui/public/onboard/step-1/gitlab.md | 11 +-
config-ui/public/onboard/step-2/azuredevops.md | 14 +-
config-ui/public/onboard/step-2/bitbucket.md | 24 +-
config-ui/public/onboard/step-2/github.md | 32 +-
config-ui/public/onboard/step-2/gitlab.md | 29 +-
config-ui/public/onboard/step-3/azuredevops.md | 18 +-
config-ui/public/onboard/step-3/bitbucket.md | 18 +-
config-ui/public/onboard/step-3/github.md | 18 +-
config-ui/public/onboard/step-3/gitlab.md | 18 +-
config-ui/src/api/blueprint/index.ts | 9 +-
config-ui/src/api/connection/index.ts | 23 +-
config-ui/src/api/pipeline/types.ts | 2 +-
config-ui/src/api/project/index.ts | 14 +-
config-ui/src/api/scope-config/index.ts | 5 +
.../tips/index.ts => api/scope-config/types.ts} | 7 +-
config-ui/src/api/scope/index.ts | 6 +-
config-ui/src/app/store.ts | 3 +-
.../action/icon-button/index.tsx} | 29 +-
config-ui/src/components/action/index.ts | 1 +
config-ui/src/components/block/index.tsx | 4 +-
config-ui/src/components/index.ts | 1 +
config-ui/src/components/logo/index.tsx | 6 +-
.../graphql.tsx => components/markdown/index.tsx} | 45 +-
.../src/components/tooltip/help-tooltip/index.tsx | 5 +-
config-ui/src/features/connections/utils.ts | 2 +-
config-ui/src/features/index.ts | 1 -
config-ui/src/features/tips/slice.ts | 58 --
config-ui/src/hooks/use-auto-refresh.ts | 2 +-
config-ui/src/images/logo-horizontal.svg | 32 +
config-ui/src/index.css | 4 +
.../connection-form/fields/secret-key.tsx | 19 +-
.../components/connection-form/fields/token.tsx | 19 +-
.../plugins/components/connection-form/index.tsx | 4 +
.../plugins/components/data-scope-select/index.tsx | 3 +-
config-ui/src/plugins/components/index.ts | 3 +-
.../{connection-name => plugin-name}/index.tsx | 9 +-
.../plugins/components/scope-config-form/index.tsx | 15 +-
.../components/scope-config-select/index.tsx | 31 +-
.../src/plugins/components/scope-config/index.tsx | 311 +++++++
config-ui/src/plugins/register/azure/config.tsx | 21 +-
.../register/azure/connection-fields/index.ts | 1 +
.../azure/connection-fields/organization.tsx | 89 ++
.../src/plugins/register/gerrit/assets/icon.svg | 19 +
config-ui/src/plugins/register/gerrit/config.tsx | 57 ++
.../plugins/register/{opsgenie => gerrit}/index.ts | 0
config-ui/src/plugins/register/github/config.tsx | 11 +-
.../register/github/connection-fields/index.ts | 1 -
.../register/github/connection-fields/token.tsx | 2 +-
config-ui/src/plugins/register/index.ts | 2 +
.../register/jira/connection-fields/auth.tsx | 11 +-
config-ui/src/plugins/register/tapd/config.tsx | 17 +-
.../connection-fields/company-id.tsx} | 41 +-
.../register/tapd/connection-fields}/index.ts | 2 +-
config-ui/src/plugins/register/tapd/data-scope.tsx | 128 ---
config-ui/src/plugins/register/tapd/index.ts | 1 -
.../register/webhook/components/create-dialog.tsx | 22 +-
.../plugins/register/webhook/components/utils.ts | 56 ++
.../register/webhook/components/view-dialog.tsx | 32 +-
config-ui/src/release/v1.0.ts | 137 +++
.../routes/blueprint/connection-detail/index.tsx | 136 +--
.../routes/blueprint/connection-detail/table.tsx | 75 ++
.../blueprint/detail/blueprint-detail-page.tsx | 8 +
.../components/add-connection-dialog/index.tsx | 51 +-
config-ui/src/routes/blueprint/home/index.tsx | 15 +-
config-ui/src/routes/connection/connection.tsx | 97 +-
config-ui/src/routes/layout/layout.tsx | 96 +-
config-ui/src/routes/layout/styled.ts | 34 -
config-ui/src/routes/onboard/card.tsx | 54 --
config-ui/src/routes/onboard/components/card.tsx | 182 ++++
config-ui/src/routes/onboard/components/index.ts | 2 +
config-ui/src/routes/onboard/components/logs.tsx | 72 +-
config-ui/src/routes/onboard/components/tour.tsx | 57 ++
config-ui/src/routes/onboard/context.tsx | 1 +
config-ui/src/routes/onboard/index.tsx | 43 +-
config-ui/src/routes/onboard/step-0.tsx | 109 ++-
config-ui/src/routes/onboard/step-1.tsx | 32 +-
config-ui/src/routes/onboard/step-2.tsx | 59 +-
config-ui/src/routes/onboard/step-3.tsx | 32 +-
config-ui/src/routes/onboard/step-4.tsx | 284 +++---
config-ui/src/routes/onboard/styled.ts | 13 +-
config-ui/src/routes/pipeline/components/table.tsx | 10 +-
config-ui/src/routes/pipeline/components/task.tsx | 3 +
config-ui/src/routes/project/detail/index.tsx | 12 +-
.../src/routes/project/detail/settings-panel.tsx | 114 ++-
config-ui/src/routes/project/home/index.tsx | 75 +-
config-ui/src/routes/project/utils.ts | 2 -
config-ui/src/types/connection.ts | 6 +-
config-ui/src/types/project.ts | 2 +-
config-ui/src/utils/operator.ts | 11 +-
config-ui/src/vite-env.d.ts | 5 +
config-ui/yarn.lock | 83 +-
env.example | 20 +-
grafana/Dockerfile | 2 +-
grafana/dashboards/BitBucket.json | 989 ++++++++++++++++++++-
grafana/dashboards/CircleCI.json | 110 ++-
.../dashboards/ComponentAndFileLevelMetrics.json | 8 +-
grafana/dashboards/DORA.json | 39 +-
grafana/dashboards/DORAByTeam.json | 10 +-
grafana/dashboards/DORADebug.json | 12 +-
.../dashboards/DORADetails-ChangeFailureRate.json | 24 +-
.../DORADetails-DeploymentFrequency.json | 174 ++--
.../DORADetails-FailedDeploymentRecoveryTime.json | 40 +-
.../dashboards/DORADetails-LeadTimeforChanges.json | 31 +-
.../DORADetails-TimetoRestoreService.json | 10 +-
grafana/dashboards/EngineeringOverview.json | 523 ++++++-----
.../EngineeringThroughputAndCycleTime.json | 123 ++-
.../EngineeringThroughputAndCycleTimeTeamView.json | 175 +++-
grafana/dashboards/Jira.json | 211 +++--
grafana/dashboards/WeeklyBugRetro.json | 414 ++++++---
grafana/dashboards/WorkLogs.json | 536 ++++++++---
758 files changed, 20272 insertions(+), 10378 deletions(-)
create mode 100644 backend/core/models/common/string_int64.go
copy backend/{plugins/tapd/models/iteration_story.go =>
core/models/domainlayer/code/pull_request_assignees.go} (64%)
copy backend/{plugins/tapd/models/iteration_story.go =>
core/models/domainlayer/code/pull_request_reviewers.go} (64%)
copy backend/core/models/domainlayer/crossdomain/{project_issue_metric.go =>
project_incident_deployment_relationship.go} (85%)
copy backend/core/models/domainlayer/devops/{cicd_deployment.go =>
cicd_release.go} (52%)
copy backend/core/models/domainlayer/ticket/{issue.go => incident.go} (55%)
copy backend/{plugins/github/models/reviewer.go =>
core/models/domainlayer/ticket/incident_assginee.go} (68%)
create mode 100644
backend/core/models/migrationscripts/20240410_add_display_title_and_url_to_deployment.go
create mode 100644
backend/core/models/migrationscripts/20240424_add_subtask_states.go
create mode 100644
backend/core/models/migrationscripts/20240514_add_cicd_release.go
copy backend/{plugins/gitextractor/parser/clone_libgit2.go =>
core/models/migrationscripts/20240515_add_commit_sha_to_cicd_release.go} (55%)
copy backend/{plugins/gitextractor/parser/clone_libgit2.go =>
core/models/migrationscripts/20240521_modify_cicd_deployment_commits_repo_url_length.go}
(52%)
copy backend/{plugins/gitextractor/parser/clone_gogit.go =>
core/models/migrationscripts/20240521_modify_cicd_pipeline_commits_repo_url_length.go}
(52%)
copy backend/{plugins/gitextractor/parser/clone_libgit2.go =>
core/models/migrationscripts/20240523_update_issue_key_type_in_pull_request_issues.go}
(54%)
create mode 100644
backend/core/models/migrationscripts/20240523_update_plugin_option_in_project_metric_settings.go
copy backend/{plugins/gitlab/models/migrationscripts/archived/reviewer.go =>
core/models/migrationscripts/20240531_add_pr_assignees_and_reviewers.go} (57%)
copy backend/{plugins/dora/tasks/task_data.go =>
core/models/migrationscripts/20240603_add_pull_request_id_index_for_pr_comments_table.go}
(52%)
create mode 100644
backend/core/models/migrationscripts/20240603_add_pull_request_id_index_for_pr_commits_table.go
create mode 100644
backend/core/models/migrationscripts/20240607_modify_pr_assignees_and_reviewers_id.go
copy backend/{plugins/gitlab/models/migrationscripts/archived/reviewer.go =>
core/models/migrationscripts/20240621_init_incidents_and_incident_assignees.go}
(58%)
copy backend/{plugins/gitlab/models/migrationscripts/archived/reviewer.go =>
core/models/migrationscripts/20240621_rename_project_issue_metrics.go} (58%)
copy backend/{plugins/teambition/api/init.go =>
core/models/migrationscripts/20240710_add_changes_to_pr.go} (58%)
copy backend/{plugins/gitextractor/parser/clone_libgit2.go =>
core/models/migrationscripts/20240710_add_merge_by_to_pr.go} (56%)
copy backend/{plugins/gitextractor/parser/clone_gogit.go =>
core/models/migrationscripts/20240725_add_is_draft_to_pr.go} (59%)
copy backend/core/models/{domainlayer/ticket/issue.go =>
migrationscripts/archived/incident.go} (50%)
copy backend/{plugins/azuredevops_go/models/migrationscripts/register.go =>
core/models/migrationscripts/archived/incident_assignee.go} (71%)
copy backend/core/models/{domainlayer/devops/cicd_pipeline_commmit.go =>
migrationscripts/archived/pull_request_assignees.go} (61%)
copy backend/core/models/{domainlayer/devops/cicd_pipeline_commmit.go =>
migrationscripts/archived/pull_request_reviewers.go} (61%)
create mode 100644 backend/core/models/subtask_state.go
create mode 100644 backend/helpers/pluginhelper/api/api_client_test.go
rename backend/helpers/pluginhelper/api/{api_collector_with_state.go =>
api_collector_stateful.go} (67%)
copy backend/helpers/pluginhelper/api/{api_extractor.go =>
api_extractor_stateful.go} (55%)
create mode 100644 backend/helpers/pluginhelper/api/collector_state_manager.go
create mode 100644
backend/helpers/pluginhelper/api/collector_state_manager_test.go
create mode 100644 backend/helpers/pluginhelper/api/data_convertor_stateful.go
create mode 100644 backend/helpers/pluginhelper/api/subtask_state_manager.go
create mode 100644
backend/helpers/pluginhelper/api/subtask_state_manager_test.go
create mode 100644 backend/plugins/azuredevops_go/api/azuredevops/client.go
rename backend/plugins/azuredevops_go/api/{vs_client_test.go =>
azuredevops/client_test.go} (97%)
create mode 100644 backend/plugins/azuredevops_go/api/azuredevops/models.go
rename backend/plugins/azuredevops_go/api/{ => azuredevops}/testdata/test.txt
(90%)
delete mode 100644 backend/plugins/azuredevops_go/api/remote_data.go
delete mode 100644 backend/plugins/azuredevops_go/api/vs_client.go
create mode 100644
backend/plugins/azuredevops_go/models/migrationscripts/20240413_add_remote_repo_support.go
copy backend/{server/services/store.go =>
plugins/azuredevops_go/models/migrationscripts/20240624_support_disabled_repos.go}
(50%)
create mode 100644
backend/plugins/bamboo/models/migrationscripts/20240411_add_link_href_to_plan_build.go
rename backend/plugins/bamboo/models/{task.go => task_data.go} (72%)
create mode 100644
backend/plugins/bitbucket/e2e/snapshot_tables/cicd_pipeline_commits.csv
copy backend/plugins/{gitextractor/parser/clone_libgit2.go =>
bitbucket/models/migrationscripts/20240717_add_merge_by_to_pr.go} (55%)
rename backend/plugins/bitbucket_server/api/{remote.go => remote_api.go} (91%)
rename backend/plugins/bitbucket_server/api/{scope.go => scope_api.go} (94%)
rename backend/plugins/bitbucket_server/api/{scope_config.go =>
scope_config_api.go} (87%)
delete mode 100644 backend/plugins/circleci/api/blueprint200.go
copy backend/plugins/{bamboo => circleci}/api/blueprint_v200.go (76%)
rename backend/plugins/circleci/api/{connection.go => connection_api.go} (77%)
rename backend/plugins/circleci/api/{remote.go => remote_api.go} (64%)
rename backend/plugins/circleci/api/{scope.go => scope_api.go} (68%)
delete mode 100644 backend/plugins/circleci/api/scope_config.go
copy backend/plugins/{bitbucket => circleci}/api/scope_config_api.go (62%)
delete mode 100644
backend/plugins/circleci/e2e/snapshot_tables/cicd_pipeline_commits.csv
copy backend/plugins/{dora/tasks/task_data.go =>
circleci/models/migrationscripts/20240717_add_createddate_to_workflow.go} (52%)
create mode 100644
backend/plugins/customize/e2e/snapshot_tables/issues_for_data_extraction_board8.csv
create mode 100644
backend/plugins/customize/e2e/snapshot_tables/issues_for_data_extraction_board9.csv
rename
backend/plugins/customize/e2e/snapshot_tables/{issues_for_data_extraction.csv
=> issues_for_data_extraction_wildcard.csv} (74%)
rename backend/plugins/dora/e2e/snapshot_tables/{project_issue_metrics.csv =>
project_incident_deployment_relationships.csv} (100%)
create mode 100644 backend/plugins/dora/tasks/incident_from_issue_generator.go
create mode 100644 backend/plugins/gitextractor/gitextractor.go
delete mode 100644 backend/plugins/gitextractor/main.go
create mode 100644 backend/plugins/gitextractor/parser/clone_gitcli.go
delete mode 100644 backend/plugins/gitextractor/parser/clone_test.go
delete mode 100644 backend/plugins/gitextractor/parser/repo_creator.go
delete mode 100644 backend/plugins/gitextractor/parser/repo_test.go
create mode 100644 backend/plugins/gitextractor/parser/taskdata.go
delete mode 100644 backend/plugins/gitextractor/tasks/clone.go
create mode 100644 backend/plugins/gitextractor/tasks/repo_cloner.go
rename backend/plugins/gitextractor/tasks/{git_repo_collector.go =>
repo_collector.go} (77%)
delete mode 100644
backend/plugins/github/e2e/snapshot_tables/_tool_github_deployments.csv
delete mode 100644
backend/plugins/github/e2e/snapshot_tables/cicd_deployments.csv
copy backend/plugins/{dora/tasks/task_data.go =>
github/models/migrationscripts/20240410_add_workflow_display_title.go} (50%)
create mode 100644
backend/plugins/github/models/migrationscripts/20240514_add_github_release.go
copy backend/plugins/{gitextractor/parser/clone_gogit.go =>
github/models/migrationscripts/20240515_add_release_commit_sha.go} (57%)
copy backend/plugins/{gitextractor/parser/clone_libgit2.go =>
github/models/migrationscripts/20240710_add_merge_by_to_pr.go} (56%)
create mode 100644
backend/plugins/github/models/migrationscripts/20240711_restruct_github_reviewers.go
copy backend/plugins/{gitextractor/parser/clone_libgit2.go =>
github/models/migrationscripts/20240725_add_is_draft_to_pr.go} (58%)
create mode 100644 backend/plugins/github/models/release.go
create mode 100644 backend/plugins/github/tasks/release_convertor.go
copy backend/plugins/github/tasks/{pr_issue_convertor.go =>
review_convertor.go} (55%)
rename backend/plugins/{github => github_graphql}/e2e/deployment_test.go (96%)
rename backend/plugins/{github =>
github_graphql}/e2e/raw_tables/_raw_github_graphql_deployment.csv (100%)
rename backend/plugins/{github =>
github_graphql}/e2e/raw_tables/_tool_github_repos2.csv (100%)
create mode 100644
backend/plugins/github_graphql/e2e/snapshot_tables/_tool_github_deployments.csv
copy backend/plugins/{github =>
github_graphql}/e2e/snapshot_tables/cicd_deployment_commits.csv (67%)
create mode 100644
backend/plugins/github_graphql/e2e/snapshot_tables/cicd_deployments.csv
rename backend/plugins/{github =>
github_graphql}/tasks/deployment_convertor.go (83%)
create mode 100644 backend/plugins/github_graphql/tasks/release_collector.go
copy backend/plugins/github_graphql/tasks/{deployment_extractor.go =>
release_extractor.go} (53%)
copy backend/plugins/gitlab/models/{reviewer.go => assignee.go} (83%)
copy backend/plugins/{dora/tasks/task_data.go =>
gitlab/models/migrationscripts/20240411_add_web_url_to_pipeline.go} (54%)
copy backend/plugins/{dora/tasks/task_data.go =>
gitlab/models/migrationscripts/20240531_add_mr_assignees.go} (54%)
create mode 100644
backend/plugins/gitlab/models/migrationscripts/20240605_add_mr_assignees_and_reviewers_primary_key.go
copy backend/plugins/gitlab/models/migrationscripts/archived/{reviewer.go =>
assignee.go} (86%)
copy backend/plugins/{azuredevops_go/tasks/pr_commit_converter.go =>
gitlab/tasks/mr_assignee_convertor.go} (52%)
copy backend/plugins/{azuredevops_go/tasks/pr_commit_converter.go =>
gitlab/tasks/mr_reviewer_convertor.go} (52%)
copy backend/plugins/{azuredevops_go/models/migrationscripts/register.go =>
issue_trace/api/init.go} (74%)
create mode 100644
backend/plugins/issue_trace/e2e/general_issue_assignee_history_test.go
create mode 100644
backend/plugins/issue_trace/e2e/general_issue_status_history_test.go
copy backend/plugins/{azuredevops_go/models/migrationscripts/register.go =>
issue_trace/e2e/meta.go} (75%)
create mode 100644 backend/plugins/issue_trace/e2e/raw_tables/board_issues.csv
create mode 100644
backend/plugins/issue_trace/e2e/raw_tables/issue_changelogs.csv
create mode 100644 backend/plugins/issue_trace/e2e/raw_tables/issues.csv
create mode 100644
backend/plugins/issue_trace/e2e/snapshot_tables/issue_assignee_history.csv
create mode 100644
backend/plugins/issue_trace/e2e/snapshot_tables/issue_status_history.csv
create mode 100644 backend/plugins/issue_trace/impl/enricher.go
create mode 100644 backend/plugins/issue_trace/issue_trace.go
copy backend/plugins/{gitlab/models/reviewer.go =>
issue_trace/models/issue_assignee_history.go} (62%)
copy backend/plugins/{gitlab/models/reviewer.go =>
issue_trace/models/issue_status_history.go} (52%)
create mode 100644
backend/plugins/issue_trace/models/migrationscripts/2024_05_30_new_issue_table.go
copy backend/plugins/{azuredevops_go/models/migrationscripts/register.go =>
issue_trace/services/query.go} (69%)
create mode 100644
backend/plugins/issue_trace/tasks/issue_assignee_history_convertor.go
create mode 100644
backend/plugins/issue_trace/tasks/issue_status_history_convertor.go
copy backend/plugins/{jenkins/tasks/shared.go =>
issue_trace/tasks/issue_status_history_convertor_test.go} (54%)
rename backend/{core/models/domainlayer/crossdomain/project_issue_metric.go =>
plugins/issue_trace/tasks/task_data.go} (67%)
create mode 100644 backend/plugins/issue_trace/utils/array.go
copy backend/plugins/{azuredevops_go/models/base.go =>
issue_trace/utils/constant.go} (89%)
copy backend/plugins/{azuredevops_go/models/migrationscripts/register.go =>
issue_trace/utils/context.go} (77%)
copy backend/plugins/jenkins/e2e/{builds_test.go => multibranch_test.go} (58%)
create mode 100644
backend/plugins/jenkins/e2e/raw_tables/_raw_jenkins_api_builds_multibranch.csv
create mode 100644
backend/plugins/jenkins/e2e/raw_tables/_raw_jenkins_api_jobs_multibranch.csv
create mode 100644
backend/plugins/jenkins/e2e/raw_tables/_raw_jenkins_api_stages_multibranch.csv
create mode 100644
backend/plugins/jenkins/e2e/raw_tables/_tool_jenkins_jobs_multibranch.csv
create mode 100644
backend/plugins/jenkins/e2e/snapshot_tables/_tool_jenkins_build_commits_multibranch.csv
create mode 100644
backend/plugins/jenkins/e2e/snapshot_tables/_tool_jenkins_builds_multibranch.csv
create mode 100644
backend/plugins/jenkins/e2e/snapshot_tables/_tool_jenkins_builds_multibranch_after_enrich.csv
create mode 100644
backend/plugins/jenkins/e2e/snapshot_tables/_tool_jenkins_stages_multibranch.csv
create mode 100644
backend/plugins/jenkins/e2e/snapshot_tables/cicd_pipeline_commits_multibranch.csv
create mode 100644
backend/plugins/jenkins/e2e/snapshot_tables/cicd_pipelines_multibranch.csv
create mode 100644
backend/plugins/jenkins/e2e/snapshot_tables/cicd_scopes_multibranch.csv
create mode 100644
backend/plugins/jenkins/e2e/snapshot_tables/cicd_tasks_multibranch.csv
copy backend/plugins/{dora/tasks/task_data.go =>
jenkins/models/migrationscripts/20240410_add_number_field_to_build_commits.go}
(54%)
copy backend/plugins/jenkins/tasks/{build_collector.go => job_collector.go}
(59%)
copy backend/plugins/jenkins/tasks/{stage_extractor.go => job_extractor.go}
(65%)
create mode 100644
backend/plugins/jira/e2e/raw_tables/_raw_jira_api_issue_fields.csv
create mode 100644
backend/plugins/jira/e2e/snapshot_tables/_tool_jira_issue_fields.csv
copy backend/plugins/{tapd/models/iteration_story.go =>
jira/models/issue_field.go} (53%)
create mode 100644
backend/plugins/jira/models/migrationscripts/20240514_add_worklog_total_to_issue.go
copy backend/plugins/{dora/tasks/task_data.go =>
jira/models/migrationscripts/20240611_add_subtask_to_issue.go} (54%)
copy backend/plugins/{opsgenie/api/init.go =>
jira/models/migrationscripts/20240709_add_tmp_account_id_to_issue_changelog_item.go}
(51%)
rename backend/plugins/{gitextractor/parser/clone_gogit.go =>
jira/models/migrationscripts/20240710_add_issue_field_table.go} (61%)
copy backend/plugins/{gitlab/models/migrationscripts/archived/reviewer.go =>
jira/models/migrationscripts/archived/issue_field.go} (53%)
copy backend/plugins/{zentao/tasks/execution_collector.go =>
jira/tasks/issue_field_collector.go} (57%)
create mode 100644 backend/plugins/jira/tasks/issue_field_extractor.go
copy backend/plugins/{trello/models/migrationscripts/archived/.gitkeep =>
linker/README.md} (100%)
create mode 100644 backend/plugins/linker/e2e/link_pr_and_issue_test.go
create mode 100644 backend/plugins/linker/e2e/snapshot_tables/board_issues.csv
create mode 100644 backend/plugins/linker/e2e/snapshot_tables/issues.csv
create mode 100644
backend/plugins/linker/e2e/snapshot_tables/project_mapping.csv
create mode 100644
backend/plugins/linker/e2e/snapshot_tables/pull_request_issues.csv
create mode 100644 backend/plugins/linker/e2e/snapshot_tables/pull_requests.csv
create mode 100644 backend/plugins/linker/impl/impl.go
copy backend/plugins/{dora/tasks/task_data.go => linker/linker.go} (51%)
copy backend/plugins/{azuredevops_go =>
linker}/models/migrationscripts/register.go (94%)
create mode 100644 backend/plugins/linker/tasks/link_pr_and_issue.go
copy backend/plugins/{dora => linker}/tasks/task_data.go (72%)
rename backend/plugins/opsgenie/api/{connection.go => connection_api.go} (83%)
rename backend/plugins/opsgenie/api/{remote.go => remote_api.go} (50%)
rename backend/plugins/opsgenie/api/{scope.go => scope_api.go} (93%)
copy backend/plugins/opsgenie/{api/init.go =>
models/migrationscripts/20240614_add_new_fields_to_tool_opsgenie_scope_configs.go}
(51%)
rename backend/plugins/pagerduty/api/{connection.go => connection_api.go} (81%)
delete mode 100644 backend/plugins/pagerduty/api/remote.go
create mode 100644 backend/plugins/pagerduty/api/remote_api.go
rename backend/plugins/pagerduty/api/{scope.go => scope_api.go} (85%)
copy backend/plugins/{opsgenie/api/init.go =>
pagerduty/models/migrationscripts/20240614_add_new_fields_to_tool_pagerduty_scope_configs.go}
(51%)
create mode 100644
backend/plugins/sonarqube/models/migrationscripts/20240325_modify_commit_character_type.go
copy backend/plugins/{jenkins/tasks/shared.go =>
sonarqube/models/migrationscripts/20240508_modify_commit_character_type.go}
(52%)
copy backend/plugins/{opsgenie/api/init.go =>
sonarqube/models/migrationscripts/20240614_update_tool_sonarqube_scope_configs.go}
(51%)
create mode 100644
backend/plugins/sonarqube/models/migrationscripts/20240709_modify_name_length.go
delete mode 100644 backend/plugins/tapd/api/blueprint_v200_test.go
rename backend/plugins/tapd/api/{connection.go => connection_api.go} (80%)
delete mode 100644 backend/plugins/tapd/api/proxy.go
delete mode 100644 backend/plugins/tapd/api/remote.go
create mode 100644 backend/plugins/tapd/api/remote_api.go
rename backend/plugins/tapd/api/{scope.go => scope_api.go} (88%)
rename backend/plugins/tapd/api/{scope_config.go => scope_config_api.go} (77%)
copy backend/plugins/{gitextractor/parser/clone_libgit2.go =>
tapd/models/migrationscripts/20240415_add_company_id_to_connection.go} (55%)
delete mode 100644 backend/plugins/teambition/api/blueprint200.go
copy backend/plugins/{bamboo => teambition}/api/blueprint_v200.go (68%)
rename backend/plugins/teambition/api/{connection.go => connection_api.go}
(81%)
copy backend/plugins/teambition/{api/init.go =>
models/migrationscripts/20240417_add_scope_config_id.go} (57%)
rename backend/plugins/trello/api/{connection.go => connection_api.go} (81%)
delete mode 100644 backend/plugins/trello/api/proxy.go
rename backend/plugins/{gitextractor/parser/clone_libgit2.go =>
trello/api/remote_api.go} (66%)
rename backend/plugins/trello/api/{scope.go => scope_api.go} (85%)
rename backend/plugins/trello/api/{scope_config.go => scope_config_api.go}
(74%)
rename backend/plugins/webhook/api/{incident.go => issues.go} (70%)
delete mode 100644 backend/plugins/zentao/api/blueprint_V200_test.go
rename backend/plugins/zentao/api/{connection.go => connection_api.go} (81%)
delete mode 100644 backend/plugins/zentao/api/proxy.go
delete mode 100644 backend/plugins/zentao/api/remote.go
copy backend/plugins/{jenkins => zentao}/api/remote_api.go (50%)
rename backend/plugins/zentao/api/{project_scope.go => scope_api.go} (75%)
rename backend/plugins/zentao/api/{scope_config.go => scope_config_api.go}
(75%)
copy backend/plugins/zentao/tasks/{story_repo_commits_collector.go =>
execution_summary_dev_collector.go} (58%)
copy backend/plugins/zentao/tasks/{task_repo_commits_extractor.go =>
execution_summary_dev_extractor.go} (57%)
copy backend/{plugins/azuredevops_go/models/base.go =>
python/plugins/gerrit/README.md} (88%)
copy backend/python/plugins/{azuredevops => gerrit}/build.sh (100%)
copy backend/python/plugins/{azuredevops/azuredevops =>
gerrit/gerrit}/__init__.py (100%)
create mode 100644 backend/python/plugins/gerrit/gerrit/api.py
create mode 100755 backend/python/plugins/gerrit/gerrit/main.py
create mode 100644 backend/python/plugins/gerrit/gerrit/migrations.py
create mode 100644 backend/python/plugins/gerrit/gerrit/models.py
create mode 100644
backend/python/plugins/gerrit/gerrit/streams/change_commits.py
create mode 100644 backend/python/plugins/gerrit/gerrit/streams/changes.py
create mode 100644 backend/python/plugins/gerrit/poetry.lock
copy config-ui/env.example => backend/python/plugins/gerrit/pyproject.toml
(69%)
copy config-ui/env.example => backend/python/plugins/gerrit/run.sh (76%)
mode change 100644 => 100755
copy backend/python/plugins/{azuredevops/azuredevops =>
gerrit/tests}/__init__.py (100%)
create mode 100644 backend/python/plugins/gerrit/tests/plugin_test.py
create mode 100644 backend/python/plugins/gerrit/tests/stream_test.py
copy config-ui/src/{features/tips/index.ts => api/scope-config/types.ts} (90%)
rename config-ui/src/{routes/layout/tips-transition.css =>
components/action/icon-button/index.tsx} (65%)
copy config-ui/src/{plugins/register/github/connection-fields/graphql.tsx =>
components/markdown/index.tsx} (54%)
delete mode 100644 config-ui/src/features/tips/slice.ts
create mode 100644 config-ui/src/images/logo-horizontal.svg
rename config-ui/src/plugins/components/{connection-name =>
plugin-name}/index.tsx (83%)
create mode 100644 config-ui/src/plugins/components/scope-config/index.tsx
create mode 100644
config-ui/src/plugins/register/azure/connection-fields/organization.tsx
create mode 100644 config-ui/src/plugins/register/gerrit/assets/icon.svg
create mode 100644 config-ui/src/plugins/register/gerrit/config.tsx
copy config-ui/src/plugins/register/{opsgenie => gerrit}/index.ts (100%)
rename config-ui/src/plugins/register/{github/connection-fields/graphql.tsx =>
tapd/connection-fields/company-id.tsx} (53%)
rename config-ui/src/{features/tips =>
plugins/register/tapd/connection-fields}/index.ts (96%)
delete mode 100644 config-ui/src/plugins/register/tapd/data-scope.tsx
create mode 100644 config-ui/src/plugins/register/webhook/components/utils.ts
create mode 100644 config-ui/src/release/v1.0.ts
create mode 100644 config-ui/src/routes/blueprint/connection-detail/table.tsx
delete mode 100644 config-ui/src/routes/layout/styled.ts
delete mode 100644 config-ui/src/routes/onboard/card.tsx
create mode 100644 config-ui/src/routes/onboard/components/card.tsx
create mode 100644 config-ui/src/routes/onboard/components/tour.tsx