Automate Processing by Accessing its Own API

Case of accessing Questetra's API from the midstream of Questetra's process.

 
Happy New Year. Thank you for your continuous support this year.

Though I have written blog posts about various system collaboration cases so far, I would like to write more of those kind of posts this year as well. Besides, I personally like the topic of system collaboration because it can extend options in many aspects.

 

This time, I would like to introduce a method for accessing Questetra’s API from a process of Questetra.

 

As far as I know, the method has been used in the following cases.

  • After approving User addition / deletion application, add / delete User account of Questetra
    (User setting API)
  • In order to periodically change the password of a User, launch the task regularly and reflect the change contents in the User settings of Questetra.(User setting API)
  • Change the organization setting of Questera so that the User who can approve is changed after a certain period, and reverse the change after reaching a deadline. (Membership setting API)
  • From approval flows such as approval request or decision-making, etc. Obtain the organization information of application User and decide a User who should approve the application by the computation, and then throw a task for approval to the User.
    (User setting API, Organization setting API, Role setting API)
  • Calculate the progress rate and the degree of delay by referring to the data of the process that performs certain process management, and write the result to the original process
    (Monitoring API, Task processing API)

 

Questetra’s API can be roughly divided into Process Model Connecting API and Developer API.
Roughly describing it:

  • Process Model Connecting API → Operate such tasks as sending and receiving of http request etc. In the midstream of Process.
  • Developer API → Operate such tasks as referring and updating of Users or Process data of Questetra.

i
Since Developer API is a REST API, you can access it by “Throwing Message Intermediate Event (HTTP)” (one of Process Model Connecting API).
However, even if from the same Questetra environment, it requires authentication when accessing the Developer API from the Process.
Besides, in the case of processing (computing, etc.) based on the obtained data, you need to analyze the response by “Script Task”.

※For “Throwing Message Intermediate Event”, please refer to the following
M225 AUTO EVENT Auto Sending of HTTP Request with Business data Inserted
※For “Script Task”, please refer to the following.
M230 AUTOMATED STEP Auto Executing Complicated Data Processing (ECMAScript)

qbpms_to_qbpms

This time, I will describe the case of accessing Developer API through Basic authentication.

※ When accessing API with Basic authentication, please note the following two points:

  • “System Settings” → “Connected Apps” in the left menu → Enable accessing by checking on “Enable API access with Basic Authentication” in the “API access with Basic Authentication” in advance
  • You can check API password from “Account Settings” → “Password” in the left menu → “API Password”

 

The following sample is a Process model sample for automatically adding a User account after the application has been approved by superiors.
%e3%83%a6%e3%83%bc%e3%82%b6%e8%bf%bd%e5%8a%a0%e3%83%a2%e3%83%87%e3%83%ab

The specification of User addition API is described in the API reference here the API reference here
The following is a copy of the described part.
※ As shown here, in order to perform user addition processing, authentication by a User with System Administrator Authorization. As it might be naturally expected.
user_add_api1
user_add_api2

Based on the API specification above, the settings of “Throwing Message Intermediate Event (HTTP)” can be configured as follows.

  • Specify the URL of API you want to access as Access URL (If in the same Questetra environment, you can also specify a variable such as 「${var[applicationRoot]}」).
    http%e8%a8%ad%e5%ae%9a1
  • Specify Username and Password for Basic Authentication (Use API Password mentioned above).
    http%e8%a8%ad%e5%ae%9a2
  • Specify the parameters of the API to be accessed as sending parameters.
    http%e8%a8%ad%e5%ae%9a3

You can download the archive of the sample process model above from here (zip expands qar file).
※Change the part of Basic Authentication according to your environment.
Download sample process model
 

For the other API specification of Questetra, please refer to the following.
※ Please note that the contents of the Reference and the M317 of Manual are partially duplicated.

 

By utilizing this method, we believe it is possible to automate and streamline more advanced business will flow.

If you have any questions about this post, please feel free to contact us via Contact form.

 

About Kusaka Tsuyoshi

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

Recommendations
Prev article - 50. Questetra Tips How to Change Filenames Automatically following the Rule
Next article - 50. Questetra Tips Can Backlog and Cloud BPM Cooperate?
Another article - Kusaka Tsuyoshi Easy Issue Data Search with a Right-click (Chrome extension)

Archive

 RSS