Skip to content

Commit f8d72b0

Browse files
authored
Merge pull request #7578 from normal-wls/feat_doc_url_hb
feat: 文档中心链接规范调整 #7577
2 parents 882102a + 8725c79 commit f8d72b0

File tree

8 files changed

+41
-19
lines changed

8 files changed

+41
-19
lines changed

api/utils/request.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,15 @@
1010
an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
1111
specific language governing permissions and limitations under the License.
1212
"""
13-
from django.utils.translation import ugettext_lazy as _
1413
import logging
1514

15+
from django.utils.translation import ugettext_lazy as _
16+
1617
from gcloud.conf import settings
1718
from gcloud.exceptions import ApiRequestError
1819
from gcloud.iam_auth.utils import check_and_raise_raw_auth_fail_exception
1920
from gcloud.utils.handlers import handle_api_error
21+
2022
from .thread import ThreadPool
2123

2224
logger = logging.getLogger("root")
@@ -126,6 +128,11 @@ def batch_request(
126128
check_and_raise_raw_auth_fail_exception(result, message)
127129
raise ApiRequestError(message)
128130

129-
data.extend(get_data(result))
131+
try:
132+
data.extend(get_data(result))
133+
except Exception as e:
134+
message = handle_api_error("[batch_request get_data]", func.path, params_and_future["params"], result)
135+
logger.exception(f"{e}: {message}")
136+
raise ApiRequestError(message)
130137

131138
return data

app.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ is_use_celery: True
66
author: 蓝鲸智云
77
introduction: 标准运维是通过一套成熟稳定的任务调度引擎,把在多系统间的工作整合到一个流程,助力运维实现跨系统调度自动化的SaaS应用。
88
introduction_en: SOPS is a SaaS application that utilizes a set of mature and stable task scheduling engines to help realize cross-system scheduling automation, and integrates the work among multiple systems into a single process.
9-
version: 3.33.7
9+
version: 3.33.8
1010
category: 运维工具
1111
language_support: 中文
1212
desktop:

app_desc.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
spec_version: 2
2-
app_version: "3.33.7"
2+
app_version: "3.33.8"
33
app:
44
region: default
55
bk_app_code: bk_sops

config/default.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@
214214
# mako模板中:<script src="/a.js?v=${ STATIC_VERSION }"></script>
215215
# 如果静态资源修改了以后,上线前改这个版本号即可
216216

217-
STATIC_VERSION = "3.33.7"
217+
STATIC_VERSION = "3.33.8"
218218
DEPLOY_DATETIME = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
219219

220220
STATICFILES_DIRS = [os.path.join(BASE_DIR, "static")]

env_v3.py

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,23 +45,34 @@
4545
os.getenv("BKPAAS_ENVIRONMENT", "prod")
4646
]
4747

48+
49+
def get_app_host(app_code):
50+
app_host_key = "%s_HOST" % app_code.upper()
51+
app_host = os.getenv(app_host_key)
52+
if app_host:
53+
return app_host
54+
if app_code in BK_SAAS_HOSTS:
55+
return BK_SAAS_HOSTS[app_code][BKSAAS_DEFAULT_MODULE_NAME]
56+
return None
57+
58+
4859
BK_CC_HOST = os.getenv("BK_CC_HOST")
4960

5061
BK_JOB_HOST = os.getenv("BK_JOB_HOST")
5162

52-
BK_NODEMAN_HOST = os.getenv("BK_NODEMAN_HOST", BK_SAAS_HOSTS["bk_nodeman"][BKSAAS_DEFAULT_MODULE_NAME])
63+
BK_NODEMAN_HOST = get_app_host("bk_nodeman")
5364

54-
BK_SOPS_HOST = os.getenv("BK_SOPS_HOST", BK_SAAS_HOSTS["bk_sops"][BKSAAS_DEFAULT_MODULE_NAME])
65+
BK_SOPS_HOST = get_app_host("bk_sops")
5566

5667
# 兼容没有部署 GSEKIT 的情况
5768
BK_GSE_KIT_PAGE_URL_TEMPLATE = os.getenv(
5869
"BK_GSEKIT_PAGE_URL_TEMPLATE",
59-
str(BK_SAAS_HOSTS["bk_gsekit"][BKSAAS_DEFAULT_MODULE_NAME]).rstrip("/")
70+
BK_SAAS_HOSTS.get("bk_gsekit", {}).get(BKSAAS_DEFAULT_MODULE_NAME, "").rstrip("/")
6071
+ "/task-history/detail/{job_id}?biz={bk_biz_id}",
6172
)
6273

6374
# 用户管理配置
64-
BK_USER_MANAGE_HOST = os.getenv("BK_USER_MANAGE_HOST", BK_SAAS_HOSTS["bk_user_manage"][BKSAAS_DEFAULT_MODULE_NAME])
75+
BK_USER_MANAGE_HOST = get_app_host("bk_user_manage")
6576

6677
# 文档中心
6778
BK_DOC_CENTER_HOST = os.getenv("BK_DOC_CENTER_HOST", os.getenv("BK_DOCS_URL_PREFIX"))
@@ -147,15 +158,18 @@
147158

148159
# CALLBACK 回调地址
149160
BKAPP_INNER_CALLBACK_HOST = os.getenv(
150-
"BKAPP_INNER_CALLBACK_HOST", BK_SAAS_HOSTS[APP_CODE][SOPS_CALLBACK_MODULE_NAME] or BK_PAAS_INNER_HOST + SITE_URL
161+
"BKAPP_INNER_CALLBACK_HOST",
162+
BK_SAAS_HOSTS[APP_CODE][SOPS_CALLBACK_MODULE_NAME] if BK_SAAS_HOSTS else BK_PAAS_INNER_HOST + SITE_URL,
151163
)
152164
# APIGW CALLBACK SERVER服务地址
153165
BKAPP_APIGW_CALLBACK_HOST = os.getenv(
154-
"BKAPP_APIGW_CALLBACK_HOST", BK_SAAS_HOSTS[APP_CODE][SOPS_CALLBACK_MODULE_NAME] or BK_PAAS_INNER_HOST + SITE_URL
166+
"BKAPP_APIGW_CALLBACK_HOST",
167+
BK_SAAS_HOSTS[APP_CODE][SOPS_CALLBACK_MODULE_NAME] if BK_SAAS_HOSTS else BK_PAAS_INNER_HOST + SITE_URL,
155168
)
156169
# API SERVER服务地址
157170
BKAPP_APIGW_API_HOST = os.getenv(
158-
"BKAPP_APIGW_API_HOST", BK_SAAS_HOSTS[APP_CODE][SOPS_API_SERVER_MODULE_NAME] or BK_PAAS_INNER_HOST + SITE_URL
171+
"BKAPP_APIGW_API_HOST",
172+
BK_SAAS_HOSTS[APP_CODE][SOPS_API_SERVER_MODULE_NAME] if BK_SAAS_HOSTS else BK_PAAS_INNER_HOST + SITE_URL,
159173
)
160174

161175
BKAPP_FILE_UPLOAD_ENTRY = os.getenv("BKAPP_FILE_UPLOAD_ENTRY", "")

gcloud/conf/default_settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828
APP_HOST = env.BK_SOPS_HOST
2929
ESB_GET_ALL_USER = "{}/api/c/compapi/v2/usermanage/fe_list_users/".format(settings.BK_PAAS_ESB_HOST)
30-
BK_DOC_URL = "{}/markdown/SOPS/UserGuide/Overview/README.md".format(env.BK_DOC_CENTER_HOST)
30+
BK_DOC_URL = f"{env.BK_DOC_CENTER_HOST}/markdown/{{}}/SOPS/3.33/UserGuide/Overview/README.md"
3131
FEEDBACK_URL = "https://bk.tencent.com/s-mart/community"
3232
APP_MAKER_UPLOAD_LOGO_USER_UIN = "bk_token"
3333
APP_MAKER_UPLOAD_LOGO_USER_KEY = "bk_token_null"

gcloud/core/context_processors.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ def get_cur_pos_from_url(request):
4949
def mysetting(request):
5050
# 嵌入CICD,隐藏头部
5151
language = request.COOKIES.get("blueking_language", "zh-cn")
52+
doc_lang_mappings = {"zh-cn": "ZH", "en": "EN"}
5253
run_ver_key = "BKAPP_RUN_VER_NAME" if language == "zh-cn" else "BKAPP_RUN_VER_NAME_{}".format(language.upper())
5354
file_manager_type = "BKAPP_FILE_MANAGER_TYPE"
5455
hide_header = int(request.GET.get("hide_header", "0") == "1")
@@ -117,7 +118,7 @@ def mysetting(request):
117118
"FILE_UPLOAD_ENTRY": env.BKAPP_FILE_UPLOAD_ENTRY,
118119
"MEMBER_SELECTOR_DATA_HOST": settings.BK_MEMBER_SELECTOR_DATA_HOST,
119120
"BK_STATIC_URL": frontend_entry_url,
120-
"BK_DOC_URL": settings.BK_DOC_URL,
121+
"BK_DOC_URL": settings.BK_DOC_URL.format(doc_lang_mappings.get(language, "ZH")),
121122
"FEEDBACK_URL": settings.FEEDBACK_URL,
122123
"FILE_MANAGER_TYPE": EnvironmentVariables.objects.get_var(file_manager_type, env.BKAPP_FILE_MANAGER_TYPE),
123124
"MAX_NODE_EXECUTE_TIMEOUT": settings.MAX_NODE_EXECUTE_TIMEOUT,

gcloud/template_base/apis/drf/viewsets/template.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,16 @@
1313
import logging
1414

1515
from drf_yasg.utils import swagger_auto_schema
16-
from rest_framework import viewsets, permissions
16+
from rest_framework import viewsets
1717
from rest_framework.decorators import action
1818
from rest_framework.exceptions import APIException
1919
from rest_framework.response import Response
2020

2121
from gcloud.common_template.models import CommonTemplate
2222
from gcloud.core.apis.drf.viewsets import ApiMixin
2323
from gcloud.tasktmpl3.models import TaskTemplate
24-
from gcloud.template_base.apis.drf.permission import ProjectTemplatePermission, CommonTemplatePermission
25-
from gcloud.template_base.apis.drf.serilaziers.template import TemplateIdsSerializer, BatchDeleteSerialzer
24+
from gcloud.template_base.apis.drf.permission import CommonTemplatePermission, ProjectTemplatePermission
25+
from gcloud.template_base.apis.drf.serilaziers.template import BatchDeleteSerialzer, TemplateIdsSerializer
2626
from gcloud.template_base.domains.template_manager import TemplateManager
2727

2828
logger = logging.getLogger("root")
@@ -49,13 +49,13 @@ def batch_delete(self, request, *args, **kwargs):
4949

5050
class ProjectTemplateViewSet(TemplateViewSet):
5151
queryset = TaskTemplate.objects.all()
52-
permission_classes = [permissions.IsAuthenticated | ProjectTemplatePermission]
52+
permission_classes = [ProjectTemplatePermission]
5353
template_type = "project"
5454
tmpl_model = TaskTemplate
5555

5656

5757
class CommonTemplateViewSet(TemplateViewSet):
5858
queryset = CommonTemplate.objects.all()
59-
permission_classes = [permissions.IsAuthenticated | CommonTemplatePermission]
59+
permission_classes = [CommonTemplatePermission]
6060
template_type = "common"
6161
tmpl_model = CommonTemplate

0 commit comments

Comments
 (0)