Service Desk Practitioners Forum
cancel

Integration OVO-Unix / UC4 with Service Desk: Additional fields, annotation

SOLVED
Go to solution
Highlighted
Wilfried Riegel
Respected Contributor.

Integration OVO-Unix / UC4 with Service Desk: Additional fields, annotation

Problem with annotation and custom variables
I Know SD, but I am newbie in OVOU.I established successful a connection OVOU 8.2 with servicedesk 4.5 sp22
I am now able to
- pass events manually to Servicedesk
- pass events, if they are created in ovo, to servicedesk.
BUT I am not able to pass additional arguments.
We want to pass UC4 events via OVOU to Service Desk. In UC4 we use a script which generates an opcmsg-cmd to OVOU. This script works with standard parameters opcmsg a=appltest, o=objecttest, msg_t=message1.
But we need additional arguments: We have to pass the searchcode of the SD-Workgroup (it is available in UC4) and we have to pass the uc4 logfile, which has often 3k or sometimes 20k.
1) Problem logfile:
- I am not able to pass an attachment to servicedesk via sd_event (or don’t know how to do)
- We used the annotation via opcannoad. This works, if we pass the alert manually to servicedesk AFTER adding the annotation. But it works not, if we use the automatic function:
opcmsg creates the alert and sends it to servicedesk
The following opcannoadd changes the field annotation in messagebrowser, but does not send this change to servicedesk again.
- We tried to concatenate to variable annotation=”abcd” to the opcmsg-cmd, but this does not work (“abcd” is not shown in messagebrowser). It seems to work only by opcannoadd.

2) Problem Custom Variable
I tried to pass the workgroup by a custom variable.
In the Message Template I added a custom variable par1 with value par1
An opcmsg a=appltest msg_t=test1 –option par1=SYS shows the correct value auf par1 in the message browser. But this argument is not passed to servicedesk.
When I checked with ovo_get_attributes I saw, that these custom variables are not in the list.

Any idea, how to solve these problems?
Thanks
Wilfried
7 REPLIES
Jeroen Peereboo
Acclaimed Contributor.
Solution

Re: Integration OVO-Unix / UC4 with Service Desk: Additional fields, annotation

Wilfried,

I cannot answer all your questions.
1a. Attachments: no idea, sorry.
1b. Annotation: In my environment update on OVO messages are not sent to SD. Only if a message is acknowledged, the SD 'ticket' is closed. I don't know enough about the interface. Is it mentioned in the documentation?

1c. opcmsg annotation=abcd: is not supported according to the man page.

2. Some hacking is needed for this.
Get_ovo_attributes does not retrieve CMA's, as you can see if you start it from the command line. There seems to be a rather old enhancement request for this, but that has not been solved yet.

So we wrote a 'program' to retrieve CMA's, append the output to the get_ovo_attribute output (modifications in sd_event.sh and sd_eventins.sh) and modified sd_eventins.pl to pass the CMA to ServiceDesk.

As program you can use an SQL report or a C program.

getcma.sql:
set heading off
set echo off
set linesize 132
set pagesize 0
set feedback off
set newpage 0;
set COLSEP ''
Set Verify Off
ttitle off;

select '[', '&2', ']' from dual;
select cma_value
from opc_act_cust_attrib
where message_number = '&1'
and cma_name = '&2';
quit;

The SQL can be executed by:
opcdbpwd -rep "getcma -s"

The C program ('getcma') is based on a sample prog in the OVO examples directory. If you want, I can send it to you. of coursem it needs compiling... The C programs simply lists ALL CMA's of the message.

In sd_event*.sh change the call to get_ovo_attributes:

cd /opt/OV/bin/OpC/extern_intf
(./get_ovo_attributes $ITO_MESSAGE;
./getcma $ITO_MESSAGE) \
| perl /opt/OV/bin/OpC/extern_intf/sd_eventins.pl

(In stead of ./getcma you can also have the opcdbpwd command with the sql report).

The modifications to sd_eventins.pl are straightforward. And of course something must be done at the SD side, which is out of my sight, sorry.

No guarantees: we're about to implement this ourselves. We only create some SD tickets succesfully, no extensive testing has been done.

Greetings,

JP.
Wilfried Riegel
Respected Contributor.

Re: Integration OVO-Unix / UC4 with Service Desk: Additional fields, annotation

thank you for this answer, it shows me the way. I will try this.
Wilfried
Goeritz_1
Regular Contributor.

Re: Integration OVO-Unix / UC4 with Service Desk: Additional fields, annotation


Wilfried,

the OVO-SD integration uses the OVO Trouble Ticket Interface, and OVO just calls the sd_event.sh script
with the Message ID as a parameter so that ovo_get_attributes gets the message attributes at the time the
message is created, BEFORE any auto actions added their annotations to the message. Thats why any changes
to the message are NOT forwarded to SD. I guess ovo_get_attributes was developed before OVO supported CMAs.

Jeroen, how did you manage to get acknowledged message have SD tickets updated ?

OK, for the CMAs, the workaround from Jeroen would probably work (just use a better command or SQL to retrieve
the CMAs.

For message updates to be reflected in SD, like annotation, own state, ack, I think another solution is
needed that uses the OVO MSI to retrieve message changes and check whether they are relevant for an
SD update.

We are currently building this kind of solution, just let me know if you are interested.

Regards,

Stefan
Jeroen Peereboo
Acclaimed Contributor.

Re: Integration OVO-Unix / UC4 with Service Desk: Additional fields, annotation

Stefan

I just 'inherited' the current situation of acknowledgement of messages. It was implemented some (long?) time ago and I have not had a look at the implementation details yet. I'm a bit surprised it is not standard functionality of the OVO - SD interface.
I found the following.

When a TT is created, a file with name is created on the OVO server.

Using the MSI API, acknowledged messages are intercepted. If a file exists with the OVO msg_id, sd_event is called with an additional argument (ack=VPO) to have the SD call updated (status changed to ready or closed or whatever). A special sd_ack.ini file is used, with a different mapping, classname and modus=update.

Of course, some modifications to SD are needed.

HtH,

JP
Goeritz_1
Regular Contributor.

Re: Integration OVO-Unix / UC4 with Service Desk: Additional fields, annotation

Jeroen,
thanks for the quick reply, yes, some tool is needed to check for acknowledged messages. As far as I know, it needs to use a C programmatic intercace to connect to the MSI and listen to Message Change Events (MCSs). You seem to use this kind of tool, but where did you get it ? Is it your own developed tool, may be derived from the OVO example C programs of the DEV Kit ?

Regards,

Stefan
Jeroen Peereboo
Acclaimed Contributor.

Re: Integration OVO-Unix / UC4 with Service Desk: Additional fields, annotation

It is homemade, but based on the example 'Registering for Message Events from the OVO interface' in HP OpenView Operations Developer's Toolkit' Version A.09.10, Aug 2006.

Register for acknowledged messages only (OPC_MSG_EVENT_ACK).
In our solution, we just try to unlink a file with the message_id as name, and execute a system call for the SD interface if the file could be remover succesfully.

Good luck,

JP
Wilfried Riegel
Respected Contributor.

Re: Integration OVO-Unix / UC4 with Service Desk: Additional fields, annotation

Thank you all for these useful informations.

Regarding Annotations:
we solved this problem in the following way:
- script UC4 to create 2 statements sequential:
opcmsg -id -o.....
opcannoadd

- insert "sleep 5" into script sd_event.sh BEFORE the get_ovo_attributes is launched

Now the event will posted to Servicedesk 5 seconds later, but complete.

Regarding Custom Fields:
We are still checking the solutions you suggested, but also check the following solution: Do not use checkbox "Send to troubleTicketSystem" in MessageTemplate, but invoking in this template a script, with uses defined OVO-Variables

Thanks all for help
Wilfried