CatItem - com escopo
A API CatItem fornece métodos que permitem criar e modificar itens do catálogo de serviços usando scripts.
Esta API é executada no namespace sn_sc.
CatItem - availableForUserCriteria(ação de cadeia de caracteres, critérios de matrizIDs)
Adiciona os critérios do usuário Available For ao item do catálogo atual.
| Nome | Tipo | Descrição |
|---|---|---|
| ação | Cadeia de caracteres | Ação a ser executada.
|
| critériosIDs | Matriz | Matriz dos critérios do usuário sys_ids. |
| Tipo | Descrição |
|---|---|
| vazio |
Este exemplo mostra como adicionar os Available For critérios do usuário especificados.
var item = new sn_sc.CatItem("31bea3d53790200044e0bfc8bcbe5dec");
item.availableForUserCriteria("add", ["0c441abbc6112275000025157c651c89"]);
CatItem – canViewInDomain()
Verifica se o item do catálogo atual pode ser exibido no domínio selecionado (domínio selecionado no seletor de domínio).
Os itens do catálogo no domínio global estão disponíveis em todos os domínios.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que valida se o item do catálogo atual está visível no domínio selecionado. Valores válidos:
|
Este exemplo mostra como verificar se um item do catálogo está visível no domínio selecionado no momento.
var catItem = new sn_sc.CatItem("060f3afa3731300054b6a3549dbe5d3e");
gs.info(catItem.canViewInDomain());
CatItem - canViewOnSearch(booliano isMobile)
Determina se o usuário tem acesso para exibir o item do catálogo na pesquisa global.
| Nome | Tipo | Descrição |
|---|---|---|
| isMobile | Booliano | Sinalizador que indica se a pesquisa deve ser executada na exibição móvel ou na área de trabalho. Valores válidos:
|
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se o usuário tem acesso para exibir o item do catálogo na pesquisa global. Valores válidos:
|
Este exemplo de código mostra como verificar se o usuário tem acesso para exibir o item do catálogo na pesquisa global na exibição da área de trabalho.
var catItem = new sn_sc.CatItem("04b7e94b4f7b4200086eeed18110c7fd");
var canView = catItem.canViewOnSearch('false');
gs.info("Can view on global search: " + canView);
Saída:
Can view on global search: true
CatItem - create(Booliano StandardUpdate)
Insere o item do catálogo definido.
| Nome | Tipo | Descrição |
|---|---|---|
| padrãoAtualizar | Booliano | Sinalizador que indica se a execução de mecanismos e fluxos de trabalho deve ser habilitada. Valores válidos:
|
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Sys_id do item do catálogo recém-criado. |
Este exemplo cria um novo item do catálogo e adiciona uma variável e um conjunto de variáveis.
createCatalogItem('Catalog Item Name', 'Short Description', 'e0d08b13c3330100c8b837659bba8fb4', '109f0438c6112276003ae8ac13e7009d');
function createCatalogItem(name, short_desc, catalogId, categoryId) {
var catalogItem = new sn_sc.CatItem();
catalogItem.setAttributes({
"name": name,
"short_description": short_desc
});
catalogItem.setCatalogs(catalogId); // set catalog
catalogItem.setCategories(categoryId); // set category
var catItemSysId = catalogItem.create(); // create new catalog item
gs.info('Catalog item created in table sc_cat_item with sys_id ' + catItemSysId);
// add variables and variable set
addDefaultVariables(catItemSysId);
addDefaultVariableSet(catItemSysId);
}
// creates a new variable and adds it to the catalog item
function addDefaultVariables(catItemSysId) {
var myVarAttrs = {
"type": "6", // type 6 is single line text
"cat_item": catItemSysId,
"question_text": "First Name",
"name": "first_name",
'order': 50
};
var myVar = new sn_sc.CatalogItemVariable();
myVar.setAttributes(myVarAttrs);
var varRec = myVar.create(true);
gs.info('Variable added to catalog item and record created in table item_option_new with sys_id ' + varRec);
}
// adds an existing variable set to the catalog item
function addDefaultVariableSet(catItemSysId) {
var varset = new sn_sc.CatalogItemVariableSetM2M();
// fields used in object are from table io_set_item
var attr = {
'variable_set': 'e01cab1a4f334200086eeed18110c71f', // required
'sc_cat_item': catItemSysId, // required
'order': 100 // optional
};
varset.setAttributes(attr);
var m2mRec = varset.create(true);
gs.info('Variable set added to catalog item and M2M record created in table io_set_item with sys_id ' + m2mRec);
}
Saída:
Catalog item created in table sc_cat_item with sys_id be5c771e876370103a730f2d0ebb3556
Variable added to catalog item and record created in table item_option_new with sys_id b65cb71e876370103a730f2d0ebb3535
Variable set added to catalog item and M2M record created in table io_set_item with sys_id 8b5cb71e876370103a730f2d0ebb354b
CatItem - deleteRecord(Booliano StandardUpdate)
Exclui um item do catálogo.
| Nome | Tipo | Descrição |
|---|---|---|
| padrãoAtualizar | Booliano | Sinalizador que indica se a execução de mecanismos e fluxos de trabalho deve ser habilitada. Valores válidos:
|
| Tipo | Descrição |
|---|---|
| vazio |
Este exemplo exclui todos os itens do catálogo inativos.
var catalogItem = new GlideRecord('sc_cat_item');
catalogItem.addQuery('active', 'false'); // get all inactive catalog items
catalogItem.query();
while (catalogItem.next()) {
// before deleting a catalog item, delete its associated variable set M2M records
var variableSetM2M = new GlideRecord('io_set_item'); // M2M table linking variable set and catalog item
variableSetM2M.addQuery('sc_cat_item', catalogItem.getUniqueValue()); // get M2M records for the catalog item
variableSetM2M.query();
while (variableSetM2M.next()) {
var varset = new sn_sc.CatalogItemVariableSetM2M(variableSetM2M.getUniqueValue()); // M2M record sys_id
varset.deleteRecord(true); // delete M2M record
}
// then delete the catalog item
var item = new sn_sc.CatItem(catalogItem.getUniqueValue());
item.deleteRecord(true);
}
CatItem - getFirstAccessibleCategoryForSearch(cadeia de caracteres catalogId)
Retorna a primeira categoria que o usuário pode exibir em um catálogo.
| Nome | Tipo | Descrição |
|---|---|---|
| catalogId | Cadeia de caracteres | Sys_id do catálogo. |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Sys_id da primeira categoria que o usuário pode exibir em um catálogo. |
Exemplo:
var CatItem=new sn_sc.CatItem("04b7e94b4f7b4200086eeed18110c7fd");
console.log(CatItem.getFirstAccessibleCategoryForSearch("e0d08b13c3330100c8b837659bba8fb4"));
Saída:
d258b953c611227a0146101fb1be7c31
CatItem - getInvalidDelegatedUsers(Matriz requestForUsers)
Retorna uma matriz de usuários para os quais o item associado não pode ser delegado (solicitado em nome de).
O método verifica cada um dos usuários aprovados na matriz.
| Nome | Tipo | Descrição |
|---|---|---|
| requestForUsers | Objeto | Matriz de sys_ids do usuário para verificar se o usuário associado pode adquirir o item atual e se o item pode ser solicitado em nome dele. Tabela: usuário [sys_user] |
| Tipo | Descrição |
|---|---|
| Matriz | Lista de nomes de usuário (coluna Nome da tabela Usuários [sys_user]) para os quais o item não pode ser solicitado por um delegado. |
Este exemplo mostra como obter uma lista de nomes de usuários para os quais o item não pode ser solicitado por um delegado.
function getInvalidDelegatedUsers(itemId, userIds) {
var catItem = new sn_sc.CatItem(itemId);
var invalidUsers = catItem.getInvalidDelegatedUsers(userIds);
return invalidUsers;
}
Saída:
[
"Joe Smith",
"Jenny Brown",
"Fred Bennet",
"Alice Jones"
]
CatItem – getRecordClass()
Retorna o nome da classe do registro de item do catálogo atual.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Nome da classe para o registro de item do catálogo atual. |
Exemplo:
var CatItem=new sn_sc.CatItem("04b7e94b4f7b4200086eeed18110c7fd");
console.log(CatItem.getRecordClass());
Saída:
sc_cat_item
CatItem - isDelegationAllowed(cadeia de caracteres delegadoUser)
Verifica se o usuário delegado especificado tem direitos de aquisição para o item do catálogo de serviços atual.
| Nome | Tipo | Descrição |
|---|---|---|
| delegadoUsuário | Cadeia de caracteres | Opcional. Sys_id do usuário para o qual solicitar o item do catálogo de serviços (delegado). O método verifica se o usuário tem direitos de aquisição para o item. Padrão: verifica se o usuário de chamada tem direitos de aquisição para o item. |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se o usuário tem direitos de aquisição para o item do catálogo de serviços atual. Valores válidos:
|
Este exemplo de código mostra como determinar se a delegação é permitida para o item do catálogo.
function canRequestFor(itemId, user) {
var catItem = new sn_sc.CatItem(itemId);
var result = catItem.isDelegationAllowed(user);
return result;
}
Saída: verdadeiro
CatItem - isVisibleServicePortal()
Determina se o item do catálogo atual está disponível no portal de serviços.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se o item do catálogo está disponível no Portal de serviços. Valores válidos:
|
Exemplo:
var catItem = new sn_sc.CatItem("04b7e94b4f7b4200086eeed18110c7fd");
var catItemAvail = catItem.isVisibleServicePortal();
gs.info("Is item available on Service Portal: " + catItemAvail);
Saída:
Is item available on Service Portal: true
CatItem - notAvailableForUserCriteria(ação de cadeia de caracteres, critérios de matrizIDs)
Adiciona os Not Available For critérios do usuário a um item do catálogo.
| Nome | Tipo | Descrição |
|---|---|---|
| ação | Cadeia de caracteres | Ação a ser executada.
|
| Tipo | Descrição |
|---|---|
| vazio |
Este exemplo mostra como adicionar os Not Available For critérios do usuário especificados.
var item = new sn_sc.CatItem("31bea3d53790200044e0bfc8bcbe5dec");
item. notAvailableForUserCriteria("add", ["0c441abbc6112275000025157c651c89"]);
CatItem - read (colunas de objeto, Booliano StandardUpdate)
Retorna um mapeamento de valores de atributo de item do catálogo.
| Nome | Tipo | Descrição |
|---|---|---|
| colunas | Objeto | Pares de nome-valor de colunas para os quais os valores serão retornados. |
| padrãoAtualizar | Booliano | Sinalizador que indica se a execução de mecanismos e fluxos de trabalho deve ser habilitada. Valores válidos:
|
| Tipo | Descrição |
|---|---|
| Objeto | Mapeamento de nomes de coluna para valores. |
Este exemplo lê os campos de nome e preço de um item do catálogo.
var catItem = new sn_sc.CatItem("a96277509f300200b407b89a442e704e");
var values = catItem.read({"name" : "", "price" : ""}, true);
gs.info("Catalog item name: " + values.name);
gs.info("Catalog item price: " + values.price);
Catalog item name: Standard Laptop
Catalog item price: 1100CatItem - setAttributes(Atributos de objeto)
Define atributos para um item do catálogo.
| Nome | Tipo | Descrição |
|---|---|---|
| atributos | Objeto | Pares de nome-valor das colunas para as quais definir. |
| Tipo | Descrição |
|---|---|
| vazio |
Este exemplo define atributos para um novo item do catálogo.
createCatalogItem('Name of your Catalog Item', 'Short Description of your Catalog Item', 'e0d08b13c3330100c8b837659bba8fb4', '109f0438c6112276003ae8ac13e7009d');
function createCatalogItem(name, short_desc, catalogId, categoryId) {
var catalogItem = new sn_sc.CatItem();
// catalog item column values
var attributes ={
"name": name,
"short_description": short_desc,
"description": "<p>This is a test catalog item.</p>",
"workflow":"0287f2c64a36232700820846b1f8bdce" // sys_id of workflow
};
catalogItem.setAttributes(attributes); // set catalog item attributes
catalogItem.setCatalogs(catalogId); // set catalog
catalogItem.setCategories(categoryId); // set category
var catItemSysId = catalogItem.create(); // create new catalog item
gs.info('Catalog item created in table sc_cat_item with sys_id ' + catItemSysId);
}
Saída:
Catalog item created in table sc_cat_item with sys_id 706948a287e370103a730f2d0ebb351e
CatItem - setCatalogs(Catálogos de cadeias de caracteres)
Define os catálogos aos quais este item do catálogo está associado.
| Nome | Tipo | Descrição |
|---|---|---|
| catálogos | Cadeia de caracteres | Lista separada por vírgulas de sys_ids dos catálogos para associar ao item o item. |
| Tipo | Descrição |
|---|---|
| vazio |
Este exemplo associa um item do catálogo a dois catálogos.
var short_desc = 'This is a short description of my catalog item.';
var catalogItem = new sn_sc.CatItem();
catalogItem.setAttributes({
"name": 'My Catalog Item',
"short_description": short_desc
});
catalogItem.setCatalogs('e0d08b13c3330100c8b837659bba8fb4,742ce428d7211100f2d224837e61036d'); // set Service Catalog and Technical Catalog
var catItemSysId = catalogItem.create(); // create new catalog item
gs.info('Catalog item created in table sc_cat_item with sys_id ' + catItemSysId);
Catalog item created in table sc_cat_item with sys_id d0c5dcaa872770103a730f2d0ebb35cbCatItem - setCategories(cadeias de cadeias de caracteres)
Define as categorias às quais este item do catálogo está associado.
| Nome | Tipo | Descrição |
|---|---|---|
| categorias | Cadeia de caracteres | Lista separada por vírgulas de sys_ids das categorias a serem associadas ao item. |
| Tipo | Descrição |
|---|---|
| vazio |
Este exemplo mostra como associar duas categorias a um item.
var catItem = new sn_sc.CatItem("060f3afa3731300054b6a3549dbe5d3e");
catItem.setCatagories("af443cfa5f130100a9ad2572f2b47747", "d467125fd7500200d74460affd6103a1");
CatItem - setImage(cadeia de caracteres dbImageSysId, tipo de cadeia de caracteres)
Adiciona uma imagem a um item do catálogo.
| Nome | Tipo | Descrição |
|---|---|---|
| dbImageSysId | Cadeia de caracteres | Sys_id da imagem da tabela Imagens [db_image]. |
| tipo | Cadeia de caracteres | Tipo de imagem. Valores válidos:
|
| Tipo | Descrição |
|---|---|
| vazio |
Este exemplo adiciona uma imagem a um item do catálogo.
var catItem = new sn_sc.CatItem("1fc0bd968777301093d5ec6d0ebb3548"); // sys_id of catalog item to update
// update fields if needed
var attr = {
'name': 'New Name of Catalog Item - 123',
'description': '<p>This is an updated description.</p><p> My description new line 1</p><p>My description new line 2</p>',
'short_description': 'New Short Description of Catalog Item'
};
catItem.update(attr, true);
catItem.setImage('1b443cfa5f130100a9ad2572f2b47746', 'picture'); // sys_id of image from table db_image
CatItem – setTableName(cadeia de caracteres "tableName")
Define o nome da tabela para este item do catálogo.
| Nome | Tipo | Descrição |
|---|---|---|
| tableName | Cadeia de caracteres | Nome da tabela que estende o Item do catálogo [sc_cat_item]. |
| Tipo | Descrição |
|---|---|
| vazio |
Este exemplo mostra como definir o nome de uma tabela estendida.
var catItem = new sn_sc.CatItem();
catItem.setTableName("New_catalog_table");
CatItem - submitProducer (valores de objeto)
Cria um registro usando um produtor de registro Catálogo de serviços especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| valores | Objeto | Contém os valores de campo e o produtor de registro a serem usados ao criar o registro. |
| valores.variáveis | Objeto | Os valores de campos a serem definidos para o novo registro. |
| valores.sysparm_id | Cadeia de caracteres | Sys_id do produtor de registro a ser usado na tabela Produtor de registro [sc_cat_item_producer]. |
| Tipo | Descrição |
|---|---|
| Objeto | Contém informações sobre o registro que foi criado. |
| <Object>.número | Valor do campo Número do registro criado. Tipo de dados: cadeia de caracteres |
| <Object>.parent_id | Sys_id do registro primário. Tipo de dados: cadeia de caracteres |
| <Object>.parent_table | A tabela primária da tabela em que o registro foi criado. Tipo de dados: cadeia de caracteres |
| <Object>.registro | XML do registro criado. Tipo de dados: cadeia de caracteres |
| <Object>.redirect_portal_url | URL para o qual o Portal de serviçosserá redirecionado. Tipo de dados: cadeia de caracteres |
| <Object>.redirect_to | Redirecionar valor. Tipo de dados: cadeia de caracteres |
| <Object>.redirect_url | URL do registro criado. Tipo de dados: cadeia de caracteres |
| <Object>.sys_id | Sys_id do registro criado. Tipo de dados: cadeia de caracteres |
| <Object>.tabela | A tabela em que o registro foi criado. Tipo de dados: cadeia de caracteres |
Este exemplo cria um incidente usando o produtor de registro Criar incidente.
var catalogItem = new sn_sc.CatItem('3f1dd0320a0a0b99000a53f7604a2ef9'); //sys_id of the Create Incident record producer
var values = {
"variables": {"urgency" : "2", "comments" : "Laptop is in a brick state"},
"sysparm_id": "3f1dd0320a0a0b99000a53f7604a2ef9"
}
var targetRecordDetails = catalogItem.submitProducer(values);
gs.info(JSON.stringify(targetRecordDetails, null, 3));
Saída:
{
"sys_id": "133b2ee1875f30103a730f2d0ebb35f9",
"number": "INC0010002",
"parent_id": null,
"record": "api/now/table/incident/133b2ee1875f30103a730f2d0ebb35f9",
"redirect_portal_url": "",
"parent_table": "task",
"redirect_url": "incident.do?sys_id=133b2ee1875f30103a730f2d0ebb35f9&sysparm_view=ess",
"table": "incident",
"redirect_to": "generated_record"
}
CatItem - atualizar (objeto columnValues, booliano padrãoAtualizar)
Atualiza os valores dos campos especificados de um item do catálogo.
| Nome | Tipo | Descrição |
|---|---|---|
| columnValues | Objeto | Pares de nome-valor dos campos a serem atualizados e seus valores associados. |
| padrãoAtualizar | Booliano | Sinalizador que indica se a execução de mecanismos e fluxos de trabalho deve ser habilitada. Valores válidos:
|
| Tipo | Descrição |
|---|---|
| vazio |
Este exemplo atualiza o nome, a descrição resumida e o preço de um item do catálogo existente.
var catItem = new sn_sc.CatItem("1fc0bd968777301093d5ec6d0ebb3548"); // sys_id of catalog item to update
printCatalogItem(); // print current catalog item values
// object containing fields to update
var attr = {
"name": "New Name of Catalog Item",
"short_description": "New Short Description of Catalog Item",
"price": "450"
};
catItem.update(attr, true);
printCatalogItem(); // print new catalog item values
// prints the name, short description, and price of the catalog item
function printCatalogItem(){
// object containing fields to read
var readValues = {
"name" : "",
"short_description" : "",
"price" : ""
};
var values = catItem.read(readValues, true); // read the field values
gs.info("Catalog item name: " + values.name);
gs.info("Catalog item short description: " + values.short_description);
gs.info("Catalog item price: " + values.price);
}
Catalog item name: Example Catalog Item
Catalog item short description: Example Short Description
Catalog item price: 300
Catalog item name: New Name of Catalog Item
Catalog item short description: New Short Description of Catalog Item
Catalog item price: 450