This is an automated email from the ASF dual-hosted git repository.
klesh pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/devlake.git
The following commit(s) were added to refs/heads/main by this push:
new 69de826e1 fix(plugins): register compiled-in plugins as pointers
(#9326)
69de826e1 is described below
commit 69de826e1825bb0aa59b19b33ca60954df132f19
Author: Amir Nazary <[email protected]>
AuthorDate: Sun Nov 8 15:12:12 2026 +0100
fix(plugins): register compiled-in plugins as pointers (#9326)
The generated registry registered plugins by value, so methods declared on
pointer receivers were dropped from the method set. org declares Init and
ApiResources on *Org, so in v1.0.3-beta19 it is never initialised and every
/plugins/org/* route returns 404. Shared-object loading always registered a
pointer (plugin.Lookup returns *T), so this restores that behaviour.
Closes #9327
Co-authored-by: Claude Opus 5.5 <[email protected]>
---
backend/plugins/all/all.go | 94 ++++++++++++++++++++--------------------
backend/tools/pluginsgen/main.go | 2 +-
2 files changed, 48 insertions(+), 48 deletions(-)
diff --git a/backend/plugins/all/all.go b/backend/plugins/all/all.go
index 7fd68c5a1..a157a8350 100644
--- a/backend/plugins/all/all.go
+++ b/backend/plugins/all/all.go
@@ -81,51 +81,51 @@ import (
)
func init() {
- plugin.MustRegister(ae.AE{})
- plugin.MustRegister(argocd.ArgoCD{})
- plugin.MustRegister(asana.Asana{})
- plugin.MustRegister(azuredevops_go.Azuredevops{})
- plugin.MustRegister(bamboo.Bamboo{})
- plugin.MustRegister(bitbucket.Bitbucket{})
- plugin.MustRegister(bitbucket_server.BitbucketServer{})
- plugin.MustRegister(circleci.Circleci{})
- plugin.MustRegister(claude_code.ClaudeCode{})
- plugin.MustRegister(clickup.ClickUp{})
- plugin.MustRegister(cursor.Cursor{})
- plugin.MustRegister(customize.Customize{})
- plugin.MustRegister(dora.Dora{})
- plugin.MustRegister(feishu.Feishu{})
- plugin.MustRegister(gh_copilot.GhCopilot{})
- plugin.MustRegister(gitee.Gitee{})
- plugin.MustRegister(gitextractor.GitExtractor{})
- plugin.MustRegister(github.Github{})
- plugin.MustRegister(github_graphql.GithubGraphql{})
- plugin.MustRegister(gitlab.Gitlab{})
- plugin.MustRegister(grafana_irm.GrafanaIrm{})
- plugin.MustRegister(icla.Icla{})
- plugin.MustRegister(incidentio.Incidentio{})
- plugin.MustRegister(issue_trace.IssueTrace{})
- plugin.MustRegister(jenkins.Jenkins{})
- plugin.MustRegister(jira.Jira{})
- plugin.MustRegister(kiro.Kiro{})
- plugin.MustRegister(linear.Linear{})
- plugin.MustRegister(linker.Linker{})
- plugin.MustRegister(monorepo.Monorepo{})
- plugin.MustRegister(opsgenie.Opsgenie{})
- plugin.MustRegister(org.Org{})
- plugin.MustRegister(pagerduty.PagerDuty{})
- plugin.MustRegister(refdiff.RefDiff{})
- plugin.MustRegister(rootly.Rootly{})
- plugin.MustRegister(slack.Slack{})
- plugin.MustRegister(sonarqube.Sonarqube{})
- plugin.MustRegister(starrocks.StarRocks{})
- plugin.MustRegister(taiga.Taiga{})
- plugin.MustRegister(tapd.Tapd{})
- plugin.MustRegister(teambition.Teambition{})
- plugin.MustRegister(tempo.Tempo{})
- plugin.MustRegister(testmo.Testmo{})
- plugin.MustRegister(trello.Trello{})
- plugin.MustRegister(webhook.Webhook{})
- plugin.MustRegister(youtrack.Youtrack{})
- plugin.MustRegister(zentao.Zentao{})
+ plugin.MustRegister(&ae.AE{})
+ plugin.MustRegister(&argocd.ArgoCD{})
+ plugin.MustRegister(&asana.Asana{})
+ plugin.MustRegister(&azuredevops_go.Azuredevops{})
+ plugin.MustRegister(&bamboo.Bamboo{})
+ plugin.MustRegister(&bitbucket.Bitbucket{})
+ plugin.MustRegister(&bitbucket_server.BitbucketServer{})
+ plugin.MustRegister(&circleci.Circleci{})
+ plugin.MustRegister(&claude_code.ClaudeCode{})
+ plugin.MustRegister(&clickup.ClickUp{})
+ plugin.MustRegister(&cursor.Cursor{})
+ plugin.MustRegister(&customize.Customize{})
+ plugin.MustRegister(&dora.Dora{})
+ plugin.MustRegister(&feishu.Feishu{})
+ plugin.MustRegister(&gh_copilot.GhCopilot{})
+ plugin.MustRegister(&gitee.Gitee{})
+ plugin.MustRegister(&gitextractor.GitExtractor{})
+ plugin.MustRegister(&github.Github{})
+ plugin.MustRegister(&github_graphql.GithubGraphql{})
+ plugin.MustRegister(&gitlab.Gitlab{})
+ plugin.MustRegister(&grafana_irm.GrafanaIrm{})
+ plugin.MustRegister(&icla.Icla{})
+ plugin.MustRegister(&incidentio.Incidentio{})
+ plugin.MustRegister(&issue_trace.IssueTrace{})
+ plugin.MustRegister(&jenkins.Jenkins{})
+ plugin.MustRegister(&jira.Jira{})
+ plugin.MustRegister(&kiro.Kiro{})
+ plugin.MustRegister(&linear.Linear{})
+ plugin.MustRegister(&linker.Linker{})
+ plugin.MustRegister(&monorepo.Monorepo{})
+ plugin.MustRegister(&opsgenie.Opsgenie{})
+ plugin.MustRegister(&org.Org{})
+ plugin.MustRegister(&pagerduty.PagerDuty{})
+ plugin.MustRegister(&refdiff.RefDiff{})
+ plugin.MustRegister(&rootly.Rootly{})
+ plugin.MustRegister(&slack.Slack{})
+ plugin.MustRegister(&sonarqube.Sonarqube{})
+ plugin.MustRegister(&starrocks.StarRocks{})
+ plugin.MustRegister(&taiga.Taiga{})
+ plugin.MustRegister(&tapd.Tapd{})
+ plugin.MustRegister(&teambition.Teambition{})
+ plugin.MustRegister(&tempo.Tempo{})
+ plugin.MustRegister(&testmo.Testmo{})
+ plugin.MustRegister(&trello.Trello{})
+ plugin.MustRegister(&webhook.Webhook{})
+ plugin.MustRegister(&youtrack.Youtrack{})
+ plugin.MustRegister(&zentao.Zentao{})
}
diff --git a/backend/tools/pluginsgen/main.go b/backend/tools/pluginsgen/main.go
index 719b2fcb4..2416631bb 100644
--- a/backend/tools/pluginsgen/main.go
+++ b/backend/tools/pluginsgen/main.go
@@ -270,7 +270,7 @@ func render(plugins []plugin) ([]byte, error) {
buf.WriteString(")\n\n")
buf.WriteString("func init() {\n")
for _, p := range plugins {
- fmt.Fprintf(&buf, "\tplugin.MustRegister(%s.%s{})\n", p.alias,
p.typ)
+ fmt.Fprintf(&buf, "\tplugin.MustRegister(&%s.%s{})\n", p.alias,
p.typ)
}
buf.WriteString("}\n")