Vous êtes ici :
InsPolicyService:invokeRules
Utilisez ce service pour invoquer des règles de transition d'état associées à une transaction d'état cible dans une stratégie cible. Si les règles remplissent les critères de transition, ce service exécute les actions associées à la transition, consigne éventuellement les résultats des exécutions de règles et transfère la stratégie cible vers le nouvel état.
Fonctionnement
-
Ce service récupère l'objet spécifié par l'option policyId.
-
Selon le type d'objet, l'état actuel de l'objet et l'option toState, la transition vers l'état cible est déterminée.
-
À partir de la transition d'état, des règles de transition d'état et des actions de règle de transition d'état, les règles produit sont récupérées et exécutées.
-
Si les règles de transition d'état remplissent les critères de réalisation de la transition spécifiés dans la transition d'état, l'objet est transféré vers toState.
Si la transition d'état est associée à une action, cette action est exécutée.
Si les critères de réalisation de la transition ne sont pas remplis, l'objet est transféré vers l'état Alternatif spécifié dans la transition d'état s'il existe. Si la transition d'état n'a pas d'état Alternatif, l'objet conserve son état actuel.
-
Si l'option logResults est spécifiée, les résultats de chaque règle et le résultat de la transaction de l'objet (réussite ou échec) sont consignés.
Options distantes
Option |
Description |
|---|---|
policyID |
Obligatoire. ID de la stratégie cible à laquelle appliquer les règles |
toState |
Obligatoire État vers lequel déplacer l'objet cible en fonction des critères de transition de l'état |
lastDefaultState |
Facultatif Nom du dernier état par défaut de l'objet cible |
invokeStateTransitionRules |
Facultatif true Utiliser pour invoquer des règles de transition d'état. C'est la valeur par défaut. false Utiliser si vous ne souhaitez pas invoquer des règles de transition d'état. |
invokeProductRules |
Facultatif true Utiliser pour invoquer des règles produit. C'est la valeur par défaut. false Utiliser si vous ne souhaitez pas invoquer de règles produit. |
invokeActionType |
Facultatif Si spécifié, indique le type d'action à invoquer si les critères sont remplis. Le paramètre par défaut est défini. par défaut Exécuter uniquement les actions par défaut associées à la transition d'état tous Exécuter toutes les actions associées à la transition d'état aucun N'invoquez aucune action associée à la transition de l'État |
actionScope |
Facultatif Si spécifié, indique si les actions invoquées doivent être définies dans la version actuelle du modèle d'état ou dans n'importe quelle version du modèle d'état. Le paramètre par défaut est version. version Exécuter uniquement les actions associées à la version actuelle du modèle d'état Toute action Exécuter associée à une version de modèle d'état |
logResults |
Facultatif true Utiliser pour consigner les résultats. C'est la valeur par défaut. false Utiliser si vous ne souhaitez pas consigner les résultats. |
fromNoneState |
Facultatif true Object passe de l'état Aucun. false Object ne passe pas de l'état Aucun. C'est la valeur par défaut. |
JSON d'entrée
L'exemple suivant montre un exemple de JSON d'entrée.
{
"objectId": "02i3h0000009OqCAAU",
"toState": "Review",
"lastDefaultState": "Draft",
"invokeActionType": "draft",
"actionScope": "version",
"logResults": true,
"fromNoneState": false
}JSON de sortie
L'exemple suivant montre un exemple de JSON de sortie.
{
"transition": true,
"transitedState": "Review",
"stateTransitionRules": {
"result": true,
"ruleDetails": [{
"result": true,
"conditions": "Asset.Status == 'Draft'",
"name": "Status is Draft",
"ruleId": "a5Q6g0000005vSPEAY",
"transitionName": "Draft > Review",
"objId": "02i3h0000009OqCAAU"
}, {
"result": false,
"conditions": "Asset.Name == 'Test'",
"name": "Name is Test",
"ruleId": "a5Q6g0000005vSPEAZ",
"transitionName": "Draft > Review",
"objId": "02i3h0000009OqCAAU"
}]
},
"productRules": {
"allFalse": false,
"trueRules": {
"Asset": [{
"ruleDetails": {
"ruleId": "a5Q6g0000005vSPEBX",
"objectId": "02i3h0000009OqCAAU",
"transitionName": "Draft > Review",
"productId": "01t6g000000RzFAAA0",
"action class": null,
"action method": null,
"message": "Name is not blank",
"conditions": "Asset.Name != ''",
"requirement name": "Name is not blank"
}
}]
},
"falseRules": {
"Asset": [{
"ruleDetails": {
"ruleId": "a5Q6g0000005vSPEBX",
"objectId": "02i3h0000009OqCAAU",
"transitionName": "Draft > Review",
"productId": "01t6g000000RzFAAA0",
"action class": null,
"action method": null,
"message": "Name is blank",
"conditions": "Asset.Name == ''",
"requirement name": "Name is blank"
}
}]
}
}
}Description du résultat
result
ruleDetails
Ce JSON inclut les paires clé/valeur suivantes.
Clé |
Valeur |
|---|---|
result |
Résultat de l'évaluation de la condition de règle par rapport à l'objet cible |
conditions |
Condition de règle |
nom |
Nom de la règle |
ruleId |
ID de règle |
transitionName |
Nom de la transition associée à la règle |
objId |
ID d'objet avec lequel les règles ont été exécutées |
