227 submitOperation statusUrl patching filecontent fixed
This commit is contained in:
+1
-1
@@ -57,7 +57,7 @@
|
|||||||
|
|
||||||
//variables.framework.docs={};
|
//variables.framework.docs={};
|
||||||
variables.framework.docs.APIName="svc-api";
|
variables.framework.docs.APIName="svc-api";
|
||||||
variables.framework.docs.APIVersion="0.226"; /*$ git config --global --unset user.password*/
|
variables.framework.docs.APIVersion="0.227"; /*$ git config --global --unset user.password*/
|
||||||
|
|
||||||
variables.framework.globalHeaders = structNew();
|
variables.framework.globalHeaders = structNew();
|
||||||
variables.framework.globalHeaders["Access-Control-Expose-Headers"] = "Location";
|
variables.framework.globalHeaders["Access-Control-Expose-Headers"] = "Location";
|
||||||
|
|||||||
@@ -298,7 +298,7 @@
|
|||||||
where instance_operation_uid=<cfqueryparam cfsqltype="cf_sql_other" value=#arguments.instanceOperationUid#/>
|
where instance_operation_uid=<cfqueryparam cfsqltype="cf_sql_other" value=#arguments.instanceOperationUid#/>
|
||||||
</cfquery>
|
</cfquery>
|
||||||
|
|
||||||
<cfset sleep(0)/><!--- если придется подождать, можно добавить, но мы специально указываем delay=0sec --->
|
<cfset sleep(0)/><!--- если придется подождать, можно добавить, но мы выше специально указываем delay=0sec --->
|
||||||
<cfif listFind("200,201",#orchestrator.responseHeader.status_code#)>
|
<cfif listFind("200,201",#orchestrator.responseHeader.status_code#)>
|
||||||
<cftry>
|
<cftry>
|
||||||
<cfset var buildURL="#orchestrator.responseHeader.Location#/api/json"/>
|
<cfset var buildURL="#orchestrator.responseHeader.Location#/api/json"/>
|
||||||
@@ -312,18 +312,23 @@
|
|||||||
<cfhttpparam type="HEADER" name="Accept" value="application/json">
|
<cfhttpparam type="HEADER" name="Accept" value="application/json">
|
||||||
</cfhttp>
|
</cfhttp>
|
||||||
|
|
||||||
|
<cfset var operation_url = ""/>
|
||||||
|
<cfif structKeyExists(job,"filecontent")>
|
||||||
|
<!--- обнаружилось, что при автоматизированном вызове операций filecontent может не приходить. Вероятно, Дженкинс не успевает. Костыльный способ - подобрать задержку. Есть шансы, что поведение будет сильно зависеть от нагрузки. Также можно повторять проверку (скажем, с увеличивающимся интервалом). Мы пока просто не будем сохранять statusUrl --->
|
||||||
<cfset var jobData=#deserializeJson(job.filecontent)#/>
|
<cfset var jobData=#deserializeJson(job.filecontent)#/>
|
||||||
<!--- jobData: <cfdump var=#jobData#/> --->
|
<!--- jobData: <cfdump var=#jobData#/> --->
|
||||||
<cfset operation_url=jobData.executable.url />
|
<cfset operation_url=jobData.executable.url />
|
||||||
|
|
||||||
<cfquery name="qSetStatusUrl">
|
<cfquery name="qSetStatusUrl">
|
||||||
update instance_operation
|
update instance_operation
|
||||||
set status_url=<cfqueryparam cfsqltype="cf_sql_varchar" value="#operation_url#api/json"/><!--- *** костыль --->
|
set status_url=<cfqueryparam cfsqltype="cf_sql_varchar" value="#operation_url#api/json" null=#(operation_url EQ "")#/><!--- *** костыль --->
|
||||||
where instance_operation_uid=<cfqueryparam cfsqltype="cf_sql_other" value=#arguments.instanceOperationUid#/>
|
where instance_operation_uid=<cfqueryparam cfsqltype="cf_sql_other" value=#arguments.instanceOperationUid#/>
|
||||||
</cfquery>
|
</cfquery>
|
||||||
|
<cfelse>
|
||||||
|
<!--- job: <cfdump var=#job#/> --->
|
||||||
|
</cfif>
|
||||||
|
|
||||||
<cfcatch type="any">
|
<cfcatch type="any">
|
||||||
<cfrethrow/><!--- пока не придумал --->
|
<cfrethrow/><!--- пока не придумал, есть смысл логировать ошибку и продолжать --->
|
||||||
</cfcatch>
|
</cfcatch>
|
||||||
</cftry>
|
</cftry>
|
||||||
</cfif>
|
</cfif>
|
||||||
|
|||||||
Reference in New Issue
Block a user