Jira
Versão da integração: 41.0
Configurar o Jira para trabalhar com o Google Security Operations
Criar um token de API
Crie um token de API na sua conta da Atlassian:
- Faça login na sua conta da Atlassian.
- Clique em Criar um token de API.
- Na caixa de diálogo exibida, insira um rótulo memorável e conciso para seu token e clique em Criar.
- Clique em Copiar para a área de transferência e cole o token em um lugar seguro para salvar.
Configurar a integração do Jira no Google SecOps
Para instruções detalhadas sobre como configurar uma integração no Google SecOps, consulte Configurar integrações.
Parâmetros de integração
Use os seguintes parâmetros para configurar a integração:
| Nome de exibição do parâmetro | Tipo | Valor padrão | É obrigatório | Descrição |
|---|---|---|---|---|
| Nome da instância | String | N/A | Não | Nome da instância em que você pretende configurar a integração. |
| Descrição | String | N/A | Não | Descrição da instância. |
| Raiz da API | String | https://{jira_address} | Sim | Endereço da instância do Jira. |
| Nome de usuário | String | N/A | Sim | Um nome de usuário que deve ser usado para se conectar ao Jira. |
| Token da API | Senha | N/A | Sim | Token gerado no console do Jira. Observação:esse parâmetro pode ser usado para conter a string "Senha" em caso de autenticação local, usando a combinação de nome de usuário e senha. |
| Verificar SSL | Caixa de seleção | Desmarcado | Não | Use esta caixa de seleção se a conexão com o Jira exigir uma verificação SSL. |
| Executar remotamente | Caixa de seleção | Desmarcado | Não | Marque a caixa para executar a integração configurada remotamente. Depois de marcada, a opção aparece para selecionar o usuário remoto (agente). |
Ações
Adicionar comentário
Descrição
Compor comentários em um problema é uma maneira eficaz de documentar outros elementos sobre ele e participar com os membros da equipe.
Parâmetros
| Parâmetros | Tipo | Valor padrão | É obrigatório | Descrição |
|---|---|---|---|---|
| Chave do problema | String | N/A | Sim | A chave do problema. Exemplo: ABC-123 |
| Comentário | String | N/A | Sim | O conteúdo do comentário a ser adicionado ao problema. |
Executar em
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 |
|---|---|---|
| comment_id | N/A | N/A |
Resultado do JSON
N/A
Atribuir problema
Descrição
Atribua um problema a um usuário específico. O nome de usuário do Jira pode ser, por exemplo, nome ou e-mail. Para a nova API Jira, a ação tenta encontrar uma correspondência para o responsável e 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. |
| Responsável | String | N/A | Sim | O novo responsável pela questão. |
| Nome de usuário do Jira | String | N/A | Não | O nome de usuário do Jira do iniciador da ação. |
Executar em
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 |
Criar problema de alerta
Descrição
Atribua um incidente a um grupo específico.
Parâmetros
| Parâmetro | Tipo | Valor padrão | É obrigatório | Descrição |
|---|---|---|---|---|
| Chave do projeto | String | N/A | Sim | A chave do projeto em que o problema será criado. |
| Resumo | String | N/A | Sim | O resumo do problema. |
| Tipo de problema | String | N/A | Sim | O tipo do problema. |
Executar em
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 |
|---|---|---|
| issue_key | N/A | N/A |
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
}
Criar problema
Descrição
Cria um problema em um projeto. O nome de usuário do Jira pode ser, por exemplo, "name" ou "mail". Para a nova API Jira, a ação tenta encontrar uma correspondência para o responsável e 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 projeto | String | N/A | Sim | A chave do projeto em que um problema será criado. |
| Resumo | String | N/A | Sim | O resumo do problema. |
| Descrição | String | N/A | Sim | A descrição do problema. |
| Tipo de problema | String | N/A | Sim | O tipo do problema. |
| Responsável | String | N/A | Não | O novo responsável pela questão. |
| Nome de usuário do Jira | String | N/A | Não | O nome de usuário do Jira do iniciador da ação. |
| Componentes | String | N/A | Não | O campo "components" do problema. Esse parâmetro aceita vários valores como uma string separada por vírgulas. |
| Rótulos | String | N/A | Não | O campo "components" do problema. Esse parâmetro aceita vários valores como uma string separada por vírgulas. |
| Campos personalizados | JSON | N/A | Não | Especifique um objeto JSON que contenha todos os campos e valores que serão 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"} |
Executar em
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 |
|---|---|---|
| issue_key | N/A | N/A |
Resultado do JSON
N/A
Excluir problema
Descrição
Excluir um problema.
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 excluído. |
Executar em
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
N/A
Baixar anexos
Descrição
Receba uma chave de problema e baixe todos os anexos. Se um deles for um arquivo EML, faça o download também dos anexos.
Parâmetros
| Parâmetro | Tipo | Valor padrão | É obrigatório | Descrição |
|---|---|---|---|---|
| Chave do problema | String | N/A | Sim | A chave do problema. |
| Caminho de download | String | N/A | Não | 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:
|
| Baixar anexos no Painel de casos | Caixa de seleção | Desmarcado | Não | Se ativada, a ação baixa os anexos do problema do Jira para o mural de alertas do Google SecOps atual. |
Executar em
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
{
"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
}
Receber problemas
Descrição
Receba os detalhes de um problema por chaves.
Parâmetros
| Parâmetro | Tipo | Valor padrão | É obrigatório | Descrição |
|---|---|---|---|---|
| Chaves de problema | String | N/A | Sim | As chaves dos problemas a serem buscados, separadas por vírgula. |
Executar em
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 |
|---|---|---|
| issues_details_list | Verdadeiro/Falso | issues_details_list: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
}
Listar problemas
Descrição
Pesquise problemas.
Parâmetros
| Parâmetro | Tipo | Valor padrão | É obrigatório | Descrição |
|---|---|---|---|---|
| Nomes de projetos | String | N/A | Não | Os nomes dos projetos em que pesquisar, separados por vírgulas. |
| Resumo | String | N/A | Não | O resumo a ser filtrado. |
| Descrição | String | N/A | Não | A descrição para filtrar. |
| Tipos de problema | String | Bug | Não | Os tipos de problemas para filtrar. |
| Prioridades | String | N/A | Não | A prioridade para filtrar. |
| Criado com base em | String | N/A | Não | A data de criação mais antiga para filtrar. Formato: AAAA/MM/DD. |
| Atualizado de | String | N/A | Não | A data de atualização mais antiga para filtrar. Formato: AAAA/MM/DD. |
| Destinatários | String | N/A | Não | Os nomes dos destinatários a serem filtrados, separados por vírgulas. |
| Origem do relatório | String | N/A | Não | O nome dos repórteres para filtrar, separados por vírgulas. |
| status | String | N/A | Não | Os status a serem filtrados, separados por vírgulas. |
Executar em
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 |
|---|---|---|
| issues | Verdadeiro/Falso | issues:False |
Resultado do JSON
[ "PR-123", "PR-124"]
Ping
Descrição
Verifica se o usuário tem uma conexão com o Jira pelo dispositivo dele.
Parâmetros
Essa ação não tem parâmetros de entrada.
Executar em
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
N/A
Atualizar problema
Descrição
Atualize um problema. Para a nova API Jira, a ação tenta encontrar uma correspondência para o responsável e atribuir um problema com base no e-mail do usuário. Em seguida, ela 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 problema para o novo status desejado. |
| 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 pela questão. |
| Nome de usuário do Jira | String | N/A | Não | O nome de usuário do Jira do iniciador da ação. |
| Componentes | String | N/A | Não | O campo "components" 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 "components" do problema. Esse parâmetro aceita vários valores como uma string separada por vírgulas. |
Executar em
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 de 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 a serem enviados, separados por vírgulas. O formato necessário depende do tipo de implantação:
|
Executar em
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
Problemas de vinculação
Descrição
Vincule vários problemas no Jira.
Parâmetros
| Parâmetro | Tipo | Valor padrão | É obrigatório | Descrição |
|---|---|---|---|---|
| ID do problema de entrada | String | N/A | Sim | Especifique uma lista separada por vírgulas de IDs de problemas internos. Por exemplo, se o tipo de relação for "Bloqueia", na UI você verá o problema com a relação "bloqueado por". |
| IDs de problemas externos | CSV | N/A | Sim | Especifique o ID do problema externo. Por exemplo, se o tipo de relação for "Bloqueia", na UI você verá esse problema com a relação "bloqueia". |
| Tipo de relação | String | Bloqueios | Sim | Especifique o tipo de relação que será usado para vincular vários problemas. Uma lista de todos os tipos de relação disponíveis está na ação "List Relation Types". |
Executar em
Essa ação não é executada em 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
Painel de casos
| Tipo de resultado | Valor / Descrição | Tipo |
|---|---|---|
| Mensagem de saída* | A ação não pode falhar nem interromper a execução de um playbook: Se o código de status 201 for informado para alguns problemas (is_success = true): "O problema "{source issue}" foi vinculado aos seguintes problemas no Jira: {destination issues}". Se o código de status 404 e o erro "O problema não existe" forem informados para um problema (is_success=true): "A ação não conseguiu encontrar os seguintes problemas de destino no Jira: {jira issues that were not found}". Se o código de status 404 e o erro "O problema não existe" forem informados para todos os problemas (is_success=false): "Nenhum dos problemas de destino foi encontrado no Jira". A ação precisa falhar e interromper a execução de um playbook: Se um erro fatal, como credenciais incorretas, falta de conexão com o servidor ou outro problema for informado: "Erro ao executar a ação". Motivo: {0}''.format(error.Stacktrace) Se o problema de origem não for encontrado: "Erro ao executar a ação". Motivo: o problema de origem "{source issue}" não foi encontrado no Jira. Verifique a ortografia". Se o código de status for 404 e não for o erro "O problema não existe" para pelo menos um: "Erro ao executar a ação". Motivo: {error messages}. |
Geral |
Listar tipos de relações
Descrição
Liste os tipos de relação disponíveis no Jira.
Parâmetros
| Parâmetro | Tipo | Valor padrão | É obrigatório | Descrição |
|---|---|---|---|---|
| Chave de filtro | DDL | Selecione uma opção. Valores possíveis:
|
Não | Especifique a chave que precisa ser usada para filtrar {item type}. |
| Lógica de filtro | DDL | Não especificado Valores possíveis:
|
Não | Especifique qual lógica de filtro deve ser aplicada. A lógica de filtragem está funcionando com base no valor fornecido no parâmetro "Chave de filtro". |
| Valor do filtro | String | N/A | Não | Especifique o valor que será usado no filtro. Se "Igual a" estiver selecionado, a ação vai tentar encontrar a correspondência exata entre os resultados. Se a opção "Contém" estiver selecionada, a ação vai tentar encontrar resultados que contenham a substring especificada. Se nada for fornecido nesse parâmetro, o filtro não será aplicado. A lógica de filtragem está funcionando com base no valor fornecido no parâmetro "Chave de filtro". |
| Número máximo de registros a serem retornados | Número inteiro | 50 | Não | Especifique o número de registros a serem retornados. Se nada for fornecido, a ação vai retornar 50 registros. |
Executar em
Essa ação não é executada em 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
[{
"id": "10000",
"name": "Blocks",
"inward": "is blocked by",
"outward": "blocks",
"self": "http://172.30.201.69:8080/rest/api/2/issueLinkType/10000"
}]
Painel de casos
| Tipo de resultado | Valor / Descrição | Tipo |
|---|---|---|
| Mensagem de saída* | A ação não pode falhar nem interromper a execução de um playbook: Se os dados estiverem disponíveis (is_success = true): "Tipos de relação encontrados com sucesso para os critérios fornecidos no Jira". Se os dados não estiverem disponíveis (is_success=false): "Nenhum tipo de relação foi encontrado para os critérios fornecidos no Jira" Se o parâmetro "Valor do filtro" estiver vazio (is_success=true): "O filtro não foi aplicado porque o parâmetro "Valor do filtro" está vazio." A ação precisa falhar e interromper a execução de um playbook: Se o parâmetro "Chave de filtro" estiver definido como "Selecionar Um" e a "Lógica de filtro" estiver definida como "Igual a" ou "Contém": Erro ao executar a ação "{nome da ação}". Motivo: é necessário selecionar um campo no parâmetro "Chave de filtro". Se um valor inválido for fornecido para "Número máximo de registros a serem retornados": "Erro ao executar a ação "{nome da ação}". Motivo: "Um valor inválido foi fornecido para "Número máximo de registros a serem retornados": . É preciso informar um número positivo"." Se houver um erro fatal, como credenciais incorretas, sem conexão com o servidor, outro erro será informado: "Erro ao executar a ação "{nome da ação}". Motivo: {0}''.format(error.Stacktrace) |
Geral |
| Tabela do painel de casos | Nome da tabela:AvailableRelation Colunas da tabela:
|
Geral |
Pesquisar usuários
Pesquise usuários no Jira.
Entidades
Essa ação não é executada em entidades.
Entradas de ação
Para configurar a ação, use os seguintes parâmetros:
| Parâmetros | |
|---|---|
User Email Addresses |
Opcional
Lista de endereços de e-mail separados por vírgulas para retornar os usuários. |
User Names |
Opcional
Lista separada por vírgulas de nomes de usuário 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 de 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"
}
}
]
Painel de casos
A ação fornece as seguintes mensagens de saída:
| Mensagem de resposta | Descrição da mensagem |
|---|---|
|
A ação foi 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. |
Conectores
Conector do Jira
Descrição
Extrair 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 Configurar o conector.
Parâmetros do conector
Use os seguintes parâmetros para configurar o conector:
| Parâmetro | Tipo | Valor padrão | É obrigatório | Descrição |
|---|---|---|---|---|
| DeviceProductField | String | device_product | Sim | O nome do campo usado para determinar o produto do dispositivo. |
| EventClassId | String | nome | Não | O nome do campo usado para determinar o nome do evento (subtipo). |
| PythonProcessTimeout | String | 60 | Sim | O limite de tempo (em segundos) para o processo Python que executa o script atual. |
| Raiz da API | String | https://{jira_address} | Sim | A raiz da API da instância do Jira. |
| Nome de usuário | String | N/A | Sim | N/A |
| Token da API | Senha | N/A | Sim | Token gerado no console do Jira. Observação:esse parâmetro pode ser usado para conter a string "Senha" em caso de autenticação local, usando a combinação de nome de usuário e senha. |
| Dias para trás | Número inteiro | 5 | Não | Número máximo de dias para buscar alertas. |
| Máximo de tíquetes por ciclo | Número inteiro | 10 | Não | Número máximo de tíquetes a serem buscados e processados em um ciclo de conector. |
| Nomes de projetos | String | N/A | Não | Nomes de projetos separados por vírgula. |
| Status do problema | String | N/A | Não | Status dos problemas separados por uma vírgula. |
| Destinatários | String | N/A | Não | Nomes completos dos usuários separados por vírgula. |
| Tipos de problema | String | N/A | Não | Tipos de problema separados por vírgula. |
| Prioridades de problemas | String | N/A | Não | Prioridades de problemas separadas por vírgula. |
| Componentes do problema | String | N/A | Não | Componentes do problema separados por vírgula. |
| Endereço do servidor proxy | String | N/A | Não | O endereço do servidor proxy a ser usado. |
| Nome de usuário do proxy | String | N/A | Não | O nome de usuário do proxy para autenticação. |
| Senha do proxy | Senha | N/A | Não | A senha do proxy para autenticação. |
| Nome do campo de ambiente | String | "" | Não | 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. |
| Padrão de regex do ambiente | String | .* | Não | Um padrão de regex a ser executado no valor encontrado no campo "Nome do campo de ambiente". O padrão é ".*" para capturar tudo e retornar o valor sem alterações. Usado para permitir que o usuário manipule o campo de ambiente usando a lógica de regex. Se o padrão de regex for nulo ou vazio, ou se o valor do ambiente for nulo, o resultado final será o ambiente padrão. |
Regras de 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 rótulos específicos no Jira.
Jobs
Trabalho de encerramento da sincronização
Descrição
Feche os tíquetes no Jira se os alertas correspondentes do Google SecOps tiverem sido fechados.
Parâmetros
| Nome de exibição do parâmetro | Tipo | Valor padrão | É obrigatório | Descrição |
|---|---|---|---|---|
| Raiz da API | String | https://{jira_address} | Sim | URL raiz da API da instância do Jira. |
| Nome de usuário | String | N/A | Sim | Nome de usuário para se conectar à instância do Jira. |
| Token da API | Senha | N/A | Sim | Token gerado no console do Jira. Observação:esse parâmetro pode ser usado para conter a string "Senha" em caso de autenticação local, usando a combinação de nome de usuário e senha. |
| Nomes de projetos | String | nomes de projetos separados por vírgula | Sim | Nomes de projetos do Jira separados por uma vírgula que o job precisa monitorar. |
| Número máximo de dias para retroceder | Número inteiro | 1 | Sim | Número máximo de dias para sincronizar o status dos tíquetes para trás. |
Trabalho de sincronização de comentários
Descrição
Sincronizar 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.
Esse trabalho é compatível apenas com casos do Google SecOps com a tag Jira.
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 correspondente do Jira usando o parâmetro Prefixo do comentário do Chronicle.
Esse recurso foi adicionado por dois motivos:
- Visibilidade.
- Evita que os comentários adicionados pelo job sejam sincronizados novamente com o outro lado, causando um loop.
Parâmetros
| Nome de exibição do parâmetro | Tipo | Valor padrão | É obrigatório | Descrição |
|---|---|---|---|---|
| Raiz da API | String | https://{jira_address} | Sim | URL raiz da API da instância do Jira. |
| Nome de usuário | String | N/A | Sim | Nome de usuário para se conectar à instância do Jira. |
| Token da API | Senha | N/A | Sim | Token gerado no console do Jira. Observação:esse parâmetro pode ser usado para conter a string "Senha" em caso de autenticação local, usando a combinação de nome de usuário e senha. |
| Nomes de projetos | String | nomes de projetos separados por vírgula | Sim | Nomes de projetos do Jira separados por vírgula que o job precisa monitorar. |
| Número máximo de dias para retroceder | Número inteiro | 1 | Sim | Número máximo de dias para sincronizar o status dos tíquetes retroativamente. |
| Prefixo de comentário do Google SecOps | String | Google SecOps: | Sim | Prefixo adicionado pelo job de sincronização aos comentários criados para tíquetes do Jira. |
| Prefixo do comentário do Jira | String | Trabalho de sincronização de comentários do Jira: | Sim | Prefixo adicionado pelo job de sincronização aos comentários do caso de alerta do Google SecOps. |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.