Cómo crear un ticket de Jira en el envío de formulario de Google

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á:

  1. Cree un formulario de Google y configure las respuestas del formulario para guardarlas en un archivo de Google Sheets.
  2. Cree un nuevo archivo de Google Sheets y copie la hoja de respuestas del formulario a este archivo.
  3. En el archivo de Google Sheets, cree un nuevo script yendo a “Herramientas > Editor de scripts”.
  4. 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);
}
  1. 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:

  1. 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).
  2. Utiliza la biblioteca Jira Connector para crear una nueva incidencia de Jira con los datos del envío del formulario.
  3. 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.

  1. 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.
  2. Pruebe la integración enviando un nuevo formulario y verificando que se creó una incidencia de Jira.