Closed piyush94 closed 3 years ago
@piyush94 we changed the home icon button to switch to the domains view and then display the to do list, timeline and global reports. Select the global reports tab for the list of current reports. Let us know if we need to add any additional reports. Please pull the latest image for this update.
CC: @svisagan83
@sbtaylor15 - clicking on home is navigating to Domains section but the tabs you mentioned are not visible. Those tabs flash for a second and it goes to Domains screen.
CC: @svisagan83
@sbtaylor15 - any update regarding this? Thanks.
CC: @svisagan83
@sbtaylor15 - what we are trying to achieve is to extract the information of an application version, such as component details, etc. Initially we are looking at helm chart components. So we need to fetch the chartrepo, chartname and version from the component items. Then if possible extract the container images and tags from the helm chart. Let us know, if you have any suggestions regarding this.
Also if you could let me the know if there is any API docs/explorer for DeployHub, that would be great.
Thanks.
CC: @svisagan83
@piyush94 we figured out the flashing screen for the reports. Please grab the latest image.
We have added the following APIs. They are still being refined a bit. Take a look at the data and let us know if this will give you what you want. The APIs will be added to swagger doc once they are finalized. The current API doc is here.
/dmadminweb/API/groups
/dmadminweb/API/users
/dmadminweb/API/categories
/dmadminweb/API/comptypes
/dmadminweb/API/credentials
/dmadminweb/API/endpoints
/dmadminweb/API/environments
/dmadminweb/API/repositories
/dmadminweb/API/datasources
/dmadminweb/API/buildengines
/dmadminweb/API/buildjobs
/dmadminweb/API/notifiers
/dmadminweb/API/components
/dmadminweb/API/applications
/dmadminweb/API/releases
add ?user=<userid>&pass=<password>
to the end of each API url. The data returned will be what the userid being used has access to. You will need to pull the latest image for this.
CC: @svisagan83
@piyush94 we changed the end point and simplified the data being returned. The data will include the attributes and properties for each object if they have any.
/dmadminweb/API/list/categories /dmadminweb/API/list/comptypes /dmadminweb/API/list/credentials /dmadminweb/API/list/environments /dmadminweb/API/list/groups /dmadminweb/API/list/repositories /dmadminweb/API/list/endpoints /dmadminweb/API/list/users /dmadminweb/API/list/components /dmadminweb/API/list/applications
Please pull that latest image for this update.
CC: @svisagan83
@sbtaylor15 - I am not able to find API doc for the above mentioned APIs. Could you let me know, how to use these?
CC: @svisagan83
@sbtaylor15 - Is it possible to have an API that returns the calculated YAML file for an application for the associated components and a selected environment. This is same as what is calculated during the Deploy action for an application. We need this to know the deployment configuration of a component. One more thing could be if the file can be stored after running Deploy action and dowloaded at a later time.
Let me know if we need to have a call for this.
CC: @svisagan83
@piyush94 we are in the process of updating the swagger API doc for these new end points. Also, we need to have a call on the YAML file.
CC: @svisagan83
@sbtaylor15 - Thanks. Are there API endpoints for deleting objects such as application version, component version, environment and endpoint?
CC: @svisagan83
@piyush94 there are APIs for deleting endpoints, environments, and credentials.
Rest API Doc
Let me check on application versions and component versions.
CC: @svisagan83
@piyush94 The APIs are there for components and applications just not documented. They follow the same format as the other ones.
GET /dmadminweb/API/del/component/{comp_id} GET /dmadminweb/API/del/application/{app_id}
FYI, we are checking the swagger doc since it appears to be cut off.
CC: @svisagan83
@sbtaylor15 thanks, delete is working.
CC: @svisagan83
@sbtaylor15 Hi, inlist/components
we are getting below error. Also, does this list/*
paths accept query params like domain, etc.?
component id 766 doesn't have any componentvars entry.
getDefectsForComponent(766)
In getAttributesForObject - sql = SELECT v.name, v.value, v.arrayid, v.nocase FROM dm.dm_componentvars v WHERE v.compid = ? ORDER BY 1
Finished retrieving rows
Exception caught, e=null
java.lang.NullPointerException
at dmadmin.model.DMObject.getDomain(DMObject.java:105)
at dmadmin.model.DMObject.getFullName(DMObject.java:84)
at dmadmin.model.ComponentItem.toJSON(ComponentItem.java:386)
at dmadmin.API.exportJSONForComponent(API.java:389)
at dmadmin.API.doGet(API.java:3704)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1457)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
java.lang.NullPointerException
at dmadmin.model.DMObject.getDomain(DMObject.java:105)
at dmadmin.model.DMObject.getFullName(DMObject.java:84)
at dmadmin.model.ComponentItem.toJSON(ComponentItem.java:386)
at dmadmin.API.exportJSONForComponent(API.java:389)
at dmadmin.API.doGet(API.java:3704)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1457)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
{"success":false,"error":"java.lang.NullPointerException"}
@piyush94 we changed the code to just get the name of the component item instead of trying to get the domain it belongs to. Component Items are really associated to a Component and not to Domain.
As for the list/* question, there is no filtering other than what the userid making the API call has access to. Something like jq could filter the json output.
Please pull the latest image.
@sbtaylor15 Thanks, it's working now. Can you please add the domain field in the JSON schema for list/*
where it's missing? It will be easier to parse then.
@piyush94 - Do you want the domain as a separate field or part of the object name?
@sbtaylor15 - As a field in each object.
@piyush94 - I added the domain field, but haven't had a chance to test it. Should be good to go, simple change. Pull the latest image. Thanks, Steve
@sbtaylor15 - Thanks for adding the Domain field. Not sure if this is related, but in list/endpoints
, I am getting below error.
I hadn't accessed this API earlier, so don't know if the error was there or not. It's trying to access a domain to which the user doesn't have access.
Finished retrieving rows
In getAttributesForObject - sql = SELECT v.name, v.value, v.arrayid, v.nocase FROM dm.dm_servervars v WHERE v.serverid = ? ORDER BY 1
Finished retrieving rows
In getAttributesForObject - sql = SELECT v.name, v.value, v.arrayid, v.nocase FROM dm.dm_servervars v WHERE v.serverid = ? ORDER BY 1
Finished retrieving rows
101 is not a valid domain for user 306
Exception caught, e=null
java.lang.NullPointerException
at dmadmin.API.exportJSONForServer(API.java:4764)
at dmadmin.API.doGet(API.java:3708)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1457)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
java.lang.NullPointerException
at dmadmin.API.exportJSONForServer(API.java:4764)
at dmadmin.API.doGet(API.java:3708)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1457)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
{"success":false,"error":"java.lang.NullPointerException"}
@piyush94 - The problem was similar to component item issue where it was trying to derive a domain name for a component/server type. Removed the domain name from the type. Please pull the latest.
@sbtaylor15 - Thanks, it's working now.
Hi, Is there a way to get some report of the Application deployments with details such as components used, environment info, etc. in JSON and/or excel, CSV or other formats, from DeployHub. Earlier there was a way to export some information from deploy screen, but i am not able to find it anymore.
CC: @svisagan83