title: Updating JSON Data with Groovy's HTTP Builder using PUT
body: <p>I have requirement of updating Zendesk Tickets using Groovy HTTP Builder. I use the following code </p>
  
  <pre><code>@Grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='0.5.0-RC2' )
  import java.util.Properties;
  import java.io.InputStream;
  import java.io.ByteArrayInputStream;
  import java.io.BufferedReader;
  import java.io.InputStreamReader;
  import groovyx.net.http.*;
  import static groovyx.net.http.Method.*;
  import groovy.json.*;
  import groovyx.net.http.ContentType;
  
  def jsonBuilder = new groovy.json.JsonBuilder();
  class MyTicket
  {
      def subject
  }
  
          def myTicket = new MyTicket( 
          subject: 'xyz'.toString()
          )
  def ticketList=[myTicket]
  jsonBuilder(ticket:ticketList)
  
  
  println(jsonBuilder)
  
  def authSite = new HTTPBuilder('https://{subdomain}.zendesk.com/api/v2/tickets/{ticketid}.json');
  authSite.auth.basic 'username', 'password';
  authSite.request( Method.PUT, ContentType.JSON )
   {  req -&gt;
   uri.path = ''https://{subdomain}.zendesk.com/api/v2/tickets/{ticketid}.json'';
                  requestContentType = ContentType.JSON;
                  headers.Accept = 'application/json';
                  body =[jsonBuilder]
  
                  response.success = { resp, reader-&gt;
                  reader.ticket.subject;
      }
  }   
  </code></pre>
  
  <p>But the ticket is not being updated. Is there any kind of execute method. Kindly Suggest me  where  I went wrong.</p>