PlaybookExperience - Com escopo

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 13 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 esta 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, String CancelamentoReason, String scopedName, String playbookExperienceId)

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

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    parentRecord GlideRecord O registro primário para o qual as execuções do playbook serão canceladas. 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.
    cancelReason Cadeia de caracteres O motivo para cancelar as 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>.canceladoPlaybookContext.erros 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>.canceladoPlaybookContext.erros.tipo 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 de origem do 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>.canceladoPlaybookContext.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"
    }
    <Object>.canceledPlaybookContext.state.displayValue O valor de exibição do estado de execução do playbook.

    Tipo de dados: cadeia de caracteres

    <Object>.canceladoPlaybookContext.estado.valor 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>.canceladoPlaybookContext.título 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ócio, 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 o qual as execuções do playbook serão obtidas. O registro primário pode ser qualquer registro que possa ter 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 tiver sido 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 tiver sido 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 de origem do 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>.título 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ócio, 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 execuções do playbook. O registro primário pode ser qualquer registro que possa ter 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 de playbook.
    • falso: o registro primário não tem execuções de 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ócio, 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 - restartPlaybook(cadeia de caracteres playbookContextId, cadeia de caracteres LaneContextId, cadeia de caracteres activityContextId, cadeia de caracteres playbookExperienceId)

    Você pode reiniciar uma execução desde o início (o playbook inteiro) ou a partir de uma fase ou atividade específica de um playbook.

    Nota:
    Somente playbooks que estão no estado Em andamento, Em fila ou Cancelamento pendente podem ser reiniciados.
    Tabela 7. Parâmetros
    Nome Tipo Descrição
    playbookContextId Cadeia de caracteres O sys_id do registro de contexto do playbook para a execução do playbook ou execução que você deseja reiniciar. Localizado na tabela Execução de processo [sys_pd_context].
    laneContextId Cadeia de caracteres Opcional. O sys_id do registro de contexto de fase para a execução de fase ou execução a partir da qual você deseja reiniciar. Localizado na tabela Execuções de raia [sys_pd_lane_context].
    Nota:
    Somente fases concluídas podem ser reiniciadas.
    activityContextId Cadeia de caracteres Opcional. O sys_id do registro de contexto de atividade para a execução da atividade ou execução a partir da qual você deseja reiniciar. Localizado na tabela Execuções de atividade [sys_pd_activity_context].
    Nota:
    Somente atividades concluídas podem ser reiniciadas.
    playbookExperienceId Cadeia de caracteres Opcional. O sys_id da Playbook Experience que você deseja usar para a execução reiniciada. Localizado na tabela Playbook Experience [sys_playbook_experience]. Use este parâmetro se você tiver definido mapeamentos de estado de atividade personalizada. Consulte Mapeamento de estado de atividade do playbook.

    Padrão: Playbook Experience global

    Tabela 8. Retorna
    Propriedade Descrição
    Objeto Objeto que contém os detalhes da execução do playbook reiniciado.
    {
     "can_add_activity": Boolean,
     "can_cancel": Boolean,
     "can_read": Boolean
     "can_restart": Boolean,
     "canceled_by": "String",
     "cancellation_reason": "String",
     "errors": [Array]
     "is_archived": Boolean
     "parent_record": "String",
     "parent_table": "String",
     "playbook_id": "String",
     "playbook_table": "String",
     "scoped_name": "String",
     "state": {Object},
     "sys_id": "String",
     "title": "String",
    }
    pode_adicionar_atividade Sinalizador que indica se um usuário pode adicionar uma atividade opcional ao playbook.
    Valores válidos:
    • verdadeiro: o usuário atual pode adicionar uma atividade opcional ao playbook.
    • falso: o usuário atual não pode adicionar uma atividade opcional ao playbook.

    Tipo de dados: booliano

    can_cancelar Sinalizador que indica se um usuário pode cancelar um playbook.
    • verdadeiro: a definição de processo do playbook desativado está ativa.
    • falso: a definição de processo do playbook desativado está inativa.

    Tipo de dados: booliano

    pode_ler 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.
    • 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

    can_restart Sinalizador que indica se um usuário pode reiniciar um playbook, fase ou atividade.
    • verdadeiro: o usuário atual pode reiniciar o playbook, a fase ou a atividade.
    • falso: o usuário atual não pode reiniciar o playbook, a fase ou a atividade.

    Tipo de dados: booliano

    cancel_by O ID do usuário que cancelou a execução do playbook.

    Tipo de dados: cadeia de caracteres

    cancel_reason O motivo do cancelamento inserido pelo usuário que cancelou a execução do playbook.

    Tipo de dados: cadeia de caracteres

    erros Lista de erros de reinicialização. Cada erro é um objeto na matriz.

    Tipo de dados: matriz

    "errors": [
     {      
      "message": "String",
      "type": "String"  
     }
    ]
    está_arquivado Sinalizador que indica se os registros de contexto do playbook estão arquivados. Defina como verdadeiro. Este valor não pode ser modificado.
    Valores possíveis:
    • verdadeiro: os registros de contexto do playbook são arquivados.
    • falso: os registros de contexto do playbook não são arquivados.

    Tipo de dados: booliano

    parent_record O sys_id do registro primário para o qual as execuções do playbook foram reiniciadas.

    Tipo de dados: cadeia de caracteres

    parent_table O nome da tabela de origem do registro primário.

    Tipo de dados: cadeia de caracteres

    playbook_id O sys_id do playbook da tabela Definições de processo [sys_pd_process_definition].

    Tipo de dados: cadeia de caracteres

    playbook_tabela 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

    scoped_name Opcional. O nome com escopo do playbook a ser reiniciado. 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 reiniciadas para o registro primário fornecido. Se não for fornecido, todas as execuções de todos os playbooks serão reiniciadas para o registro primário fornecido.

    Tipo de dados: cadeia de caracteres

    estado Indica se sua solicitação de ativação foi bem-sucedida.

    Tipo de dados: objeto

    Valores possíveis:
    • SUCESSO: o playbook foi ativado com sucesso.
    • FALHA: o ID do playbook não foi encontrado.
    "state": [
        {      
          "displayValue": "String",
          "value": "String"  
        }
    ]
    estado.displayValue O valor de exibição do estado de execução do playbook.

    Tipo de dados: cadeia de caracteres

    estado.valor O valor do estado de execução do playbook.

    Tipo de dados: cadeia de caracteres

    sys_id O sys_id da execução do playbook da tabela Execuções de processo [sys_pd_context].

    Tipo de dados: cadeia de caracteres

    título 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 reiniciar uma execução de playbook inteira com o ID de registro de execuções de processo [sys_pd_context] 98e4fe04591b4caca59583f7b8e30b0a.

    var gr = new GlideRecord('sys_pd_context');
    var found = gr.get('98e4fe04591b4caca59583f7b8e30b0a'); 
    if (found) {
        var result = sn_playbook.PlaybookExperience.restartPlaybook(gr);
        gs.info(JSON.stringify(result));
    }
    else
        gs.info('invalid pd context');

    Saída:

    {
     "scoped_name": "global.restart_scriptable_demo",
     "canceled_by": "",
     "can_add_activity": true,
     "playbook_table": "sys_pd_process_definition",
     "can_restart": true,
     "can_cancel": true,
     "title": "Restart scriptable demo",
     "cancellation_reason": "",
     "parent_table": "interaction",
     "can_read": true,
     "sys_id": "98e4fe04591b4caca59583f7b8e30b0a",
     "is_archived": false,
     "state": {
       "displayValue": "In Progress",
       "value": "IN_PROGRESS"
     },
     "parent_record": "b88623beb5e10210f877d783f6f83a46",
     "playbook_id": "12d5a7fab5e10210f877d783f6f83aff",
     "errors": []
    }

    PlaybookExperience - triggerPlaybook(String scopedName, GlideRecord parentRecord)

    Inicia um playbook para um registro primário.

    Tabela 9. 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. O registro primário pode ser qualquer registro que possa ter execuções de playbook, como um registro de interação ou um registro de caso de integração.
    Tabela 10. 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 de playbook não tiver sido 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ócio, 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