Ti trovi qui:
InsPolicyService:invokeRules
Utilizzare questo servizio per invocare le regole di transizione tra stati associate a una transazione tra stati di destinazione in una policy di destinazione. Se le regole soddisfano i criteri di transizione, questo servizio esegue le azioni associate alla transizione, se si desidera registra i risultati delle esecuzioni delle regole e passa la policy di destinazione al nuovo stato.
Funzionamento
-
Questo servizio recupera l'oggetto specificato dall'opzione policyId.
-
In base al tipo di oggetto, allo stato corrente dell'oggetto e all'opzione toState, viene determinata la transizione dello stato di destinazione.
-
Dalle azioni transizione stato, regole transizione stato e regole transizione stato, le regole prodotto vengono recuperate ed eseguite.
-
Se le regole di transizione tra stati soddisfano i criteri di completamento della transizione specificati nella transizione tra stati, l'oggetto viene trasferito a toState.
Se alla transizione di stato è associata un'azione, tale azione viene eseguita.
Se i criteri di completamento della transizione non sono soddisfatti, l'oggetto viene trasferito allo stato alternativo specificato nella transizione di stato, se esistente. Se la transizione di stato non ha uno stato alternativo, l'oggetto mantiene lo stato corrente.
-
Se è specificata l'opzione logResults, vengono registrati i risultati di ogni regola e il risultato della transazione dell'oggetto (esito positivo o negativo).
Opzioni remote
Opzione |
Descrizione |
|---|---|
policyID |
Obbligatorio. ID della policy target per cui applicare le regole |
toState |
Obbligatorio Provincia in cui spostare l'oggetto di destinazione in base ai criteri di transizione provincia |
lastDefaultState |
Facoltativo Nome dell'ultimo stato predefinito dell'oggetto di destinazione |
invokeStateTransitionRules |
Facoltativo true Utilizza per invocare le regole di transizione tra stati. Questa è l'impostazione predefinita. false Utilizzare se non si desidera invocare regole di transizione tra stati. |
invokeProductRules |
Facoltativo true Utilizza per invocare le regole prodotto. Questa è l'impostazione predefinita. false Utilizzare se non si desidera invocare le regole del prodotto. |
invokeActionType |
Facoltativo Se specificato, indica il tipo di azioni da invocare se i criteri sono soddisfatti. L'impostazione predefinita è predefinita. default Esegui solo le azioni predefinite associate alla transizione tra stati tutti Esegui tutte le azioni associate alla transizione tra stati none Non invocare alcuna azione associata alla transizione tra stati |
actionScope |
Facoltativo Se specificato, indica se le azioni invocate devono essere definite nella versione corrente del modello di stato o in qualsiasi versione del modello di stato. L'impostazione predefinita è versione. versione Esegui solo azioni associate alla versione corrente del modello di stato qualsiasi azione Esegui associata a qualsiasi versione del modello di stato |
logResults |
Facoltativo true Utilizza per registrare i risultati. Questa è l'impostazione predefinita. false Utilizzare se non si desidera registrare i risultati. |
fromNoneState |
Facoltativo true Object sta passando dallo stato Nessuno. false Oggetto non è in transizione da Nessuno stato. Questa è l'impostazione predefinita. |
Input JSON
L'esempio seguente mostra il JSON di input di esempio.
{
"objectId": "02i3h0000009OqCAAU",
"toState": "Review",
"lastDefaultState": "Draft",
"invokeActionType": "draft",
"actionScope": "version",
"logResults": true,
"fromNoneState": false
}JSON di output
L'esempio seguente mostra il JSON di output di esempio.
{
"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"
}
}]
}
}
}Descrizione risultato
Risultato
ruleDetails
Questo JSON include le seguenti coppie chiave/valore.
Chiave |
Valore |
|---|---|
Risultato |
Risultato della valutazione della condizione regola rispetto all'oggetto di destinazione |
conditions |
Condizione regola |
name |
Nome della regola |
ruleId |
ID regola |
transitionName |
Nome della transizione associata alla regola |
objId |
ID oggetto per cui sono state eseguite le regole |
