Integrar o Jira ao Google SecOps
Este documento explica como integrar o Jira ao Google Security Operations.
Casos de uso
A integração do Jira usa os recursos do Google SecOps para oferecer suporte aos seguintes casos de uso:
Emissão automática de tíquetes: crie automaticamente problemas do Jira com base em alertas do Google SecOps usando o conector do Jira para simplificar a transferência entre as equipes de segurança e de TI.
Sincronização bidirecional: mantenha a consistência entre as plataformas sincronizando automaticamente comentários e mudanças de status entre os tíquetes do Jira e os casos do Google SecOps usando jobs de sincronização dedicados.
Enriquecimento de incidentes: anexe evidências, registros e capturas de tela diretamente aos problemas do Jira usando a ação Fazer upload de anexo para fornecer contexto completo aos responsáveis pela correção.
Gerenciamento dinâmico de tarefas: atualize, atribua ou vincule problemas relacionados do Jira diretamente do playbook do Google SecOps para automatizar procedimentos operacionais padrão (SOPs).
Antes de começar
Antes de configurar a integração do Jira na plataforma Google SecOps, verifique se você tem o seguinte:
Compatibilidade do produto: acesso a uma instância do Jira Cloud ou a um ambiente do Jira Data Center (no local).
Método de autenticação: escolha um método de autenticação.
- Autenticação básica (Jira Cloud): requer um nome de usuário (e-mail) e um token de API da Atlassian.
- Autenticação da conta de serviço (Jira Cloud): requer um token de conta de serviço e seu Cloud ID.
- Autenticação padrão (Jira Data Center): requer um nome de usuário e uma senha válidos.
URL raiz da API: o formato da raiz da API depende do método de autenticação.
- Padrão/Básico: o URL de base da sua instância do Jira (por exemplo,
https://yourdomain.atlassian.net). - Conta de serviço: o URL do proxy de API Atlassian, que precisa incluir seu
ID do Cloud (por exemplo,
https://api.atlassian.com/ex/jira/{cloud_id}).
- Padrão/Básico: o URL de base da sua instância do Jira (por exemplo,
Configurar a autenticação do Jira Cloud
Para se conectar ao Jira Cloud usando um token de API, siga as instruções na documentação da Atlassian para gerar um token.
Configurar a autenticação para contas de serviço
Para usar a autenticação baseada em token (token do portador) no Jira Cloud:
Consulte Noções básicas sobre contas de serviço para mais detalhes sobre como criar uma conta de serviço usando o console de administrador da Atlassian.
Para recuperar o ID do Cloud, acesse:
https://<your_tenant>.atlassian.net/_edge/tenant_info(em que<your_tenant>é o nome da sua instância específica da Atlassian).Ao configurar a integração, deixe o campo Nome de usuário em branco para acionar a autenticação do token do portador.
Parâmetros de integração
A integração do Jira requer os seguintes parâmetros:
| Parâmetro | Descrição |
|---|---|
Api Root |
Obrigatório. O URL de base da instância do Jira. |
Username |
Opcional. O nome de usuário (e-mail) usado para se conectar ao Jira. O requisito para esse parâmetro depende do método de autenticação escolhido:
Para mais informações sobre métodos de autenticação, consulte Antes de começar. |
Api Token |
Obrigatório. A credencial de autenticação usada para se conectar ao Jira. Esse campo aceita tokens de API, tokens de conta de serviço ou senhas padrão (para o Data Center). |
Verify SSL |
Opcional. Se selecionada, a integração valida o certificado SSL ao se conectar ao servidor do Jira. |
Para instruções sobre como configurar uma integração no Google SecOps, consulte Configurar integrações.
Se necessário, você pode fazer mudanças depois. Depois de configurar uma instância de integração, é possível usá-la em playbooks. Para mais informações sobre como configurar e oferecer suporte a várias instâncias, consulte Como oferecer suporte a várias instâncias.
Ações
Para mais informações sobre ações, consulte Responder a ações pendentes na sua mesa de trabalho e Executar uma ação manual no seu caso.
Adicionar comentário
Use a ação Adicionar comentário para escrever e adicionar um comentário a um problema do Jira.
Essa é uma maneira eficaz de documentar descobertas, fornecer atualizações e colaborar com os membros da equipe diretamente do Google SecOps.
Essa ação não é executada em entidades do Google SecOps.
Entradas da ação
A ação Adicionar comentário requer os seguintes parâmetros:
| Parâmetro | Descrição |
|---|---|
Issue Key |
Obrigatório. O identificador exclusivo do problema do Jira (por exemplo,
|
Comment |
Obrigatório. O texto a ser adicionado à solicitação do Jira. |
Saídas da ação
A ação Adicionar comentário fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Indisponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Indisponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Resultado do script
A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Adicionar comentário:
| Nome do resultado do script | Valor |
|---|---|
comment_id |
O ID exclusivo do comentário recém-criado no Jira. |
Atribuir problema
Use a ação Atribuir problema para atribuir um problema do Jira a um usuário específico.
Essa ação não é executada em entidades do Google SecOps.
Entradas da ação
A ação Atribuir problema requer os seguintes parâmetros:
| Parâmetro | Descrição |
|---|---|
Issue Key |
Obrigatório. O identificador exclusivo do problema do Jira (por exemplo,
|
Assignee |
Obrigatório. O nome ou endereço de e-mail do usuário a quem o problema será atribuído. |
Jira Username |
Opcional. O nome de usuário do Jira da pessoa que iniciou a ação de atribuição. |
Saídas da ação
A ação Atribuir problema fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Indisponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Indisponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Resultado do script
A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Atribuir problema:
| Nome do resultado do script | Valor |
|---|---|
success |
true ou false |
Criar problema de alerta
Use a ação Criar problema de alerta para criar um novo tíquete no Jira para um alerta específico.
Essa ação é usada principalmente em playbooks para encaminhar incidentes de segurança às equipes de TI ou de engenharia para investigação ou correção.
Essa ação não é executada em entidades do Google SecOps.
Entradas da ação
A ação Criar problema de alerta requer os seguintes parâmetros:
| Parâmetro | Descrição |
|---|---|
Project Key |
Obrigatório. A chave abreviada exclusiva do projeto do Jira em que o problema é criado
(como |
Summary |
Obrigatório. Um título ou resumo breve do problema. |
Issue Type |
Obrigatório. O nome do tipo de problema (como |
Saídas da ação
A ação Criar problema de alerta fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Indisponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Disponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Resultado JSON
O exemplo a seguir mostra a saída do resultado JSON recebida quando a ação cria um problema:
{
"summary": "Sample issue",
"description": "Create Enrich entities action using Insights API (IOC search). Write connector for alerts.",
"project": {
"key": "PR",
"name": "Project 1",
"projectTypeKey": "software"
},
"issuetype": {
"name": "Task",
"subtask": false
},
"status": {
"name": "DONE",
"statusCategory": {
"name": "Done",
"key": "done"
}
},
"priority": {
"name": "Medium",
"id": "3"
},
"creator": {
"displayName": "user1",
"emailAddress": "john_doe@example.com"
},
"assignee": {
"displayName": "user2",
"emailAddress": "john_doe@example.com"
},
"created": "2018-06-19T15:23:13.701+0300",
"updated": "2018-09-18T10:02:06.347+0300"
}
Resultado do script
A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Criar problema de alerta:
| Nome do resultado do script | Valor |
|---|---|
issue_key |
A chave abreviada exclusiva do problema recém-criado do Jira (por exemplo,
SEC-456). |
Criar problema
Use a ação Criar problema para criar um novo tíquete em um projeto do Jira.
Essa ação oferece várias opções de personalização, incluindo a capacidade de especificar componentes, rótulos e campos personalizados usando JSON, o que a torna adequada para fluxos de trabalho complexos de criação de tíquetes.
Essa ação não é executada em entidades do Google SecOps.
Entradas da ação
A ação Criar problema requer os seguintes parâmetros:
| Parâmetro | Descrição |
|---|---|
Project Key |
Obrigatório. A chave abreviada exclusiva do projeto do Jira em que o problema é criado
(como |
Summary |
Obrigatório. Um título ou resumo breve do problema. |
Description |
Opcional. Uma descrição detalhada do problema. |
Issue Type |
Obrigatório. O nome do tipo de problema (como |
Jira Username |
Opcional. O nome de usuário do Jira da pessoa que iniciou a ação. |
Assignee |
Opcional. O identificador do usuário a quem o problema foi atribuído. |
Components |
Opcional. Uma lista separada por vírgulas de componentes do Jira para associar ao problema. |
Labels |
Opcional. Uma lista de rótulos separados por vírgulas para adicionar ao problema. |
Custom Fields |
Opcional. Um objeto JSON que contém campos e valores adicionais a serem definidos durante
a criação (por exemplo, Os valores fornecidos nesse parâmetro têm prioridade e substituem outros mapeamentos de campo se houver um conflito. |
Saídas da ação
A ação Criar problema fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Indisponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Disponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Resultado JSON
O exemplo a seguir mostra a saída do resultado JSON recebida ao usar a ação Criar problema:
{
"summary": "Sample issue",
"description": "Create Enrich entities action using Insights API (IOC search). Write connector for alerts. In a couple of days we will have access to an instance.",
"project": {
"key": "PR",
"name": "Project 1",
"projectTypeKey": "software"
},
"issuetype": {
"name": "Task",
"description": "A task that needs to be done.",
"subtask": false
},
"status": {
"name": "DONE",
"statusCategory": {
"name": "Done",
"key": "done",
"colorName": "green"
}
},
"priority": {
"name": "Medium",
"id": "3"
},
"resolution": {
"name": "Done",
"description": "Work has been completed on this issue."
},
"creator": {
"displayName": "user1",
"emailAddress": "john_doe@example.com",
"active": true,
"timeZone": "Asia/Jerusalem"
},
"assignee": {
"displayName": "user2",
"emailAddress": "john_doe@example.com",
"active": true
},
"reporter": {
"displayName": "user1",
"emailAddress": "john_doe@example.com"
},
"labels": [
"Label1"
],
"attachment": [
{
"id": "1001",
"filename": "file.rar",
"mimeType": "binary/octet-stream",
"size": 15420,
"created": "2018-06-19T15:23:07.369+0300"
}
],
"created": "2018-06-19T15:23:13.701+0300",
"updated": "2018-09-18T10:02:06.347+0300",
"resolutiondate": "2018-09-18T10:02:06.340+0300",
"watches": {
"watchCount": 1,
"isWatching": false
}
}
Resultado do script
A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Criar problema:
| Nome do resultado do script | Valor |
|---|---|
issue_key |
A chave abreviada exclusiva do problema recém-criado do Jira (por exemplo,
SEC-789). |
Excluir problema
Use a ação Excluir problema para remover permanentemente um problema do Jira.
Essa ação geralmente é usada para limpar tíquetes duplicados ou remover dados de teste gerados durante o desenvolvimento do playbook.
Essa ação não é executada em entidades do Google SecOps.
Entradas da ação
A ação Excluir problema requer os seguintes parâmetros:
| Parâmetro | Descrição |
|---|---|
Issue Key |
Obrigatório. A chave de atalho exclusiva da solicitação do Jira a ser excluída (por exemplo,
|
Saídas da ação
A ação Excluir problema fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Indisponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Indisponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Resultado do script
A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Excluir problema:
| Nome do resultado do script | Valor |
|---|---|
success |
true ou false |
Fazer o download de anexos
Use a ação Fazer o download de anexos para recuperar todos os arquivos anexados a um
problema específico do Jira. Se um anexo for um arquivo .eml, a ação também
vai baixar todos os arquivos contidos nesse e-mail.
Essa ação não é executada em entidades do Google SecOps.
Entradas da ação
A ação Fazer o download de anexos requer os seguintes parâmetros:
| Parâmetro | Descrição |
|---|---|
Issue Key |
Obrigatório. A chave abreviada exclusiva do problema do Jira (por exemplo,
|
Download Path |
Opcional. O caminho local ou interno para a pasta em que a ação salva os anexos baixados. O formato necessário depende do tipo de implantação:
|
Download Attachments to the Case Wall |
Opcional. Se selecionada, a ação baixa os anexos do problema do Jira diretamente para o painel de casos atual do Google SecOps. Há uma limitação de tamanho para anexos adicionados ao Painel de Casos. Arquivos grandes podem não ser enviados. Essa configuração está desativada por padrão. |
Saídas da ação
A ação Fazer download de anexos fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Disponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Indisponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Disponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Resultado JSON
O exemplo a seguir mostra a saída do resultado JSON recebida ao usar a ação Fazer download de anexos:
[
{
"download_path": "downloads/Security_Evidence.eml",
"attachment_details": {
"id": "10007",
"filename": "Security_Evidence.eml",
"author": {
"displayName": "Security Analyst",
"emailAddress": "analyst@example.com",
"active": true,
"timeZone": "Asia/Calcutta"
},
"created": "2024-05-25T20:27:09.066+0530",
"size": 12049140,
"mimeType": "message/rfc822"
}
},
{
"download_path": "downloads/Logs_Attachment.txt",
"attachment_details": {
"id": "10005",
"filename": "Logs_Attachment.txt",
"author": {
"displayName": "System Admin",
"emailAddress": "admin@example.com",
"active": true,
"timeZone": "Asia/Calcutta"
},
"created": "2024-05-16T11:48:24.141+0530",
"size": 43,
"mimeType": "text/plain"
}
}
]
Resultado do script
A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Fazer download de anexos:
| Nome do resultado do script | Valor |
|---|---|
is_success |
true ou false |
Receber problemas
Use a ação Receber problemas para recuperar detalhes completos de um ou mais problemas do Jira.
Essa ação é útil para enriquecer os casos do Google SecOps com metadados de tíquetes atuais (como status, responsável e prioridade).
Essa ação não é executada em entidades do Google SecOps.
Entradas da ação
A ação Get Issues requer os seguintes parâmetros:
| Parâmetro | Descrição |
|---|---|
Issue Keys |
Obrigatório. Uma lista separada por vírgulas de chaves de problemas do Jira a serem buscadas (por exemplo,
|
Saídas da ação
A ação Receber problemas fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Indisponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Disponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Resultado JSON
O exemplo a seguir mostra a saída do resultado JSON recebida ao usar a ação Receber problemas:
{
"issues_details_list": [
{
"key": "TES-65",
"summary": "New summary",
"description": "Detailed description of the security incident.",
"project": {
"key": "TES",
"name": "test-project1",
"projectTypeKey": "software"
},
"issuetype": {
"name": "Bogue",
"subtask": false
},
"status": {
"name": "Fini",
"statusCategory": {
"name": "Terminé",
"key": "done"
}
},
"priority": {
"name": "Medium",
"id": "3"
},
"assignee": {
"displayName": "Vasil Daskalov",
"emailAddress": "vasil.daskalov@siemplify.co"
},
"creator": {
"displayName": "admin@siemplifylab.local",
"emailAddress": "admin@siemplifylab.local"
},
"created": "2021-08-31T12:15:22.089+0000",
"updated": "2021-11-11T13:16:50.552+0000",
"resolution": {
"name": "Terminé",
"description": "Ce ticket a été traité."
},
"labels": [],
"components": []
}
]
}
Resultado do script
A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Receber problemas:
| Nome do resultado do script | Valor |
|---|---|
issues_details_list |
Uma lista com os metadados completos dos problemas do Jira solicitados. |
Problemas de vinculação
Use a ação Vincular problemas para estabelecer uma relação entre vários problemas do Jira.
Essa ação é usada principalmente em playbooks para conectar incidentes de segurança relacionados ou rastrear dependências entre tíquetes de investigação.
Essa ação não é executada em entidades do Google SecOps.
Entradas da ação
A ação Link Issues requer os seguintes parâmetros:
| Parâmetro | Descrição |
|---|---|
Inward Issue ID |
Obrigatório. Uma lista separada por vírgulas de IDs de problemas internos. Por exemplo, se |
Outward Issue IDs |
Obrigatório. A chave abreviada da solicitação externa do Jira. Por exemplo, se |
Relation Type |
Obrigatório. O tipo de link a ser criado entre os problemas. Para encontrar uma lista de tipos de relação disponíveis, execute a ação Listar tipos de relação. O valor padrão é |
Saídas da ação
A ação Vincular problemas fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Indisponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Disponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Mensagens de saída
A ação Vincular problemas pode retornar as seguintes mensagens de saída:
| Mensagem de resposta | Descrição da mensagem |
|---|---|
A ação não encontrou os seguintes problemas de destino no Jira: ISSUE_IDS. |
A ação foi concluída |
Error executing action "Link Issues".
Reason: ERROR_REASON |
A ação falhou. Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais. |
Resultado do script
A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Vincular problemas:
| Nome do resultado do script | Valor |
|---|---|
success |
true ou false |
Listar problemas
Use a ação Listar problemas para pesquisar e recuperar uma lista de chaves de problemas do Jira com base em critérios de filtragem específicos.
Essa ação é útil para identificar tíquetes que correspondem a um contexto de alerta, evitando duplicações ou permitindo atualizações em massa em um playbook.
Essa ação não é executada em entidades do Google SecOps.
Entradas da ação
A ação Listar problemas fornece os seguintes parâmetros de filtragem opcionais. Se nenhum parâmetro for fornecido, a ação vai retornar todos os problemas acessíveis pelo usuário da integração.
| Parâmetro | Descrição |
|---|---|
Project Names |
Opcional. Uma lista separada por vírgulas de nomes de projetos para pesquisa. |
Summary |
Opcional. Se fornecido, a ação filtra os problemas pelo resumo ou título específico. |
Description |
Opcional. Se fornecida, a ação filtra os problemas pelo texto contido na descrição. |
Issue Types |
Opcional. Uma lista separada por vírgulas de tipos de problema (por exemplo,
O valor padrão é |
Priorities |
Opcional. Uma lista separada por vírgulas de níveis de prioridade para filtrar (por exemplo,
|
Created From |
Opcional. Se fornecida, a ação filtra os problemas criados nessa data ou depois dela
(no formato |
Updated From |
Opcional. Se fornecido, a ação filtra os problemas atualizados na data ou após ela
(no formato |
Assignees |
Opcional. Uma lista separada por vírgulas de identificadores de responsáveis para filtrar. |
Reporter |
Opcional. Uma lista separada por vírgulas de identificadores de repórteres para filtrar. |
Statuses |
Opcional. Uma lista separada por vírgulas de status de problemas para filtrar (por exemplo,
|
Created Before |
Opcional. A data de criação mais recente para filtrar. Formato: |
Custom JQL |
Opcional. Consulta JQL personalizada. Se fornecido, todos os outros filtros serão ignorados. |
Saídas da ação
A ação Listar problemas fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Indisponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Disponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Resultado JSON
O exemplo a seguir mostra a saída do resultado JSON recebida ao usar a ação Listar problemas:
[
"PR-123",
"PR-124",
"SEC-789"
]
Resultado do script
A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Listar problemas:
| Nome do resultado do script | Valor |
|---|---|
issues |
Uma lista com as chaves de atalho exclusivas dos problemas do Jira encontrados. |
Listar tipos de relação
Use a ação Listar tipos de relação para recuperar uma lista de todos os tipos de relação de link disponíveis configurados na sua instância do Jira.
Essa ação é útil para validar valores de entrada válidos para a ação Vincular problemas.
Essa ação não é executada em entidades do Google SecOps.
Entradas da ação
A ação Listar tipos de relação requer os seguintes parâmetros:
| Parâmetro | Descrição |
|---|---|
Filter Key |
Opcional. O campo usado para filtrar os tipos de relação. Se a Lógica de filtro estiver definida como Os valores possíveis são os seguintes:
O valor padrão é |
Filter Logic |
Opcional. O operador lógico aplicado ao filtro. Os valores possíveis são os seguintes:
O valor padrão é |
Filter Value |
Opcional. O valor de string específico usado para filtragem com base nos Se nenhum valor for fornecido, o filtro não será aplicado, mesmo que uma chave e uma lógica sejam selecionadas. |
Max Records To Return |
Opcional. O número máximo de registros a serem retornados nos resultados. O valor padrão é |
Saídas da ação
A ação Listar tipos de relação fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Disponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Disponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Tabela do painel de casos
A ação Listar tipos de relação fornece a seguinte tabela:
Nome da tabela: Available Relation
Colunas da tabela:
- Nome
- Inward
- Para fora
Resultado JSON
O exemplo a seguir mostra a saída do resultado JSON recebida ao usar a ação Listar tipos de relação:
[{
"id": "10000",
"name": "Blocks",
"inward": "is blocked by",
"outward": "blocks"
}]
Mensagens de saída
A ação Listar tipos de relação pode retornar as seguintes mensagens de saída:
| Mensagem de resposta | Descrição da mensagem |
|---|---|
|
A ação foi concluída. |
Error executing action "List Relation types".
Reason: ERROR_REASON |
A ação falhou. Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais. |
Resultado do script
A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Listar tipos de relação:
| Nome do resultado do script | Valor |
|---|---|
is_success |
true ou false |
Ping
Use a ação Ping para testar a conectividade com o Jira.
Essa ação não é executada em entidades do Google SecOps.
Entradas da ação
Nenhuma.
Saídas da ação
A ação Ping fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Indisponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Indisponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Resultado do script
A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Ping:
| Nome do resultado do script | Valor |
|---|---|
success |
true ou false |
Atualizar problema
Descrição
Atualizar um problema. Para a nova API do Jira, a ação tenta encontrar uma correspondência para o responsável para atribuir um problema com base no e-mail do usuário e, em seguida, tenta com o campo displayName.
Parâmetros
| Parâmetro | Tipo | Valor padrão | É obrigatório | Descrição |
|---|---|---|---|---|
| Chave do problema | String | N/A | Sim | A chave do problema a ser atualizado. |
| Status | String | N/A | Não | Especifique o nome da transição relevante para mudar o status do problema. |
| Resumo | String | N/A | Não | O novo resumo do problema. |
| Descrição | String | N/A | Não | A nova descrição do problema. |
| Tipo de problema | String | N/A | Não | O novo tipo do problema. |
| Responsável | String | N/A | Não | O novo responsável pelo problema. |
| Nome de usuário do Jira | String | N/A | Não | O nome de usuário do Jira de quem iniciou a ação. |
| Componentes | String | N/A | Não | O campo de componentes do problema. Esse parâmetro aceita vários valores como uma string separada por vírgulas. |
| Campos personalizados | JSON | NA | Não | Especifique um objeto JSON que contenha todos os campos e valores usados durante a criação do problema. Observação: esse parâmetro tem prioridade, e todos os campos são substituídos pelo valor fornecido para ele. Exemplo: {"field":"value"} |
| Rótulos | String | N/A | Não | O campo de componentes do problema. Esse parâmetro aceita vários valores como uma string separada por vírgulas. |
Corrida
Essa ação é executada em todas as entidades.
Resultados da ação
Resultado do script
| Nome do resultado do script | Opções de valor | Exemplo |
|---|---|---|
| Sucesso | Verdadeiro/falso | Success:False |
Resultado do JSON
{
"comment":
{
"total": 0,
"startAt": 0,
"comments": [],
"maxResults": 0
},
"creator":
{
"displayName": "user1",
"name": "user1",
"self": "",
"avatarUrls":
{
"24x24": "",
"16x16": "",
"48x48": "",
"32x32": ""
},
"emailAddress": "john_doe@example.com",
"key": "user1user",
"active": true,
"timeZone": "Asia/Jerusalem",
"accountId": "0"
},
"aggregatetimeestimate": null,
"labels": ["Label1"],
"aggregatetimespent": null,
"watches":
{
"self": "",
"watchCount": 1,
"isWatching": false
},
"assignee":
{
"displayName": "user2",
"name": "user2",
"self": "",
"avatarUrls":
{
"24x24": "",
"16x16": "",
"48x48": "",
"32x32": ""
},
"emailAddress": "john_doe@example.com",
"key": "user2",
"active": true,
"timeZone": "Asia/Jerusalem",
"accountId": ""
},
"lastViewed": "2019-01-22T10:14:02.910+0200",
"issuelinks": [],
"Worklog":
{
"worklogs": [],
"total": 0,
"startAt": 0,
"maxResults": 20
},
"aggregateprogress":
{
"progress": 0,
"total": 0
},
"Priority":
{
"iconUrl": "",
"self": "",
"name": "Medium",
"id": "3"
},
"votes":
{
"hasVoted": false,
"self": "",
"votes": 0
},
"workratio": -1,
"fixVersions": [],
"environment": null,
"timespent": null,
"attachment":
[{
"mimeType": "binary/octet-stream",
"created": "2018-06-19T15:23:07.369+0300",
"self": "",
"author":
{
"displayName": "user1",
"name": "user1",
"self": "",
"avatarUrls":
{
"24x24": "",
"16x16": "",
"48x48": "",
"32x32": ""
},
"emailAddress": "john_doe@example.com",
"key": "user1",
"active": true,
"timeZone": "Asia/Jerusalem",
"accountId": "0"
},
"filename": "file.rar",
"content": "",
"id": "0",
"size": 0
}],
"progress":
{
"progress": 0,
"total": 0
},
"duedate": null,
"status":
{
"statusCategory":
{
"name": "Done",
"self": "",
"id": 3,
"key": "done",
"colorName": "green"
},
"description": "",
"self": "",
"iconUrl": "",
"id": "0",
"name": "DONE"
},
"updated": "2018-09-18T10:02:06.347+0300",
"subtasks": [],
"description": "Create Enrich entities action using Insights API (IOC search)\\n\\nWrite connector for laerts\\n\\nIn a couple of days we will have access to an instance",
"reporter":
{
"displayName": "user1",
"name": "user1",
"self": "",
"avatarUrls":
{
"24x24": "",
"16x16": "",
"48x48": "",
"32x32": ""
},
"emailAddress": "john_doe@example.com",
"key": "user1",
"active": true,
"timeZone": "Asia/Jerusalem",
"accountId": "0"
},
"timeoriginalestimate": null,
"aggregatetimeoriginalestimate": null,
"created": "2018-06-19T15:23:13.701+0300",
"versions": [],
"resolutiondate": "2018-09-18T10:02:06.340+0300",
"summary": "Sample issue",
"project":
{
"name": "Project 1",
"self": "",
"projectTypeKey": "software",
"avatarUrls":
{
"24x24": "",
"16x16": "",
"48x48": "",
"32x32": ""
},
"key": "PR",
"id": "0"
},
"timetracking": {},
"components": [],
"issuetype":
{
"name": "Task",
"self": "",
"iconUrl": "",
"subtask": false,
"avatarId": 10318,
"id": "10002",
"description": "A task that needs to be done."
},
"security": null,
"resolution":
{
"id": "10000",
"self": "",
"description": "Work has been completed on this issue.",
"name": "Done"
},
"timeestimate": null
}
Fazer upload do anexo
Descrição
Adicione um anexo a um problema.
Parâmetros
| Parâmetro | Tipo | Valor padrão | É obrigatório | Descrição |
|---|---|---|---|---|
| Chave do problema | String | N/A | Sim | Caminhos de arquivos. |
| Caminhos de arquivos | String | N/A | Sim | Os caminhos absolutos dos arquivos para upload, separados por vírgulas. O formato necessário depende do tipo de implantação:
|
Corrida
Essa ação é executada em todas as entidades.
Resultados da ação
Resultado do script
| Nome do resultado do script | Opções de valor | Exemplo |
|---|---|---|
| is_success | Verdadeiro/falso | is_success:False |
Resultado do JSON
N/A
Pesquisar usuários
Pesquise usuários no Jira.
Entidades
Essa ação não é executada em entidades.
Entradas da ação
Para configurar a ação, use os seguintes parâmetros:
| Parâmetros | |
|---|---|
User Email Addresses |
Opcional
Lista separada por vírgulas de endereços de e-mail para retornar os usuários. |
User Names |
Opcional
Lista separada por vírgulas de nomes de usuários para retornar os usuários. |
Project |
Opcional
Nome do projeto em que os endereços de e-mail serão pesquisados. Se fornecido, apenas
|
Saídas da ação
| Tipo de saída da ação | |
|---|---|
| Anexo do Painel de Casos | N/A |
| Link do Painel de Casos | N/A |
| Tabela do painel de casos | N/A |
| Tabela de enriquecimento | N/A |
| Resultado JSON | Disponível |
| Resultado do script | Disponível |
Resultado do script
| Nome do resultado do script | Valor |
|---|---|
| is_success | Verdadeiro/falso |
Resultado JSON
[
{
"Entity": "example",
"EntityResult": {
"_resource": "user?accountId={0}",
"_options": {
"server": "https://siemplify.atlassian.net",
"auth_url": "/rest/auth/1/session",
"context_path": "/",
"rest_path": "api",
"rest_api_version": "2",
"agile_rest_path": "agile",
"agile_rest_api_version": "1.0",
"verify": false,
"resilient": true,
"async": false,
"async_workers": 5,
"client_cert": null,
"check_update": false,
"delay_reload": 0,
"headers": {
"Cache-Control": "no-cache",
"Content-Type": "application/json",
"X-Atlassian-Token": "no-check"
}
},
"_session": "<jira.resilientsession.ResilientSession object>",
"_base_url": "{server}/rest/{rest_path}/{rest_api_version}/{path}",
"raw": {
"self": "https://siemplify.atlassian.net/rest/api/2/user?accountId=example-account-id",
"accountId": "example-account-id",
"accountType": "atlassian",
"emailAddress": "example.user",
"avatarUrls": {
"48x48": "https://example.com"
},
"displayName": "Example",
"active": true,
"timeZone": "UTC",
"locale": "en_US"
},
"self": "https://siemplify.atlassian.net/rest/api/2/user?accountId=example-account-id",
"accountId": "example-account-id",
"accountType": "atlassian",
"emailAddress": "example.user",
"avatarUrls": "<jira.resources.PropertyHolder object>",
"displayName": "Example",
"active": true,
"timeZone": "UTC",
"locale": "en_US"
}
}
]
Mural do caso
A ação fornece as seguintes mensagens de saída:
| Mensagem de resposta | Descrição da mensagem |
|---|---|
|
Ação concluída. |
Error executing action "Search Users".
Reason: ERROR_REASON |
Falha na ação. Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais. |
Configuração de mapeamento de motivos de fechamento
O parâmetro Closed Reason Mapping requer uma estrutura JSON. É possível mapear
valores estáticos ou transmitir nomes de campos dinâmicos do Jira (por exemplo, resolution,
customfield_10010). Se um motivo dinâmico extraído for inválido ou estiver ausente, o
job usará automaticamente o mapeamento Fallback especificado.
Exemplo de configuração JSON:
{
"Done": {
"reason": "Maintenance",
"root_cause": "Other"
},
"Fallback": {
"reason": "Maintenance",
"root_cause": "Other"
}
}
Conectores
Conector do Jira
Descrição
Busque problemas do Jira para o Google SecOps.
Configurar o conector do Jira no Google SecOps
Para instruções detalhadas sobre como configurar um conector no Google SecOps, consulte Como configurar o conector.
Parâmetros do conector
Use os seguintes parâmetros para configurar o conector:
| Parâmetro | Descrição |
|---|---|
DeviceProductField |
Obrigatório. O nome do campo usado para determinar o produto do dispositivo. O valor padrão é |
EventClassId |
Opcional. O nome do campo usado para determinar o nome do evento (subtipo). O valor padrão é |
PythonProcessTimeout |
Obrigatório. O limite de tempo limite (em segundos) para o processo do Python que executa o script atual. O valor padrão é |
API Root |
Obrigatório. A raiz da API da instância do Jira. O valor padrão é |
Username |
Opcional. O nome de usuário (e-mail) usado para se conectar ao Jira. O requisito para esse parâmetro depende do método de autenticação escolhido:
Para mais informações sobre métodos de autenticação, consulte Antes de começar. |
API Token |
Obrigatório. A credencial de autenticação usada para se conectar ao Jira. |
Days Backwards |
Opcional. Número máximo de dias anteriores para extrair alertas. O valor padrão é |
Max Tickets Per Cycle |
Opcional. Número máximo de tíquetes a serem buscados e processados em um ciclo do conector. O valor padrão é |
Project Names |
Opcional. Nomes de projetos separados por vírgula. |
Issue Statuses |
Opcional. Status dos problemas separados por vírgula. |
Assignees |
Opcional. Nomes completos dos usuários separados por vírgula. |
Issue Types |
Opcional. Tipos de problema separados por vírgula. |
Issue Priorities |
Opcional. Prioridades de problemas separadas por vírgula. |
Issue Components |
Opcional. Componentes do problema separados por vírgula. |
Proxy Server Address |
Opcional. O endereço do servidor proxy a ser usado. |
Proxy Username |
Opcional. O nome de usuário do proxy para autenticação. |
Proxy Password |
Opcional. A senha do proxy para autenticação. |
Environment Field Name |
Opcional. Descreve o nome do campo em que o nome do ambiente é armazenado. Se o campo de ambiente não for encontrado, o ambiente será o padrão. O valor padrão é |
Environment Regex Pattern |
Opcional. Um padrão de regex para ser executado no valor encontrado no campo "Nome do campo de ambiente". Usado para permitir que o usuário manipule o campo de ambiente usando a lógica regex. O valor padrão é |
Use Jira Project as Environment |
Opcional. Use o projeto do Jira como ambiente ou use o nome do campo de ambiente como ambiente. |
Verify SSL |
Obrigatório. Se selecionada, a integração valida o certificado SSL ao se conectar ao servidor do Jira. Ativado por padrão. |
Regras do conector
Suporte a proxy
O conector é compatível com proxy.
Lista dinâmica e lista de bloqueio
O conector é compatível com regras dinâmicas de lista de permissões e de bloqueio apenas para marcadores específicos no Jira.
Jobs
Trabalho de encerramento de sincronização
Descrição
Fechar tickets no Jira se os alertas ou casos correspondentes do Google SecOps forem fechados e sincronizar o status de fechamento e os campos personalizados do Jira com o Google SecOps.
Parâmetros
| Parâmetro | Descrição |
|---|---|
API Root |
Obrigatório. URL raiz da API da instância do Jira. O valor padrão é |
Username |
Opcional. O nome de usuário (e-mail) usado para se conectar ao Jira. O requisito para esse parâmetro depende do método de autenticação escolhido:
|
API Token |
Obrigatório. A credencial de autenticação usada para se conectar ao Jira. |
Project Names |
Obrigatório. Nomes de projetos do Jira separados por vírgula que o job deve monitorar. O valor padrão é |
Environment |
Opcional. O nome do ambiente. |
Days Backwards |
Obrigatório. Número máximo de dias para sincronizar o status dos tíquetes anteriores. O valor padrão é |
Job Scope |
Obrigatório. Escopo da sincronização de jobs. Opções:
O valor padrão é |
Supported Closed Statuses |
Obrigatório. Lista separada por vírgulas de status fechados do Jira tratados como fechados no Google SecOps (por exemplo,
O valor padrão é |
Closed Reason Mapping |
Obrigatório. Dicionário JSON que mapeia os status de fechamento do Jira para os motivos e as causas raiz de fechamento do Google SecOps. Oferece suporte ao mapeamento para campos personalizados e exige uma chave |
Custom Fields Mapping |
Opcional. Objeto JSON que define mapeamentos entre os nomes de exibição de campos personalizados do Google SecOps e os nomes de campos personalizados do Jira para sincronização de dados do Jira com o Google SecOps. Para detalhes e exemplos de configuração, consulte Motivo do fechamento e mapeamento de campos personalizados. |
Motivo do encerramento e mapeamento de campos personalizados
Use os detalhes e exemplos a seguir para configurar mapeamentos personalizados para motivos de fechamento e campos personalizados.
Mapeamento de motivos de fechamento
Define como os status de encerramento do Jira são mapeados para os motivos e as causas raiz de encerramento de casos ou alertas do Google SecOps.
-
Exemplo de mapeamento JSON padrão:
{ "Done": { "reason": "Malicious", "root_cause": "Other" }, "Fallback": { "reason": "Maintenance", "root_cause": "Other" } }Se um tíquete do Jira for fechado com o status
Done, o caso ou alerta do Google SecOps será fechado com o motivoMaliciouse a causa raizOther. Se o tíquete for fechado com um status não mapeado explicitamente (por exemplo,Closed), o sistema usará as configurações padrão do sistema deFallback. -
Exemplo de mapeamento de campo personalizado:
Se você tiver campos personalizados no Jira chamados
Jira reasoneJira rootcause, configure o mapeamento JSON da seguinte maneira:{ "Done": { "reason": "Jira reason", "root_cause": "Jira rootcause" }, "Fallback": { "reason": "Maintenance", "root_cause": "Other" } }Requisitos:
- O valor extraído do campo personalizado
Jira reasonprecisa ser resolvido em uma das seguintes strings exatas:Malicious,Maintenance,InconclusiveouNot malicious. Caso contrário, o sistema vai reverter para os valoresFallback. - Para o escopo de job
Case, os valores de causa raiz precisam ser configurados nas definições de administrador. Para o escopo de jobAlert, nenhuma configuração de administrador é necessária, e qualquer valor fornecido no campo personalizado é aceito.
- O valor extraído do campo personalizado
Mapeamento de campos personalizados
Esse mapeamento funciona exclusivamente para sincronizar valores de campos personalizados do Jira com o Google SecOps. Especifique pares de chave-valor em que a chave é o nome de exibição do campo personalizado do Google SecOps e o valor é o nome do campo personalizado do Jira:
{
"SOAR Custom field": "Jira ticket id"
}
Neste exemplo, o valor do campo Jira ticket id do Jira é sincronizado diretamente com o campo SOAR Custom field do Google SecOps.
Trabalho de sincronização de comentários
Descrição
Sincronize os comentários entre o caso do Google SecOps e o tíquete correspondente do Jira. A sincronização é bidirecional, ou seja, do Google SecOps para o Jira e do Jira para o Google SecOps.
Quando o job cria um comentário, ele aplica o prefixo. Se um usuário do Google SecOps comentar no caso do Google SecOps, o job vai criar e sincronizar o comentário do usuário no tíquete do Jira correspondente usando o parâmetro Prefixo de comentário do Chronicle.
Esse recurso foi adicionado por dois motivos:
- Visibilidade.
- Impedir que os comentários adicionados pelo job sejam sincronizados novamente com o outro lado, causando um loop.
Parâmetros
| Parâmetro | Descrição |
|---|---|
API Root |
Obrigatório. URL raiz da API da instância do Jira. O valor padrão é |
Username |
Opcional. O nome de usuário (e-mail) usado para se conectar ao Jira. O requisito para esse parâmetro depende do método de autenticação escolhido:
|
API Token |
Obrigatório. A credencial de autenticação usada para se conectar ao Jira. |
Project Names |
Obrigatório. Nomes de projetos do Jira separados por vírgula que o job deve monitorar. O valor padrão é |
Environment |
Opcional. O nome do ambiente. |
Siemplify Comment Prefix |
Obrigatório. Prefixo adicionado pelo job de sincronização aos comentários criados para tíquetes do Jira. O valor padrão é |
Jira Comment Prefix |
Obrigatório. Prefixo adicionado pelo job de sincronização aos comentários do caso de alerta do Google SecOps. O valor padrão é |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.