PlaybookExperience - Com escopo

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 8 min. de leitura
  • A API PlaybookExperience fornece métodos para lidar com execuções de playbook.

    Esta API requer o plug-in Playbook Experience Core (com.glide.playbook_experience.config) e é fornecida no namespace sn_playbook.

    Esta API requer pelo menos um playbook na tabela Definição de processo [sys_pd_process_definition]. Para usar essa API, você deve ter as funções necessárias para exibir e cancelar um processo em execução no Designer de automação de processos. Para obter mais informações, consulte Designer de automação de processos.

    PlaybookExperience - cancelPlaybooksByParentRecord(GlideRecord parentRecord, Cadeia de caracteres CancelamentoReason, Cadeia de caracteres scopedName, Cadeia de caracteres playbookExperienceId)

    Cancela as execuções do playbook para um determinado registro primário.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    parentRecord GlideRecord O registro primário para cancelar as execuções do playbook. O registro primário pode ser qualquer registro que tenha execuções de playbook, como um registro de interação ou um registro de caso de integração.
    CancelamentoMotivo Cadeia de caracteres O motivo para o cancelamento das execuções do playbook.
    scopedName Cadeia de caracteres Opcional. O nome com escopo do playbook a ser cancelado. O nome com escopo é da tabela Definição de processo [sys_pd_process_definition] no formato scope.name. Se fornecido, somente as execuções deste playbook serão canceladas para o registro primário fornecido. Se não for fornecido, todas as execuções de todos os playbooks serão canceladas para o registro primário fornecido.
    playbookExperienceId Cadeia de caracteres Opcional. Sys_id do registro da Playbook Experience na tabela Playbook Experience [sys_playbook_experience] a ser usado para o cancelamento. Use este parâmetro se você tiver definido mapeamentos de estado de atividade personalizados. Consulte Mapeamento de estado de atividade do Playbook.

    Padrão: Sys_id do registro da Playbook Experience global.

    Tabela 2. Retorna
    Tipo Descrição
    Objeto Objeto que contém as execuções do playbook canceladas e todas as execuções do playbook ignoradas que não puderam ser canceladas.
    {
      "canceledPlaybookContext": [Array],
      "skippedPlaybookContext": [Array]
    }
    
    <Object>.canceledPlaybookContext Lista das execuções do playbook canceladas. Cada execução do playbook é um objeto na matriz.

    Tipo de dados: matriz

    "canceledPlaybookContext": [
        {
          "can_read": Boolean,
          "canceled_by": "String",
          "cancellation_reason": "String",
          "errors": [Array],
          "parent_record": "String",
          "parent_table": "String",
          "playbook_id": "String",
          "playbook_table": "String",
          "scoped_name": "String",
          "state": {Object},
          "sys_id": "String",
          "title": "String"   
        }
    ]
    <Object>.canceledPlaybookContext.can_read

    Sinalizador que indica se o usuário atual pode ler o registro de execução do playbook. O usuário atual deve ter acesso de leitura ao registro primário para poder ler o registro de execução do playbook.

    Valores válidos:
    • verdadeiro: o usuário atual tem acesso de leitura ao registro de execução do playbook.
    • falso: o usuário atual não tem acesso de leitura ao registro de execução do playbook.

    Tipo de dados: booliano

    <Object>.canceledPlaybookContext.canceled_by O ID do usuário que cancelou a execução do playbook.

    Tipo de dados: cadeia de caracteres

    <Object>.canceledPlaybookContext.cancellation_reason O motivo do cancelamento inserido pelo usuário que cancelou a execução do playbook.

    Tipo de dados: cadeia de caracteres

    <Object>.canceledPlaybookContext.errors Lista de erros de cancelamento. Cada erro é um objeto na matriz.

    Tipo de dados: matriz

    "errors": [
        {      
          "message": "String",
          "type": "String"  
        }
    ]
    <Object>.canceledPlaybookContext.errors.message A mensagem de erro.

    Tipo de dados: cadeia de caracteres

    <Object>.canceledPlaybookContext.errors.type O tipo de erro.

    Tipo de dados: cadeia de caracteres

    <Object>.canceledPlaybookContext.parent_record Sys_id do registro primário para o qual as execuções do playbook foram canceladas.

    Tipo de dados: cadeia de caracteres

    <Object>.canceledPlaybookContext.parent_table O nome da tabela da qual o registro primário é.

    Tipo de dados: cadeia de caracteres

    <Object>.canceledPlaybookContext.playbook_id Sys_id do playbook da tabela Definições de processo [sys_pd_process_definition].

    Tipo de dados: cadeia de caracteres

    <Object>.canceledPlaybookContext.playbook_table O nome da tabela de origem do playbook, geralmente a tabela Definições de processo [sys_pd_process_definition].

    Tipo de dados: cadeia de caracteres

    <Object>.canceledPlaybookContext.scoped_name O nome com escopo do playbook da tabela Definições de processo [sys_pd_process_definition] no formato scope.name.

    Tipo de dados: cadeia de caracteres

    <Object>.canceledPlaybookContext.state O estado da execução do playbook da tabela Execuções de processo [sys_pd_context].

    Tipo de dados: objeto

    "state": {    
       "displayValue": "String",    
       "value": "String"
    }
    <Object>.canceledPlaybookContext.state.displayValue O valor de exibição do estado de execução do playbook.

    Tipo de dados: cadeia de caracteres

    <Object>.canceledPlaybookContext.state.value O valor do estado de execução do playbook.

    Tipo de dados: cadeia de caracteres

    <Object>.canceledPlaybookContext.sys_id Sys_id da execução do playbook da tabela Execuções de processo [sys_pd_context].

    Tipo de dados: cadeia de caracteres

    <Object>.canceledPlaybookContext.title O rótulo da execução do playbook da tabela Execuções de processo [sys_pd_context].

    Tipo de dados: cadeia de caracteres

    <Object>.skippedPlaybookContext Lista de execuções do playbook ignoradas. Cada execução do playbook é um objeto na matriz. Para obter descrições das propriedades do objeto, consulte a matriz canceledPlaybookContext.

    Tipo de dados: matriz

    "skippedPlaybookContext": [
        {
          "can_read": Boolean,
          "canceled_by": "String",
          "cancellation_reason": "String",
          "errors": [Array],
          "parent_record": "String",
          "parent_table": "String",
          "playbook_id": "String",
          "playbook_table": "String",
          "scoped_name": "String",
          "state": {Object},
          "sys_id": "String",
          "title": "String"   
        }
    ]

    Este exemplo mostra como cancelar todas as execuções de um playbook específico (neste caso, a demonstração da Playbook Experience) para um determinado registro de interação. Para usar este método em uma ação de IU ou regra de negócios, passe o objeto atual como parentRecord.

    var parentRecord = new GlideRecordUtil().getGR("interaction", "d91742531b343010a26c98a1b24bcbe0");
    
    var cancellationReason = "Cancelling this playbook";
    
    // demo playbook from Process Automation Experience Demo store app
    var scopedName = "sn_pad_demo.playbook_experience_demo"; 
    
    // demo playbook experience from Process Automation Experience Demo store app
    var playbookExperienceId = "a56d8d93ff311010cc0853ea793bf1a6"; 
    	
    var cancelPlaybookReturn = sn_playbook.PlaybookExperience.cancelPlaybooksByParentRecord(parentRecord, cancellationReason, scopedName, playbookExperienceId);
    	
    
    gs.info(JSON.stringify(cancelPlaybookReturn, null, 2));

    Saída:

    {
      "canceledPlaybookContext": [
        {
          "can_read": true,
          "sys_id": "d02782533d343010ac50ee17e75d3466",
          "scoped_name": "sn_pad_demo.playbook_experience_demo",
          "canceled_by": "admin",
          "playbook_table": "sys_pd_process_definition",
          "state": {
            "displayValue": "Pending Cancel",
            "value": "PENDING_CANCEL"
          },
          "title": "Playbook Experience Demo",
          "parent_record": "d91742531b343010a26c98a1b24bcbe0",
          "playbook_id": "0d35ee1807301010cc08d9630ad3002a",
          "cancellation_reason": "Cancelling this playbook",
          "parent_table": "interaction",
          "errors": []
        }
      ],
      "skippedPlaybookContext": []
    }

    PlaybookExperience - getPlaybooksForParentRecord(GlideRecord parentRecord)

    Obtém uma lista de execuções do playbook para um determinado registro primário.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    parentRecord GlideRecord O registro primário para obter execuções do playbook. O registro primário pode ser qualquer registro que tenha execuções de playbook, como um registro de interação ou um registro de caso de integração.
    Tabela 4. Retorna
    Tipo Descrição
    Matriz Lista de execuções do playbook para o registro primário. Cada execução do playbook é um objeto na matriz.
    [
        {
          "can_read": Boolean,
          "canceled_by": "String",
          "cancellation_reason": "String",
          "errors": [Array],
          "parent_record": "String",
          "parent_table": "String",
          "playbook_id": "String",
          "playbook_table": "String",
          "scoped_name": "String",
          "state": {Object},
          "sys_id": "String",
          "title": "String"   
        }
    ]
    <Array>.can_read

    Sinalizador que indica se o usuário atual pode ler o registro de execução do playbook. O usuário atual deve ter acesso de leitura ao registro primário para poder ler o registro de execução do playbook.

    Valores válidos:
    • verdadeiro: o usuário atual tem acesso de leitura ao registro de execução do playbook.
    • falso: o usuário atual não tem acesso de leitura ao registro de execução do playbook.

    Tipo de dados: booliano

    <Array>.cancelado_por O ID do usuário que cancelou a execução do playbook. Vazio se o playbook não for cancelado.

    Tipo de dados: cadeia de caracteres

    <Array>.cancellation_reason O motivo do cancelamento inserido pelo usuário que cancelou a execução do playbook. Vazio se o playbook não for cancelado.

    Tipo de dados: cadeia de caracteres

    <Array>.erros Lista de erros. Cada erro é um objeto na matriz.

    Tipo de dados: matriz

    "errors": [
        {      
          "message": "String",
          "type": "String"  
        }
    ]
    <Array>.erros.mensagem A mensagem de erro.

    Tipo de dados: cadeia de caracteres

    <Array>.erros.tipo O tipo de erro.

    Tipo de dados: cadeia de caracteres

    <Array>.parent_record Sys_id do registro primário.

    Tipo de dados: cadeia de caracteres

    <Array>.parent_table O nome da tabela da qual o registro primário é.

    Tipo de dados: cadeia de caracteres

    <Array>.playbook_id Sys_id do playbook da tabela Definições de processo [sys_pd_process_definition].

    Tipo de dados: cadeia de caracteres

    <Array>.playbook_table O nome da tabela de origem do playbook, geralmente a tabela Definições de processo [sys_pd_process_definition].

    Tipo de dados: cadeia de caracteres

    <Array>.scoped_name O nome com escopo do playbook da tabela Definições de processo [sys_pd_process_definition] no formato scope.name.

    Tipo de dados: cadeia de caracteres

    <Array>.estado O estado da execução do playbook da tabela Execuções de processo [sys_pd_context].

    Tipo de dados: objeto

    "state": {    
       "displayValue": "String",    
       "value": "String"
    }
    <Array>.state.displayValue O valor de exibição do estado de execução do playbook.

    Tipo de dados: cadeia de caracteres

    <Array>.estado.valor O valor do estado de execução do playbook.

    Tipo de dados: cadeia de caracteres

    <Array>.sys_id Sys_id da execução do playbook da tabela Execuções de processo [sys_pd_context].

    Tipo de dados: cadeia de caracteres

    <Array>.title O rótulo da execução do playbook da tabela Execuções de processo [sys_pd_context].

    Tipo de dados: cadeia de caracteres

    Este exemplo mostra como obter execuções do playbook para um determinado registro de interação. Para usar este método em uma ação de IU ou regra de negócios, passe o objeto atual como parentRecord.

    var parentRecord = new GlideRecordUtil().getGR("interaction", "148776e5818d7410f87701eb89fdc824");
    var playbook = sn_playbook.PlaybookExperience.getPlaybooksForParentRecord(parentRecord);
    gs.info(JSON.stringify(playbook, null, 2));
    

    Saída:

    [
      {
        "can_read": true,
        "sys_id": "bd87bae50b8d7410807a8ffed6d0909e",
        "scoped_name": "sn_pad_demo.playbook_experience_demo",
        "canceled_by": "",
        "playbook_table": "sys_pd_process_definition",
        "state": {
          "displayValue": "In Progress",
          "value": "IN_PROGRESS"
        },
        "title": "Playbook Experience Demo",
        "parent_record": "148776e5818d7410f87701eb89fdc824",
        "playbook_id": "0d35ee1807301010cc08d9630ad3002a",
        "cancellation_reason": "",
        "parent_table": "interaction",
        "errors": []
      }
    ]
    

    PlaybookExperience - parentRecordContainsPlaybook(GlideRecord parentRecord, String scopedName)

    Verifica se um registro primário tem execuções de playbook.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    parentRecord GlideRecord O registro primário para verificar as execuções do playbook. O registro primário pode ser qualquer registro que tenha execuções de playbook, como um registro de interação ou um registro de caso de integração.
    scopedName Cadeia de caracteres Opcional. O nome com escopo do playbook a ser verificado. O nome com escopo é da tabela Definição de processo [sys_pd_process_definition] no formato scope.name. Se fornecido, somente as execuções deste playbook serão verificadas. Se não for fornecido, as execuções de todos os playbooks serão verificadas.
    Tabela 6. Retorna
    Tipo Descrição
    Booliano

    Sinalizador que indica se o registro primário tem execuções de playbook.

    Valores válidos:
    • verdadeiro: o registro primário tem execuções do playbook.
    • falso: o registro primário não tem execuções do playbook.

    Este exemplo mostra como verificar se um determinado registro de interação tem execuções de um playbook específico (neste caso, a demonstração da Playbook Experience). Para usar este método em uma ação de IU ou regra de negócios, passe o objeto atual como parentRecord.

    var parentRecord = new GlideRecordUtil().getGR("interaction", "148776e5818d7410f87701eb89fdc824");
    
    // demo playbook from Process Automation Experience Demo store app
    var scopedName = "sn_pad_demo.playbook_experience_demo"; 
    
    var hasPlaybooks = sn_playbook.PlaybookExperience.parentRecordContainsPlaybook(parentRecord, scopedName);
    gs.info(hasPlaybooks);

    Saída:

    true

    PlaybookExperience - triggerPlaybook(cadeia de caracteres scopedName, GlideRecord parentRecord)

    Inicia um playbook para um registro primário.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    scopedName Cadeia de caracteres O nome com escopo do playbook a ser iniciado. O nome com escopo é da tabela Definição de processo [sys_pd_process_definition] no formato scope.name.
    parentRecord GlideRecord O registro primário para iniciar um playbook para. O registro primário pode ser qualquer registro que tenha execuções de playbook, como um registro de interação ou um registro de caso de integração.
    Tabela 8. Retorna
    Tipo Descrição
    Cadeia de caracteres Sys_id da execução do playbook da tabela Execuções de processo [sys_pd_context] que foi criada para o registro primário. Nulo se uma execução do playbook não foi criada com sucesso.

    Este exemplo mostra como iniciar um playbook para um determinado registro de interação. Para usar este método em uma ação de IU ou regra de negócios, passe o objeto atual como parentRecord.

    var parentRecord = new GlideRecordUtil().getGR("interaction", "148776e5818d7410f87701eb89fdc824");
    
    // demo playbook from Process Automation Experience Demo store app
    var scopedName = "sn_pad_demo.playbook_experience_demo"; 
    
    var playbookExecution = sn_playbook.PlaybookExperience.triggerPlaybook(scopedName, parentRecord);
    gs.info(playbookExecution);
    

    Saída:

    f059958267cdb410952864f0fed358cc