SMILEhook - the modern way to integration with systems

Your BMC ITSM Suite is a very central system in your IT organization. This is the reason why we need a lot of integrations to other systems. We’ve already created SMILEconnect - our integration system for BMC ITSM Suite - which will help you to standardize all your interfaces.

The idea behind SMILEhook is to provide an interface for incoming webhooks. So there is no need to implement the business logic of your ITSM Suite in any other system. This way you are able to integrate to other systems with the highest flexibility in your ITSM Suite. If something is changed in your ITSM Suite, you don’t need to change all your other integrations.

For example:

A new software container using your CI/CD pipeline has been build successfully and the new version should be provided in the product catalog as soon as the build is finished.

Without SMILEhook you would need to implement the logic needed to provide the version in the product catalog in your CI/CD pipeline. This way you will create dependency between the two software systems you are using. If something is changed in your product catalog in your ITSM Suite, you will need to change the implementation in your CI/CD pipeline as well. For each implementation there is a need of knowledge transfer between the CI/CD expert and the ITSM Suite expert.

With SMILEhook

With SMILEhook you will implement the business logic in the webhook. The CI/CD pipeline just sends a webhook to SMILEhook when the action - for example the container build - is finished. SMILEhook will then process this hook by using the provided javascripts.

By implementing the logic in SMILEhook the dependency to your CI/CD pipeline is gone. If something is changed in your product catalog in your ITSM Suite there is no need to change your CI/CD pipeline. You just need to change the logic in SMILEhook.

We decided to design SMILEhook to work with and without SMILEconnect and provide it free of charge to our community.

You can find the docs here.

Full example Use Case:

We are using Docker Hub to build and provide our docker images. Everytime a new version of our image smilehook-api is build in docker hub, we want to create a new CI in the class BMC_Product.


Docker is able to send a webhook as soon as a build is ready. Configure the Webhook in docker-hub:

configuration in docker-hub


Configuration in SMILEhook:

{
  "docker": {
    "actions": [
      {
        "type": "script",
        "id": "dir1/logContext",
        "params": {
          "param1": "executionNumber1"
        }
      },
      {
        "type": "script",
        "id": "cmdb/createProduct"
      }
    ]
  }
}

script “cmdb/createProduct.js”

// Create a new Product CI based on docker Deployments

const settings = {
    "createForm":"BMC.CORE:BMC_Product",
    "entry": {
        "DatasetId": "BMC.ASSET",
        "Company": "Calbro Services"
    }
};

settings.entry.name = context.data.repository.name + ' ' + context.data.push_data.tag;

//Create CI 
const resultCreate = await adapter.remedy.create(settings.createForm, settings.entry);

As a result, a new Product CI is created for each new version.

With SMILEhook you can now easily integrate all your systems, not only tickets, with BMC Remedy. If you have further questions or need help integrating other systems: Contact us