michaeldcanady / servicenow-sdk-go

A Service-Now API client enabling Go programs to interact with Service-Now in a simple and uniform way
https://pkg.go.dev/github.com/michaeldcanady/servicenow-sdk-go
MIT License
18 stars 7 forks source link

ServiceNow SDK for Go

GitHub go.mod Go version GoDoc GitHub release (latest by date) GitHub issues GitHub Code Climate codecov

A Service-Now API client enabling Go programs to interact with Service-Now in a simple and uniform way

servicenow-sdk-go

Supported Service-Now APIs

API Status Issues
Account ✖️
ActivitySubscriptions ✖️
Agent Client Collector ✖️
Aggregate ✖️
AI Search External User Mapping ✖️
Alarm Management Open ✖️
Application Service ✖️
Appointment ✖️
Attachment ♻️ Attachment API Issues
Advanced Work Assignment (AWA) Agent ✖️
AWA Assignment ✖️
AWA Routing ✖️
Batch ♻️ Batch API Issues
Case ✖️
Custom Chat Chatbot Interoperability Framework (CCCIF) Media Resource ✖️
CdmApplicationsApi ✖️
CdmChangesetsApi ✖️
CdmEditorApi ✖️
CdmPoliciesApi ✖️
Tables ✔️ Table API Issues

Emoji Meaning
✔️ Supported
🆕 Preview
♻️ In progress
✖️ Not supported

Prerequisites

Before you begin, ensure that you have the following:

  1. Golang v1.21 or higher: If you haven't already installed Go, you can do so by following the instructions here.

1. Installation

You can install the ServiceNow SDK using the following commands:

Install the Latest Version

go get github.com/michaeldcanady/servicenow-sdk-go

Install a Specific Version

If you need a specific version, use the following command, replacing version with the desired version:

go get github.com/michaeldcanady/servicenow-sdk-go@version

2. Getting Started

2.1 Create an AuthenticationProvider Object

To authenticate with ServiceNow, create a credential object. Here's an example using username and password:

import (
    "github.com/michaeldcanady/servicenow-sdk-go/credentials"
)

cred := credentials.NewUsernamePasswordCredential("username", "password")

2.2 Initialize a ServiceNow Client

Create a client object to interact with ServiceNow APIs:

import (
    servicenowsdkgo "github.com/michaeldcanady/servicenow-sdk-go"
)

client, err := servicenowsdkgo.NewServiceNowClient2(cred, "instance")
if err != nil {
    panic(err)
}

2.3 Implement Your Preferred API SDK

Choose the appropriate ServiceNow API SDK for your use case and start building your applications!

  1. Table API: Interact with ServiceNow tables and records.
  2. Attachment API: Manage attachments associated with records.
  3. Batch API: Perform batch operations efficiently.

Select the submodule(s) that align with your requirements and start building your applications!