私のタスク

クエリ

  • Method:POST

  • URL:/rest/my-mission/api/my-mission/list/

  • パラメータ入力(postbody):形式の例は次のとおりです。

すべてのAPIは、使用前にセキュリティコード(security)とともに取得する必要があります。取得方法については、【RESTAPI > セキュリティコード】を参照してください。

{
	"security" : "<セキュリティコード>",
	"omflow_restapi" : 1,
	"search_columns" : [],
	"search_conditions" : [],
	"exclude_conditions" : [],
	"order_columns" : [],
	"limit" : 100,
	"start" : 0
}
  1. secuity:必要、セキュリティコード。

  2. omflow_restapi:必要、1。

  3. search_columns:オプション、クエリするフィールドの項目名。次のフォームの例。

    "search_columns" : ["id", "status", "level"]

search_columnsが入力されていない場合、クエリフォームのフィールド名、フィールド値が返されます。

  1. search_conditions:オプションで、条件を満たすデータを除外します。 配列内の各条件はJSONオブジェクト構造であり、各条件はAND関係です。デフォルトでは、全データをクエリします。 (1) column:フィールドID。 (2) condition:条件文字。以下5つのタイプに分類されます。 ● =:値とまったく同じようにデータを除外します。 ● >:値より大きいデータを除外します。 ● <:値より小さいデータを除外します。 ● in:値の配列と同じデータをフィルターで除外します。 ● contains:値を含むデータを除外します。 (3) value:フィールド値。

"search_conditions" :
[
    {
        "column" : "status",
        "condition" : "in",
        "value" : ["アサイン", "レビュー中"]
    },
    {
        "column" : "id",
        "condition" : ">",
        "value" : 3
    },
    <その他の条件>,...
]
  1. exclude_conditions:オプションで、条件を満たすデータを除外します。形式はsearch_conditionsと同じです。デフォルトでは、条件を除外しません。

  2. order_columns:オプションで、指定したフィールドに従ってソートします。 逆順に並べ替える必要がある場合は、フィールド名の前に"-"記号を追加してください。デフォルトでは["id"]で並べ替えられます。

    #ソート
    "order_columns" : ["id"]
    
    #逆ソート
    "order_columns" : ["-id"]
  3. limit:オプションで、数値を入力してデータ数を取得します。デフォルトは100です。

  4. start:オプションで、取得する最初のデータから数を入力します。デフォルトは0番目です。

例1:start=0,limit=100,100データを返す。

例2:start=1,limit=100,99データを返す。

例3:start=100,limit=100,0データを返す。

データの返る

成功した場合、以下は返されるデータの例です。

{
    "status": 200,
    "message": "クエリ成功。",
    "result": [
        {
            "id": 6,
            "flow_uuid": "67d4cf9a-49cd-4341-90da-b899eb0219b1",
            "flow_name": "問題管理",
            "status": "アサイン",
            "level": "",
            "title": "123",
            "data_no": 1,                    #フォーム番号
            "data_id": 4,                    #データ番号、処理する時に必要なパラメータ
            "history": false,
            "stop_uuid": "FITEM_7",          #フォームの現在のステージ
            "stop_chart_text": "人工でアサイン",    #コンポーネント名
            "create_user_id": "system",
            "update_user_id": null,
            "ticket_createtime": "2020-07-07T13:50:21.494",
            "createtime": "2020-07-07T13:50:21.589",
            "updatetime": "2020-07-07T13:50:21.589",
            "assignee_id": null,
            "assign_group_id": 1,
            "action": ",",
            "attachment": false,            #添付ファイルがあるかどうか
            "closed": false,
        },.....
    ]
}

失敗した場合、以下は返されるデータの例です。

{
    "status": 404,
    "message": "クエリ失敗,エラー:<エラーメッセージ>",
    "result": []

処理

  • Method:POST

  • URL:/rest/flowmanage/api/omdata/edit/<api_path>

  • パラメータ入力(postbody):形式の例は次のとおりです。

すべてのAPIは、使用前にセキュリティコード(security)とともに取得する必要があります。取得方法については、【RESTAPI > セキュリティコード】を参照してください。

現在、URL上のapi_pathは手動検索するのみです。

apiルートの検索方法は【アプリケーション管理 > アプリケーション設計】を参照してください。

今後のバージョンは私のタスクリストにapi_pathのフィールドを追加する予定です。

{
  "security": "<security>",
  "omflow_restapi": 1,
  "action": "update",
  "data_id": "<data_id>",
  "formdata": [
    {
      "id": "<FORMITM_X>",
      "value": "<フィールド值>"
    },
    {
      "id": "FORMITM_X",
      "value": "<フィールド值>"
    },......
  ]
}
  1. secuity:必要,セキュリティコード。

  2. omflow_restapi:必要,1。

  3. action:必要,"update"入力すればいい。

  4. data_id:必要,APIで検索するdata_idを入力する。

  5. formdata:オプション,修正するフィールドとその内容を入力する。

データの返る

成功した場合、以下は返されるデータの例です。

{
  "status": "200",
  "message": "処理成功",
  "result": ""
}

クイック操作

  • Method:POST

  • URL:/rest/flowmanage/api/omdata/edit/<api_path>

  • パラメータ入力(postbody):形式の例は次のとおりです。

すべてのAPIは、使用前にセキュリティコード(security)とともに取得する必要があります。取得方法については、【RESTAPI > セキュリティコード】を参照してください。

現在、URL上のapi_pathは手動検索するのみです。

apiルートの検索方法は【アプリケーション管理 > アプリケーション設計】を参照してください。

今後のバージョンは私のタスクリストにapi_pathのフィールドを追加する予定です。

{
  "security": "<security>",
  "omflow_restapi": 1,
  "action": "update",
  "data_id": "<data_id>",
  "quick_action": "<action1/action2>"
}
  1. secuity:必要,セキュリティコード。

  2. omflow_restapi:必要,1。

  3. action:必要,"update"入力すればいい。

  4. data_id:必要,APIで検索するdata_idを入力する。

  5. quick_action:必要,action1またはaction2を入力する。

データの返る

成功した場合、以下は返されるデータの例です。

{
  "status": "200",
  "message": "処理成功",
  "result": ""
}

コードの例

Python

私のタスクリストを検索し、指定したフローに対して処理を実行する。

#====================================
# OMFLOW 私のタスクの例
# https://doc.omflow.com.tw/api-jie-shao/wo-de-ren-wu を参照してください。
#====================================
import sys,requests,json

url = 'https://1.2.3.4' # OMFLOW サーバの位置
url_login = '/accounts/api/security/get/'
url_my_mission = '/rest/my-mission/api/my-mission/list/'
url_action = '/rest/flowmanage/api/omdata/edit/'

api_path = 'some-api-path-syscom' #処理するタスクのAPI Pathを指定する(アプリケーション管理、アプリのリリースで確認可能)
api_id = '38ea93dc82za39as0a38ei1'  #処理するタスクのuuidを指定する(該当のタスクを開き、URL列で確認可能)


data_security = '' #ログイン成功時のセキュリティコードの保存

#====================================
# OMFLOWにログイン
# ドメイン変数: data_security , url , url_login
# 入力 : user=アカウント , pwd=パスワード
# 戻り値 : 200 = 成功
#====================================
def login(user,pwd):
    global data_security
    response = requests.get( url + url_login, auth=( user, pwd ))
    data = response.json()
    data_code_int = data['status']
    data_security = data['result']['security']
    return data_code_int
#====================================
# 私のタスクリストの取得
# ドメイン変数: data_security , url , url_my_mission
# 入力 : 無
# 戻り値 : 私のタスクリスト(JSON形式)
#====================================
def myMissonList():
    values={
        "security" : data_security,
        "omflow_restapi" : 1,
        "search_columns" : [],
        "search_conditions" : [],
        "exclude_conditions" : [],
        "order_columns" : [],
        "limit" : 100,
        "start" : 0
    }
    response = requests.post( url + url_my_mission, data=values )
    data = response.json()
    data_list = data['result']
    return data_list

#====================================
# 指定されたプロセスの承認
# ドメイン変数: data_security , url , url_action , api_path , api_id
# 入力 : 私のタスクリスト(JSON形式)
# 戻り値 : 無
#====================================
def approve(data_list):
    #列印 data_list すべてのデータを取得可能
    for item in data_list:
        data_flow_uuid = item['flow_uuid']
        data_data_id = item['data_id']
        if data_flow_uuid.replace('-','') == api_id:
            #組織の処理内容、アプリケーション管理、アプリのリリースで例として利用可能
            values = {
                    "security": data_security,
                    "omflow_restapi": 1,
                    "action": "update",
                    "data_id": data_data_id,
                    "formdata": [
                        {
                            "id": "FORMITM_5",
                            "value": "承認済"
                        }
                    ]
                }
            response = requests.post(  url + url_action + api_path, data= json.dumps(values))
            print('flow:' + data_flow_uuid + ',data:' + str(data_data_id) + ',approved.')

#MAIN
if len(sys.argv) != 3:
    print('error')
else:
    if login(sys.argv[1] , sys.argv[2]) == 200:
        approve(myMissonList())

PowerShell

私のタスクリストの検索

#====================================
# OMFLOW my mission example
# refrence https://doc.omflow.com.tw/api-jie-shao/wo-de-ren-wu
#====================================

#url = OMFLOW Server URL
#token = user password
#user = user name

$url = 'https://1.2.3.4' 
$token='password' 
$user ='user'
$api_path = 'some-api-path-syscom' 
$api_id = '1ko2kme1o9a120a03a0dfs' 

$url_login = '/accounts/api/security/get/'
$url_my_mission = '/rest/my-mission/api/my-mission/list/'
$url_action = '/rest/flowmanage/api/omdata/edit/'




$security = ''


$auth = $user + ':' + $token
$encoded = [System.Text.Encoding]::UTF8.GetBytes($auth)
$authorizationInfo = [System.Convert]::ToBase64String($encoded)
$headers = @{"Authorization"="Basic $($authorizationInfo)"}

$result = Invoke-WebRequest -Uri "$url$url_login" -Method GET -Headers $headers
if ($result.StatusCode -eq 200)
{
    $result_json = $result.Content | ConvertFrom-Json
	#echo $result_json.status
	#echo $result_json.message
	$security = $result_json.result.security
}
else
{
    echo "login fail."
}

if ($security -ne "")
{
    $postParams = @{
        "security"=$security;
        "omflow_restapi"=1;
        "search_columns"=@();
        "search_conditions"=@();
        "exclude_conditions"=@();
        "order_columns"=@();
        "limit"=100;
        "start"=0
		}
	$result = Invoke-WebRequest -Uri "$url$url_my_mission" -Method POST -Body $postParams
	$result_json = $result.Content | ConvertFrom-Json
	$count = $result_json.result.length
	echo "total $count mission"
}

最終更新