Creazione Utenza - SiteAdmin API

Requisito Utente

 

La necessità è quella di avere una procedura automatica di censimento NUOVI utenti in Quality Center, collegarli ad un Progetto e associar loro uno o più profili.

Soluzione Proposta

 

Creazione di una procedura esterna al WorkFlow Script Editor che faccia uso delle API SiteAdmin recuperando le informazioni da un file excel.

 

Tale procedura sarà un file .vbs (vbscript).


 

 

__________________________________________________________________________

 

Implementazione FUORI dal Prodotto

 

 

L'implementazione in realtà prevede non del codice scritto all'interno dello Script Editor ma, come indicato in Soluzione Proposta, un vbs esterno. Questa procedura effettuerà le seguenti operazioni:

  • Censimento Utenza all'interno di Quality Center
  • Associazione ad un Progetto
  • Assegnazione di profili/ruoli all'utente

 

Queste informazioni vengono recuperate da un file excel che avrà questo tracciato record:

  • username : nome user
  • fullname : nominativo dell'utente
  • e-mail : indirizzo e-mail utente
  • phone number : numero di telefono
  • descr : descrizione utente
  • pwd : password utente
  • domain : dominio del progetto qc
  • project : nome del progetto qc
  • roles : ruoli/profili da associare all'utente (se più di 1 devono essere separati da una virgola)

 

Supponiamo che il file excel in questione si chiami myFile.xls e si trovi sotto la cartella "c:\temp".

 

Questo il codice:

 

'************************************************************

'                            CONSTANTS DECLARATION

'************************************************************

Const server = "http://QCAddress/qcbin"
Const user   = "qcadmin"
Const psw    = "xxxxxxx"

'************************************************************

 

'************************************************************

'                             VARIABLES DECLARATION

'************************************************************

Dim mySaApi, XLS, Wkb, Wks, xmlCheckUsr, myXMLString, arrRole, j, i

'************************************************************

 

'************************************************************

'************************************************************

'************************************************************

 

'Retrieve the SiteAdminApi Interface

set mySaApi = CreateObject("SAClient.SAapi")

 

'Login
mySaApi.login server, user, psw

 

'Create excel object to manage excel file

set XLS = CreateObject("Excel.Application")

XLS.Visible = False


'Open excel File (suppose the file is "C:\temp\myFile.xls")

Set Wkb = XLS.Workbooks.Open("C:\temp\myFile.xls")

Set Wks = Wkb.WorkSheets(1)

 

'Do a loop for each row of the excel file

i = 2

do while (wks.Cells(i,1).Value <> "")

 

     'For each row create the new user and Add it to the Project

    

     'Check if User already exists
     on error resume next
     err.clear
     xmlCheckUsr = mySaApi.GetUser(wks.Cells(i,1).Value)
     if err.number <> 0 then
        'user does not exist. I create it.
        myXMLString = ""

        myXMLString = mySaApi.CreateUser(wks.Cells(i,1).Value, _
                                                         wks.Cells(i,2).Value, _
                                                         wks.Cells(i,3).Value, _
                                                         wks.Cells(i,4).Value, _
                                                         wks.Cells(i,5).Value, _
                                                         wks.Cells(i,6).Value)
     end if
     on error goto 0
       

    

     '7. Add the role(s) to the user

        'Firstable I link the user to the Project

         mySaApi.AddUsersToProject wks.Cells(i,7).Value, _
                                   wks.Cells(i,8).Value, _
                                   wks.Cells(i,1).Value

 

        'I analyze the 9th field, the Roles

        if instr(wks.Cells(i,9).Value, ",") then

           arrRole = split(wks.Cells(i,9).Value,",")

           for j=0 to ubound(arrRole)   

               'add the role to the user

               mySaApi.AddUsersToGroup wks.Cells(i,7).Value, _
                                                    wks.Cells(i,8).Value, _
                                                    arrRole(j), _
                                                    wks.Cells(i,1).Value

            next
         else
            mySaApi.AddUsersToGroup wks.Cells(i,7).Value, _
                                                 wks.Cells(i,8).Value, _
                                                 wks.Cells(i,9).Value, _
                                                 wks.Cells(i,1).Value
        end if

 

        i = i + 1

 

loop

 

'Logout from SiteAdmin

mySaApi.Logout 

 

'destroy SaApi object

set mySaApi = Nothing

 

'close excel file and quit excel application

wkb.close

XLS.Quit

 

'************************************************************

'************************************************************

'************************************************************

 

 

Pag: >    >>