
๐ฎCreate Jira ITSM Request
In this article, I would be showing you how to create a Service Management customer request with custom-fields.
Step 1: Set up the project
Create a new directory for your project.
Open a terminal and navigate to the project directory.
Initialize a new Go module using the following command:
go mod init <module-name>
Step 2: Install the "go-atlassian" library
In the terminal, run the following command to install the "go-atlassian" library:
go get -v github.com/ctreminiom/go-atlassian
Step 3: Import the necessary packages
Create a new Go file (e.g.,
main.go
) in your project directory.Open the file and import the required packages:
package main
import (
"fmt"
"github.com/ctreminiom/go-atlassian/jira/sm"
"github.com/ctreminiom/go-atlassian/pkg/infra/models"
)
Step 4: Authenticate with Jira
In the main
function, create a new Jira client and authenticate using your Jira URL, username, and API token:
func main() {
jiraHost := "https://<_jira_instance_>.atlassian.net"
mailAddress := "<your_mail>"
apiToken := "<your_api_token>"
client, err := sm.New(nil, jiraHost)
if err != nil {
log.Fatal(err)
}
client.Auth.SetBasicAuth(mailAddress, apiToken)
}
Step 5: Create an ITSM customer request with custom fields
Define the fields you want to set:
payload := &models.CreateCustomerRequestPayloadScheme{
Channel: "",
Form: nil,
IsAdfRequest: false,
RaiseOnBehalfOf: "",
RequestFieldValues: nil,
RequestParticipants: nil,
RequestTypeID: "10",
ServiceDeskID: "1",
}
if err := payload.AddCustomField("summary", "Summary Sample"); err != nil {
log.Fatal(err)
}
if err := payload.DateCustomField("duedate", time.Now()); err != nil {
log.Fatal(err)
}
if err := payload.Components([]string{"Intranet"}); err != nil {
log.Fatal(err)
}
if err := payload.AddCustomField("labels", []string{"label-00", "label-01"}); err != nil {
log.Fatal(err)
}
Create a new issue using the
Create
method and set the custom fields:
ticket, response, err := atlassian.Request.Create(context.Background(), payload, form)
if err != nil {
log.Fatal(err)
}
Step 6: Run the program
Save the
main.go
file.In the terminal, navigate to your project directory.
Execute the following command to run the program:
go run main.go
This will create a new ITSM customer request in Jira with the specified custom field values.

Last updated
Was this helpful?