Introduzione:
In un mondo dove l’efficienza e l’automazione dei flussi di lavoro sono fondamentali per il successo di un’azienda, integrare strumenti come Gravity Forms e Jira può rivoluzionare il modo in cui gestisci le richieste dei clienti e i task interni. Questa guida passo dopo passo ti mostrerà come automatizzare la creazione di task in Jira a partire dalle submission di un form in WordPress, utilizzando Gravity Forms, e come testare l’integrazione con Postman. Perfetto per sviluppatori, team di progetto e manager che cercano di ottimizzare i loro processi, questo articolo ti fornirà tutte le conoscenze necessarie per implementare un’efficace automazione tra questi due potenti strumenti.
1. Preparazione:
Assicurati di avere:
- Un sito WordPress con Gravity Forms.
- Un’istanza Jira.
- Postman per test API.
2. Estensione Task in Jira con Campi Personalizzati:
Jira permette di estendere le funzionalità dei task attraverso l’uso di campi personalizzati (custom fields). Questi possono essere utilizzati per raccogliere informazioni specifiche quando si crea un nuovo task. I nomi dei campi personalizzati, come customfield_10121, sono specifici per ogni installazione di Jira e possono essere estratti facendo una chiamata GET all’API di Jira.
3. Codice per l’Integrazione in WordPress:
Per inviare dati da Gravity Forms a Jira, aggiungi il seguente codice al file functions.php del tuo tema WordPress:
add_action('gform_after_submission', 'jira_gform_submission', 10, 2);
function jira_gform_submission($entry, $form) {
if ($form['id'] != 2) return; // ID del tuo form specifico
// Preparazione dei dati da inviare
$data = [
"fields" => [
"project" => ["key" => "ASC4P"],
"summary" => rgar($entry, '8'), // Descrizione breve
"description" => [
"type" => "doc",
"version" => 1,
"content" => [[
"type" => "paragraph",
"content" => [["text" => rgar($entry, '9'), "type" => "text"]]
]]
],
"customfield_10121" => rgar($entry, '6'), // Esempio: azienda
// Aggiungi altri campi personalizzati qui
"issuetype" => ["name" => "Task"]
]
];
$jsonData = json_encode($data);
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://iltuodominio.atlassian.net/rest/api/3/issue/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => $jsonData,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Authorization: Basic ' // Inserisci qui le tue credenziali
],
]);
// Gestione della risposta o dell'errore
$response = curl_exec($curl);
curl_close($curl);
if ($response === false) echo "Errore cURL: " . curl_error($curl);
else {
$log = get_stylesheet_directory() . '/gform_submission_log.txt';
file_put_contents($log, "Risposta Jira: " . $response . "\n", FILE_APPEND | LOCK_EX);
}
}
4. Identificazione dei Campi Personalizzati in Jira:
Prima di completare il codice, è necessario identificare i nomi dei tuoi campi personalizzati in Jira. Puoi farlo eseguendo una chiamata GET all’API di Jira:
- Apri Postman e configura una nuova richiesta GET verso
https://iltuodominio.atlassian.net/rest/api/3/field. - Imposta l’autenticazione e l’header necessario.
- Invia la richiesta. Nella risposta, cerca i campi personalizzati (
customfield_) e annota i loro ID.
5. Test API con Postman:
Prima di implementare il codice, testa l’API di Jira con Postman per assicurarti che i dati vengano inviati correttamente:
- Crea una nuova richiesta POST in Postman verso
https://iltuodominio.atlassian.net/rest/api/3/issue. - Configura l’header e l’autenticazione come nel passaggio precedente.
- Nel body della richiesta, inserisci il JSON dei dati che intendi inviare.
- Esegui la richiesta e verifica la risposta per confermare la creazione del task.
Conclusione:
L’integrazione tra Gravity Forms e Jira, accompagnata dai test con Postman, non solo migliora l’efficienza dei processi interni ma garantisce anche una gestione più fluida e organizzata delle richieste dei clienti. Seguendo i passaggi descritti in questo articolo, sarai in grado di automatizzare con successo la creazione di task in Jira direttamente dalle submission dei form sul tuo sito WordPress, semplificando il flusso di lavoro e liberando risorse preziose per altre attività.
Link utili
