Skip to content

Commit ef2ce8b

Browse files
authored
refactor(alert): remove external dependency and add local type definitions (#171)
- Removed constants.go file that depended on external erda apistructs - Added local types.go file with all necessary type definitions - Updated erda.go to use local types instead of external erda_api types - Updated handle.go to reference local IssuePriority and IssueType types - Removed github.com/erda-project/erda dependency from go.mod - Simplified error handling logic in erda.go connection initialization - Updated import statements to use local apistructs package
2 parents aa24c98 + 430d7be commit ef2ce8b

File tree

5 files changed

+203
-59
lines changed

5 files changed

+203
-59
lines changed

go.mod

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ require (
66
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5
77
github.com/cenkalti/backoff v2.2.1+incompatible
88
github.com/creack/pty v1.1.17 // indirect
9-
github.com/erda-project/erda v1.5.0
109
github.com/fsnotify/fsnotify v1.4.9
1110
github.com/go-logr/logr v0.4.0
1211
github.com/go-resty/resty/v2 v2.7.0

pkg/probe-master/alert/ticket/constants.go

Lines changed: 0 additions & 14 deletions
This file was deleted.

pkg/probe-master/alert/ticket/erda.go

Lines changed: 32 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
//
99
// Unless required by applicable law or agreed to in writing, software
1010
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1112
// See the License for the specific language governing permissions and
1213
// limitations under the License.
1314

@@ -27,7 +28,6 @@ import (
2728
"github.com/sirupsen/logrus"
2829
"k8s.io/klog"
2930

30-
erda_api "github.com/erda-project/erda/apistructs"
3131
"github.com/erda-project/kubeprober/apistructs"
3232
)
3333

@@ -68,23 +68,23 @@ func Init(loginUser, loginPassword, openapiURL, orgName string, projectId uint64
6868
err := erdaIdentity.GetUserOrgInfo()
6969
if err != nil {
7070
return err
71-
} else {
72-
sender = erdaIdentity
71+
}
7372

74-
err = sender.GetTicketStates()
75-
if err != nil {
76-
klog.Errorf("failed to fetch states from erda: %+v\n", err)
77-
return err
78-
}
79-
err = sender.GetAssignee()
80-
if err != nil {
81-
klog.Errorf("failed to fetch assignee for sre: %+v\n", err)
82-
}
73+
sender = erdaIdentity
8374

84-
err = sender.GetLabels()
85-
if err != nil {
86-
klog.Errorf("failed to fetch labels: %+v\n", err)
87-
}
75+
err = sender.GetTicketStates()
76+
if err != nil {
77+
klog.Errorf("failed to fetch states from erda: %+v\n", err)
78+
return err
79+
}
80+
err = sender.GetAssignee()
81+
if err != nil {
82+
klog.Errorf("failed to fetch assignee for sre: %+v\n", err)
83+
}
84+
85+
err = sender.GetLabels()
86+
if err != nil {
87+
klog.Errorf("failed to fetch labels: %+v\n", err)
8888
}
8989

9090
return nil
@@ -153,7 +153,7 @@ func (u *ErdaIdentity) GetOrgID() error {
153153
return err
154154
}
155155

156-
r := erda_api.OrgFetchResponse{}
156+
r := OrgFetchResponse{}
157157
err = unmarshalResponse(resp, &r)
158158
if err != nil {
159159
logrus.Errorf("unmarshal response failed, error: %v", err)
@@ -178,8 +178,7 @@ func (u *ErdaIdentity) GetOrgID() error {
178178

179179
func unmarshalResponse(r *resty.Response, o interface{}) error {
180180
if r == nil {
181-
err := fmt.Errorf("empty response")
182-
return err
181+
return fmt.Errorf("empty response")
183182
}
184183

185184
if r.StatusCode() != 200 || r.Error() != nil {
@@ -196,9 +195,9 @@ func unmarshalResponse(r *resty.Response, o interface{}) error {
196195
}
197196

198197
func (u *ErdaIdentity) GetTicketStates() error {
199-
req := &erda_api.IssueStateRelationGetRequest{}
198+
req := &IssueStateRelationGetRequest{}
200199
req.ProjectID = u.ProjectId
201-
req.IssueType = erda_api.IssueTypeTicket
200+
req.IssueType = IssueTypeTicket
202201
req.UserID = u.UserID
203202
rs, err := u.GetStateRelations(req)
204203
if err != nil {
@@ -257,7 +256,7 @@ func (u *ErdaIdentity) GetAssignee() error {
257256
return nil
258257
}
259258

260-
func (u *ErdaIdentity) SearchUser(username string) (*erda_api.UserInfo, error) {
259+
func (u *ErdaIdentity) SearchUser(username string) (*UserInfo, error) {
261260
resp, err := u.client.R().
262261
SetCookie(&http.Cookie{Name: "OPENAPISESSION", Value: u.SessionID}).
263262
SetHeader("USER-ID", u.UserID).
@@ -268,7 +267,7 @@ func (u *ErdaIdentity) SearchUser(username string) (*erda_api.UserInfo, error) {
268267
return nil, err
269268
}
270269

271-
r := erda_api.UserListResponse{}
270+
r := UserListResponse{}
272271
err = unmarshalResponse(resp, &r)
273272
if err != nil {
274273
logrus.Errorf("unmarshal response failed, error: %v", err)
@@ -289,7 +288,7 @@ func (u *ErdaIdentity) SearchUser(username string) (*erda_api.UserInfo, error) {
289288
return &r.Data.Users[0], nil
290289
}
291290

292-
func (u *ErdaIdentity) CreateIssue(req *erda_api.IssueCreateRequest) error {
291+
func (u *ErdaIdentity) CreateIssue(req *IssueCreateRequest) error {
293292
klog.Errorf("start send ticket to cloud address: %s\n", u.OpenapiUrl)
294293
resp, err := u.client.R().SetBody(req).
295294
SetCookie(&http.Cookie{Name: "OPENAPISESSION", Value: u.SessionID}).
@@ -300,7 +299,7 @@ func (u *ErdaIdentity) CreateIssue(req *erda_api.IssueCreateRequest) error {
300299
return err
301300
}
302301

303-
r := erda_api.IssueCreateResponse{}
302+
r := IssueCreateResponse{}
304303
err = unmarshalResponse(resp, &r)
305304
if err != nil {
306305
logrus.Errorf("unmarshal response failed, error: %v", err)
@@ -314,7 +313,7 @@ func (u *ErdaIdentity) CreateIssue(req *erda_api.IssueCreateRequest) error {
314313
return nil
315314
}
316315

317-
func (u *ErdaIdentity) UpdateIssue(req *erda_api.IssueUpdateRequest) error {
316+
func (u *ErdaIdentity) UpdateIssue(req *IssueUpdateRequest) error {
318317
resp, err := u.client.R().SetBody(req).
319318
SetCookie(&http.Cookie{Name: "OPENAPISESSION", Value: u.SessionID}).
320319
SetHeader("USER-ID", u.UserID).
@@ -324,7 +323,7 @@ func (u *ErdaIdentity) UpdateIssue(req *erda_api.IssueUpdateRequest) error {
324323
return err
325324
}
326325

327-
r := erda_api.IssueUpdateResponse{}
326+
r := IssueUpdateResponse{}
328327
err = unmarshalResponse(resp, &r)
329328
if err != nil {
330329
logrus.Errorf("unmarshal response failed for issue %d, error: %v", req.ID, err)
@@ -338,7 +337,7 @@ func (u *ErdaIdentity) UpdateIssue(req *erda_api.IssueUpdateRequest) error {
338337
return nil
339338
}
340339

341-
func (u *ErdaIdentity) PagingIssue(req *erda_api.IssuePagingRequest) ([]erda_api.Issue, error) {
340+
func (u *ErdaIdentity) PagingIssue(req *IssuePagingRequest) ([]Issue, error) {
342341
reqStates := url.Values{"state": []string{}}
343342
for _, s := range req.State {
344343
reqStates["state"] = append(reqStates["state"], strconv.FormatInt(s, 10))
@@ -360,7 +359,7 @@ func (u *ErdaIdentity) PagingIssue(req *erda_api.IssuePagingRequest) ([]erda_api
360359
return nil, err
361360
}
362361

363-
r := erda_api.IssuePagingResponse{}
362+
r := IssuePagingResponse{}
364363
err = unmarshalResponse(resp, &r)
365364
if err != nil {
366365
logrus.Errorf("unmarshal response failed, error: %v", err)
@@ -374,7 +373,7 @@ func (u *ErdaIdentity) PagingIssue(req *erda_api.IssuePagingRequest) ([]erda_api
374373
return r.Data.List, nil
375374
}
376375

377-
func (u *ErdaIdentity) GetStateRelations(req *erda_api.IssueStateRelationGetRequest) ([]erda_api.IssueStateRelation, error) {
376+
func (u *ErdaIdentity) GetStateRelations(req *IssueStateRelationGetRequest) ([]IssueStateRelation, error) {
378377
resp, err := u.client.R().SetBody(req).
379378
SetCookie(&http.Cookie{Name: "OPENAPISESSION", Value: u.SessionID}).
380379
SetHeader("USER-ID", u.UserID).
@@ -385,7 +384,7 @@ func (u *ErdaIdentity) GetStateRelations(req *erda_api.IssueStateRelationGetRequ
385384
return nil, err
386385
}
387386

388-
r := &erda_api.IssueStateRelationGetResponse{}
387+
r := &IssueStateRelationGetResponse{}
389388
err = unmarshalResponse(resp, &r)
390389
if err != nil {
391390
logrus.Errorf("unmarshal response failed, error: %v", err)
@@ -411,7 +410,7 @@ func (u *ErdaIdentity) GetLabels() error {
411410
return err
412411
}
413412

414-
r := &erda_api.ProjectLabelListResponse{}
413+
r := &ProjectLabelListResponse{}
415414
err = unmarshalResponse(resp, &r)
416415
if err != nil {
417416
logrus.Errorf("unmarshal response failed, error: %v", err)
@@ -438,7 +437,7 @@ func (u *ErdaIdentity) CreateIssueComment(req *apistructs.CommentIssueStreamBatc
438437
return err
439438
}
440439

441-
r := erda_api.Header{}
440+
r := Header{}
442441
err = unmarshalResponse(resp, &r)
443442
if err != nil {
444443
logrus.Errorf("unmarshal response failed, error: %v", err)

pkg/probe-master/alert/ticket/handle.go

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
//
99
// Unless required by applicable law or agreed to in writing, software
1010
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1112
// See the License for the specific language governing permissions and
1213
// limitations under the License.
1314

@@ -20,7 +21,6 @@ import (
2021
"github.com/sirupsen/logrus"
2122
"k8s.io/klog"
2223

23-
erda_api "github.com/erda-project/erda/apistructs"
2424
"github.com/erda-project/kubeprober/apistructs"
2525
)
2626

@@ -84,8 +84,8 @@ type Ticket struct {
8484

8585
Title string
8686
Content string
87-
Priority erda_api.IssuePriority
88-
Type erda_api.IssueType
87+
Priority IssuePriority
88+
Type IssueType
8989
}
9090

9191
func GetWeek() string {
@@ -107,8 +107,7 @@ func sendIssue(t *Ticket) error {
107107
}
108108

109109
if issue != nil {
110-
111-
reqU := &erda_api.IssueUpdateRequest{}
110+
reqU := &IssueUpdateRequest{}
112111
reqU.ID = uint64(issue.ID)
113112
reqU.Title = &issue.Title
114113
reqU.Priority = &issue.Priority
@@ -162,7 +161,7 @@ func sendIssue(t *Ticket) error {
162161
func createIssueComment(issueID int64, content string) error {
163162
comment := &apistructs.CommentIssueStreamCreateRequest{
164163
IssueID: issueID,
165-
Type: string(erda_api.ISTComment),
164+
Type: string(ISTComment),
166165
UserID: sender.UserID,
167166
Content: content,
168167
}
@@ -189,14 +188,14 @@ func getLabels(oldL, newL []string) []string {
189188
return newLabels
190189
}
191190

192-
func updateIssue(req *erda_api.IssueUpdateRequest) error {
191+
func updateIssue(req *IssueUpdateRequest) error {
193192
return sender.UpdateIssue(req)
194193
}
195194

196195
func createIssue(t *Ticket) error {
197196
now := time.Now()
198197

199-
req := &erda_api.IssueCreateRequest{}
198+
req := &IssueCreateRequest{}
200199
req.Title = t.Title
201200
req.Content = t.Content
202201
req.Priority = t.Priority
@@ -227,8 +226,8 @@ func (t *Ticket) newLabels() []string {
227226
return labels
228227
}
229228

230-
func existIssue(t *Ticket) (*erda_api.Issue, error) {
231-
req := &erda_api.IssuePagingRequest{}
229+
func existIssue(t *Ticket) (*Issue, error) {
230+
req := &IssuePagingRequest{}
232231
req.ProjectID = sender.ProjectId
233232
req.OrderBy = "plan_started_at"
234233
req.Asc = false
@@ -241,7 +240,7 @@ func existIssue(t *Ticket) (*erda_api.Issue, error) {
241240
return nil, err
242241
}
243242

244-
var issue erda_api.Issue
243+
var issue Issue
245244
l := len(issues)
246245
if l == 0 {
247246
return nil, nil

0 commit comments

Comments
 (0)