Jump to content

Dan Munns

Hornbill Users
  • Content Count

  • Joined

  • Last visited

  • Days Won


Dan Munns last won the day on August 7

Dan Munns had the most liked content!

Community Reputation

144 Excellent

About Dan Munns

  • Rank
    Senior Member
  • Birthday 11/18/1982

Profile Information

  • Gender
  • Location

Recent Profile Visitors

1,610 profile views
  1. @Steven Boardman thanks for the tip. I’ll have a look and see what they will accept. I fear that it will only be a ‘for now’ fix with them though.
  2. Hi @Steven Boardman I am looking for the process by process solution I’m afraid. Could this be raised as a (quite urgent) enhancement please? Thanks Dan
  3. Hi all, I know that the old hardcoded templates have been changed recently, however I was hoping to change them further if possible. Could we not have the authorisation template (and any other old hardcoded templates) set within the BPM as we do with the others? The issue I have is that a couple of the teams using SM need the authorise / reject buttons removing from the email and just a link to make them actually open the task. Otherwise I need a way of sending certain attachments from a request on the authorisation email for the recipients to open, view and approve. Quite urgent as this is now delaying a number of teams workflows from going live (and therefore delaying me starting other teams on boarding whilst I try and work out compromises) @Victor @Steven Boardman if you have any ideas I would appreciate it. Thanks Dan
  4. Dan Munns

    Error connecting MS PowerBI

    Same user. Mine May I add this as a suggestion for the revamp? Or team accounts (SM / PM / etc) to send notifications to the relevant team members (might stop people using @Victor so much ) Yeah, like this is an option...  Well, you could try..... lol
  5. Dan Munns

    Error connecting MS PowerBI

    Ok so you can ignore me. I created a new key and it works now. Strangely the old key is not set to expire and works for other stuff? Oh well.
  6. Dan Munns

    Error connecting MS PowerBI

    Is it. I have. Also, why does the @Hornbill Support Team not notify all members of said team? I would have thought that's what it actually did. Oh well. Forums are a strange beast sometimes
  7. Dan Munns

    Error connecting MS PowerBI

    @Victor it would seem that
  8. Dan Munns

    Error connecting MS PowerBI

    Anyone? @Hornbill Support Team
  9. Hi all, I get the below error when using the RScript connection for MS PowerBI Anyone got any ideas? Firewall settings are all good our end. Details: "ADO.NET: R script error. Loading required package: bitops * Trying * Connected to eurapi.hornbill.com ( port 443 (#0) * successfully set certificate verify locations: * CAfile: C:/Program Files/R/R-3.5.1/library/RCurl/etc/ca-bundle.crt CApath: none * SSL connection using TLSv1.0 / ECDHE-RSA-AES256-SHA * Server certificate: * subject: C=GB; ST=Middlesex; L=Ruislip; O=Hornbill Service Management Limited; OU=Marketing; CN=*.hornbill.com * start date: 2018-06-13 00:00:00 GMT * expire date: 2020-03-23 12:00:00 GMT * subjectAltName: eurapi.hornbill.com matched * issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=GeoTrust RSA CA 2018 * SSL certificate verify ok. > POST /STB/xmlmc/reporting/?method=reportRun HTTP/1.1 Host: eurapi.hornbill.com Content-Type: text/xmlmc Cache-control: no-cache Accept: text/xml Authorization: ESP-APIKEY <REDACTED> Content-Length: 157 * upload completely sent off: 157 out of 157 bytes < HTTP/1.1 404 Not Found < Server: nginx < Date: Tue, 09 Oct 2018 10:43:42 GMT < Content-Type: text/html < Content-Length: 162 < Connection: keep-alive < * Connection #0 to host eurapi.hornbill.com left intact Error: 1: Opening and ending tag mismatch: hr line 5 and body 2: Opening and ending tag mismatch: body line 3 and html 3: Premature end of data in tag html line 1 Execution halted " And the code I am using from Github (PowerBIDataSource_Report.R) #Define Instance Details instanceName = "REDACTED" instanceZone = "eur" # Define API Key apiKey = "REDACTED" # Define Report details reportID = "59" reportComment = "All Open Finance Requests" deleteReportInstance <- TRUE # Suspend for X amount of seconds between checks to see if the report is complete suspendSeconds <- 10 # Import dependencies library('RCurl') library('XML') # Build XMLMC URL arrUrl <- c("https://", instanceZone, "api.hornbill.com/", instanceName) xmlmcURL <- paste(arrUrl, collapse="") curl <- getCurlHandle(verbose=TRUE) # invokeXmlmc - take params, fire off XMLMC call invokeXmlmc = function(service, xmethod, params) { # Build Methodcall paramsrequest = paste(params , collapse="") arrRequest = c( "<methodCall service=\"", service, "\" method=\"", xmethod, "\">", paramsrequest, "</methodCall>") request = paste(arrRequest, collapse="") # Build Invoke URL invokeThisURL = paste(xmlmcURL, "/xmlmc/", service, "/?method=", xmethod, sep="") # Build Headers espKeyAuth = paste('ESP-APIKEY ', apiKey, sep="") requestHeaders = c('Content-Type'='text/xmlmc', 'Cache-control'='no-cache', 'Accept'='text/xml', 'Authorization'=espKeyAuth) responseFromURL = getURL( url <- invokeThisURL, curl = curl, postfields=request, httpheader=requestHeaders, verbose=TRUE, async=FALSE, .opts = list(timeout = 3)) return(responseFromURL) } ### Kick off report run, get job ID # Build XMLMC Request arrXmlmcParams <- c( "<params>", "<reportId>", reportID, "</reportId>", "<comment>", reportComment, "</comment>", "</params>") reportRunResponse <- invokeXmlmc("reporting", "reportRun", arrXmlmcParams) xmltext <- xmlTreeParse(reportRunResponse, asText <- TRUE,useInternalNodes=T) runID <- unlist(xpathApply(xmltext,'//methodCallResult/params/runId',xmlValue)) reportSuccess <- FALSE reportComplete <- FALSE if(runID > 0){ repeat { Sys.sleep(suspendSeconds) # Check status of report arrXmlmcRequest <- c( "<params>", "<runId>", runID, "</runId>", "</params>") xml.request <- paste(arrXmlmcRequest) reportRunStatus <- invokeXmlmc("reporting", "reportRunGetStatus", xml.request) xmlRunStatus <- xmlTreeParse(reportRunStatus, asText <- TRUE,useInternalNodes=T) runStatus <- unlist(xpathApply(xmlRunStatus,'//methodCallResult/params/reportRun/status',xmlValue)) runComp <- grepl(runStatus, "completed") if ( runComp == TRUE ){ reportCSVLink <- unlist(xpathApply(xmlRunStatus,'//methodCallResult/params/reportRun/csvLink',xmlValue)) reportSuccess <- TRUE reportComplete <- TRUE break; } else if ( runStatus == "failed" ){ reportSuccess <- FALSE reportComplete <- TRUE break; } } } Sys.sleep(1) if(reportSuccess == FALSE) { stop() } # Now go get CSV # Build Invoke URL getDavUrl = paste(xmlmcURL, "/dav/reports/", reportID, "/", reportCSVLink, sep="") # GET request for report CSV content espKeyAuth <- paste('ESP-APIKEY ', apiKey, sep="") requestHeaders <- c('Content-Type'='text/xmlmc', 'Authorization'=espKeyAuth) reportContent <- getURI( url <- getDavUrl, httpheader=requestHeaders, async=FALSE) #Now go delete the report run instance if(deleteReportInstance == TRUE) { Sys.sleep(1) arrXmlmcRequest <- c( "<params>", "<runId>", runID, "</runId>", "</params>") xml.request <- paste(arrXmlmcRequest) reportDeleteHist <- invokeXmlmc("reporting", "reportRunDelete", xml.request) } ## CSV vector in to data frame object output <- read.csv(textConnection(reportContent), header = TRUE)
  10. Dan Munns

    QA Report

    Ooo, how so? And i never said you weren't allowed holiday. Just that you had to run it past me first
  11. Dan Munns

    QA Report

    Yeah, not really an option (although my first thought) I need it to be recorded and the requests need to be truly random so people cant accuse people of cherry picking. Since you are skiving on holiday soon, any chance of passing this to someone? Also as a random thought popping into my head, could I utilise the APIs in anyway?
  12. Dan Munns

    QA Report

    @Victor, yeah I have the SQL down to be fair (I think (I decided to try and smash a few of our widgets SQL together and see what happened)): select * from h_itsm_requests where (h_datelogged >= LAST_DAY(NOW() - INTERVAL 2 MONTH) + INTERVAL 1 DAY) AND (h_datelogged < LAST_DAY(NOW() - INTERVAL 1 MONTH)) ORDER BY RAND() LIMIT 30 I was hoping for a way to present the data in a way I can just click into each ticket, have a quick look over it to make sure nothing is awry and then click into the next one. It is looking like at the moment I will have to create a scheduled task with the SQL query saved into the description and manually run it every month. Going to be a bit more work searching through all the reference numbers. Any time saving ideas?
  13. Dan Munns

    QA Report

    Hi all, After a recent audit, our QA process has been picked up as 'requires work'. To that end I was thinking of a scheduled task which uses a report to present me with a list of say 30 random tickets logged in the last 30 days, to run on the 1st of the month. Is this possible with the reporting system at the moment? And if so is there a SQL wizard (@Victor I am looking in your direction) who can lend a hand? Thanks Dan
  14. Dan Munns

    BPM Failure - The specified user does not exist

    Thanks @Ehsan, couldn't find the problem for looking!