diff --git a/pkg/extension/action_url.go b/pkg/extension/action_url.go
index c0285f1c8bf88aa96e04283a0f1287eaa28d6128..5552b81a43ee237788a3ca217e9c6cbd49f7351c 100644
--- a/pkg/extension/action_url.go
+++ b/pkg/extension/action_url.go
@@ -9,11 +9,11 @@ import (
 
 // ActionURL структура для хранения данных о переданном действии
 type ActionURL struct {
-	actionURL   string
-	actionID    string
-	extensionID string
-	scheme      string
-	url         *url.URL
+	actionURL string
+	actionID  string
+	extension string
+	scheme    string
+	url       *url.URL
 }
 
 // NewActionURL возвращает пустую структуру ActionURL, если передано пустое действие
@@ -29,7 +29,7 @@ func (p *ActionURL) ID() string {
 
 // Extension возвращает сохраненный в ActionURL id расширения
 func (p *ActionURL) Extension() string {
-	return p.extensionID
+	return p.extension
 }
 
 // Scheme возвращает сохраненную в ActionURL схему
@@ -59,7 +59,7 @@ func parseActionURL(action string) (*ActionURL, error) {
 		if len(splitPath) < 2 {
 			return nil, errors.Errorf("incorrect action URL, no action id: '%s'", action)
 		}
-		parsed.extensionID = splitPath[0]
+		parsed.extension = splitPath[0]
 		parsed.actionID = splitPath[1]
 	}
 	return parsed, nil
diff --git a/pkg/extension/action_url_test.go b/pkg/extension/action_url_test.go
index 7c5ef5e43559efb9158e698e9adfccfbf21c5d5a..e71ef1b6acf54fd629904893551e08995f2fd2d2 100644
--- a/pkg/extension/action_url_test.go
+++ b/pkg/extension/action_url_test.go
@@ -9,53 +9,49 @@ import (
 )
 
 func TestNewActionURL(t *testing.T) {
-	u1, _ := url.Parse("build-site")
-	u2, _ := url.Parse("grpc:///perxisweb/build-site")
-	u3, _ := url.Parse("ui:///space/env/coll")
-	u4, _ := url.Parse("https://perx.ru")
 	tests := []struct {
 		name    string
 		action  string
 		want    *ActionURL
+		url     string
 		wantErr assert.ErrorAssertionFunc
 	}{
 		{
-			"Without action",
-			"",
-			&ActionURL{},
-			assert.NoError,
+			name:    "Without action",
+			want:    &ActionURL{},
+			wantErr: assert.NoError,
 		},
 		{
-			"Without deprecated action call",
-			"build-site",
-			&ActionURL{
+			name:   "Without deprecated action call",
+			action: "build-site",
+			want: &ActionURL{
 				actionURL: "build-site",
-				url:       u1,
 			},
-			assert.NoError,
+			url:     "build-site",
+			wantErr: assert.NoError,
 		},
 		{
 			name:   "With grpc action",
 			action: "grpc:///perxisweb/build-site",
 			want: &ActionURL{
-				actionURL:   "grpc:///perxisweb/build-site",
-				actionID:    "build-site",
-				extensionID: "perxisweb",
-				scheme:      "grpc",
-				url:         u2,
+				actionURL: "grpc:///perxisweb/build-site",
+				actionID:  "build-site",
+				extension: "perxisweb",
+				scheme:    "grpc",
 			},
+			url:     "grpc:///perxisweb/build-site",
 			wantErr: assert.NoError,
 		},
 		{
 			name:   "With ui action",
 			action: "ui:///space/env/coll",
 			want: &ActionURL{
-				actionURL:   "ui:///space/env/coll",
-				actionID:    "",
-				extensionID: "",
-				scheme:      "ui",
-				url:         u3,
+				actionURL: "ui:///space/env/coll",
+				actionID:  "",
+				extension: "",
+				scheme:    "ui",
 			},
+			url:     "ui:///space/env/coll",
 			wantErr: assert.NoError,
 		},
 		{
@@ -64,8 +60,8 @@ func TestNewActionURL(t *testing.T) {
 			want: &ActionURL{
 				actionURL: "https://perx.ru",
 				scheme:    "https",
-				url:       u4,
 			},
+			url:     "https://perx.ru",
 			wantErr: assert.NoError,
 		},
 		{
@@ -77,6 +73,9 @@ func TestNewActionURL(t *testing.T) {
 	}
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {
+			if tt.url != "" {
+				tt.want.url, _ = url.Parse(tt.url)
+			}
 			got, err := NewActionURL(tt.action)
 			if !tt.wantErr(t, err, fmt.Sprintf("NewActionURL(%v)", tt.action)) {
 				return
diff --git a/pkg/extension/server.go b/pkg/extension/server.go
index bdeac58c14bf37b20104e23ecff96c70cf900930..aec70ff7a71128ed312030cc3bd28541f7f969f4 100644
--- a/pkg/extension/server.go
+++ b/pkg/extension/server.go
@@ -80,16 +80,16 @@ func (srv *Server) Update(ctx context.Context, request *UpdateRequest) (*UpdateR
 }
 
 func (srv *Server) Action(ctx context.Context, in *pb.ActionRequest) (*pb.ActionResponse, error) {
-	extensionID := in.Extension
-	if extensionID == "" {
+	ext := in.Extension
+	if ext == "" {
 		actionURL, err := NewActionURL(in.Action)
 		if err != nil {
 			return nil, err
 		}
-		extensionID = actionURL.extensionID
+		ext = actionURL.extension
 	}
 
-	svc, ok := srv.services[extensionID]
+	svc, ok := srv.services[ext]
 	if !ok {
 		return nil, ErrUnknownExtension
 	}
diff --git a/pkg/extension/service/extension.go b/pkg/extension/service/extension.go
index 5b9263e083b50b9ea901ad674046819160b4876b..2fd57ee7c36d681e8d9768fa36a0961a953508c3 100644
--- a/pkg/extension/service/extension.go
+++ b/pkg/extension/service/extension.go
@@ -155,15 +155,15 @@ func (s *Extension) Uninstall(ctx context.Context, in *extension.UninstallReques
 }
 
 func (s *Extension) Action(ctx context.Context, in *extension.ActionRequest) (*extension.ActionResponse, error) {
-	extensionID := in.Extension
-	if extensionID == "" {
+	ext := in.Extension
+	if ext == "" {
 		actionURL, err := extension.NewActionURL(in.Action)
 		if err != nil {
 			return nil, err
 		}
-		extensionID = actionURL.Extension()
+		ext = actionURL.Extension()
 	}
-	ok, err := extension.CheckInstalled(ctx, s.Content, in.SpaceId, in.EnvId, extensionID)
+	ok, err := extension.CheckInstalled(ctx, s.Content, in.SpaceId, in.EnvId, ext)
 	if err != nil {
 		return nil, errors.Wrap(err, "check extension installed")
 	}