Can Backlog and Cloud BPM be Cooperation?

How to check whether Questetra can cooperate with other services

 

Hi, there!

 

Since I was consulted by a certain customer about cooperation on Questetra and Backlog which Nulab Inc. is providing, I organized how to do it.
This time, I tried to summarize how to investigate whether it is possible to collaborate with Questetra and other services, not only with the Backlog.

* I will supplement since there may be some people who are thinking both Questetra and Backlog are for managing tasks. Questetra is suited to the work whose flow has been decided, while Backlog is suitable for flexible work flow. Therefore, they are often used depending on the characteristics of the target work. This example here, is also one of them.

In the case this time, what the customer wanted was to start a Process on Questetra when adding an Issue on Backlog.

 

Not limited to Backlog, the points to be confirmed on the side of service which calling Questetra are as follows.
Is there a means to send data, and is it sending of HTTP request or email?

In the case of Backlog, it has a mechanism for sending an HTTP request called webhook, and one for sending email notification, so it is capable of sending data when various events occur, not just adding Issues.
Below, I am going to summarize each method.

You can initiate a Process by receiving an HTTP request from Backlog at Questetra’s “Message Start Event (HTTP)”.

* Click here for details on “Message start event (HTTP)”
M221 AUTO START Auto Starting Triggered by HTTP Request
* Although not using this time, you can receive HTTP request in the middle of the Questetra Process. Click here for details of “Catching Message Intermediate Event (HTTP)” to receive it.
M226 AUTO EVENT Standing by HTTP Request


In Backlog’s webhook, you can specify the destination URL (it is possible to add request parameters if it is GET). And detailed data for each event (detailed information on Issue if in case of addition event of Issue) will be sent as body part in JSON format.
However, Questetra’s API at the present time is not capable of receiving data of the body part…(It may be improved in the future, but I do not know for now.)

 

So, it will be corresponded in one of the methods of the following.

  • Interposing an intermediate server, and let it process the data into format that is acceptable for Questetrait then send it as HTTP request.
    It is the same way as collaborate with LINE in the article introduced earlier.
  • Call Backlog APIs from Process on Questetra which has been started by receiving webhook.
    Acquire a list of Issues after receiving an Issue addition webhook, etc. However, since there is possibility that multiple Issues can be registered between webhook for Issue registration and acquiring a list of Issues, consideration for that is necessary.

You can start a Process by receiving an email from Backlog with “Message Start Event (Email)” in Questetra. Also, you can parse the email body with “Script Task” in order to extract necessary information from the email body.

* Click here for details on “Message start event (Email)”
M218 AUTO START Auto Starting Triggered by Incoming Email
* Click here for details on “Script Task”
M230 AUTOMATED STEP Auto Executing Complicated Data Processing (ECMAScript)
Please refer to this sample etc. for the email body parsing script.


Since email notification from Backlog is sent to the specified user, it is necessary to prepare a user to receive notification using an email address of Questetra’s “Message Start Event (Email)”.

 

Even though some ingenuity are needed depending on each method, it is now confirmed that cooperation with each other is possible.

Next, let’s see the cases of calling Backlog APIs from Questetra.

 

Questetra is capable of sending HTTP requests from “Throwing Message Intermediate Event (HTTP)” or “Script Task”.

* Click here for details on “Throwing Message Intermediate Event (HTTP)”
M225 AUTO EVENT Auto Sending of HTTP Request with Business data Inserted
* Click here for details on “Script Task”
M230 AUTOMATED STEP Auto Executing Complicated Data Processing (ECMAScript)
* Although not using this time, you can build collaboration by sending email. Click here for details of “Throwing Message Intermediate Event (Email)” to send it.
M224 AUTO EVENT Auto Sending of Email with Business data Inserted


Points to check with the APIs of the service to call, not only for Backlog, are as follows.

Whether there is a REST API or not. If there is, what is the authentication method.

 

For Backlog, there is an API reference here, and authentication is explained in here.
There is REST API. API Key or OAuth2 can be used for authentication.
Below, I summarize the check points by each method.

It depends on how API Key must be sent.

  • Specified by request parameter / body
    It can be specified in Questetra without particular problems.
  • Specified by HTTP header
    In Questetra, there is a restriction on the name of header that can be specified.
    (Which currently available are; that begins with “X-“, “BoxApi”, “Dropbox-API-Arg”)

It depends on the corresponding grant_type.

  • Authorization Code
    Questetra can deal with cases where an indefinite lifetime access token can be issued.
    Although backlog corresponds to Authorization Code, since indefinite lifetime tokens can not be issued, this time it can not be used…
  • Client Credentials, Password
    You can correspond by Script Task.
  • Other than those above
    Since I do not have actual results so far, it is necessary to investigate whether we can deal with it.
* For details of the setting method for each grant_type, please refer to this article

 

In this article, we confirmed that OAuth2 could not be used, but API call can be made with API Key.

From the above, although there are cases in which some ingenuity is necessary depending on what you want to realize, we found that we can collaborate in Questetra and Backlog.
And I suppose now you understand roughly about how to check whether cooperation between Questetra and other services are possible.

 

I also want to summarize about cooperation with Typetalk which is being offered by the same Nurabo company, in another article.

 

About Kusaka Tsuyoshi

営業をやってますが、もともとエンジニアなので、プログラミングもやります。
View all posts by Kusaka Tsuyoshi

Recommendations
Prev article - 50. Questetra Tips Automate Processing by Accessing its Own API
Another article - Kusaka Tsuyoshi Tips When You are in Trouble with kintone’s “Workflow Management” (part 1)

Archive

 RSS