Con Appsscript, puede crear una integración para conectar Jira y Google Form.
Para crear un ticket de Jira al enviar un formulario de Google utilizando Google Apps Script, deberá:
- Cree un formulario de Google y configure las respuestas del formulario para guardarlas en un archivo de Google Sheets.
- Cree un nuevo archivo de Google Sheets y copie la hoja de respuestas del formulario a este archivo.
- En el archivo de Google Sheets, cree un nuevo script yendo a “Herramientas > Editor de scripts”.
- En el editor de secuencias de comandos, agregue el siguiente código para importar las bibliotecas necesarias:
function importLibraries() {
var libraryUrl = "https://cdn.jsdelivr.net/gh/icodeforlove/jira-connector@gh-pages/dist/jira-connector.min.js";
return HtmlService.createHtmlOutputFromFile('page').evaluate().setWidth(600).setHeight(450).setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
- En el editor de secuencias de comandos, cree una nueva función que se llamará cuando se reciba el envío de un formulario. Esta función debe hacer lo siguiente:
- Recupere los datos de la fila de envío del formulario en el archivo de Google Sheets.
- Utilice la biblioteca Jira Connector para crear una nueva incidencia de Jira utilizando los datos del envío del formulario.
- Actualice la fila de envío del formulario en el archivo de Google Sheets con el ID del problema de Jira.
function createJiraIssue(e) {
// Get the data from the Form submission row
var sheet = SpreadsheetApp.getActiveSheet();
var row = e.range.getRow();
var summary = sheet.getRange(row, 1).getValue();
var description = sheet.getRange(row, 2).getValue();
var reporter = sheet.getRange(row, 3).getValue();
// Use the Jira Connector library to create a new Jira issue
var jira = Jira.createClient({
host: "your-jira-host.com",
username: "your-jira-username",
password: "your-jira-password"
});
var newIssue = jira.addNewIssue({
summary: summary,
description: description,
reporter: reporter,
issuetype: {
name: "Task"
}
});
// Update the Form submission row with the Jira issue ID
sheet.getRange(row, 4).setValue(newIssue.id);
}
Esta función hace lo siguiente:
- Recupera los datos de la fila de envío del formulario en el archivo de Google Sheets (el resumen, la descripción y el reportero).
- Utiliza la biblioteca Jira Connector para crear una nueva incidencia de Jira con los datos del envío del formulario.
- Actualiza la fila de envío del formulario en el archivo de Google Sheets con el ID del problema de Jira.
Deberá reemplazar “your-jira-host.com”, “your-jira-username” y “your-jira-password” con el nombre de host, el nombre de usuario y la contraseña de su instancia de Jira.
- En el editor de secuencias de comandos, cree un activador para que la función que acaba de crear se ejecute cuando se reciba el envío de un formulario.
- Pruebe la integración enviando un nuevo formulario y verificando que se creó una incidencia de Jira.