Automated commit by github action: 5080675648

This commit is contained in:
GitHub Action Bot
2023-05-25 13:42:07 +00:00
parent 191ffe7656
commit a6ae35d16b
24 changed files with 545 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
get:
operationId: getEvaluateReassignmentConfiguration
tags:
- Work Reassignment
summary: Evaluate Reassignment Configuration
description: >-
Evaluates the Reassignment Configuration for an `Identity` to determine if work items for the specified type
should be reassigned. If a valid Reassignment Configuration is found for the identity & work type, then a lookup
is initiated which recursively fetches the Reassignment Configuration for the next `TargetIdentity` until no more
results are found or a max depth of 5. That lookup trail is provided in the response and the final reassigned
identity in the lookup list is returned as the `reassignToId` property. If no Reassignment Configuration is found
for the specified identity & config type then the requested Identity ID will be used as the `reassignToId` value
and the lookupTrail node will be empty.
security:
- oauth2: [idn:reassignment-configuration:evaluate]
parameters:
- in: path
name: identityId
required: true
schema:
type: string
description: unique identity id
example: 2c91808781a71ddb0181b9090b5c504e
- in: path
name: configType
required: true
schema:
$ref: '../schemas/work-reassignment/WorkTypeEnum.yaml'
description: Reassignment work type
example: accessRequests
- in: query
name: exclusionFilters
required: false
schema:
type: array
items:
type: string
description: >-
Exclusion filters that disable parts of the reassignment evaluation. Possible values are listed below:
- `SELF_REVIEW_DELEGATION`: This will exclude delegations of self-review reassignments
example: SELF_REVIEW_DELEGATION
responses:
'200':
description: Evaluated Reassignment Configuration
content:
application/json:
schema:
type: array
items:
$ref: '../schemas/work-reassignment/EvaluateResponse.yaml'
examples:
empty:
$ref: '../schemas/work-reassignment/examples/evaluateEmpty.yaml'
longTrail:
$ref: '../schemas/work-reassignment/examples/evaluateLong.yaml'
selfReview:
$ref: '../schemas/work-reassignment/examples/evaluateSelfReview.yaml'
'400':
$ref: '../../v3/responses/400.yaml'
'401':
$ref: '../../v3/responses/401.yaml'
'403':
$ref: '../../v3/responses/403.yaml'
'429':
$ref: '../../v3/responses/429.yaml'
'500':
$ref: '../../v3/responses/500.yaml'

View File

@@ -0,0 +1,28 @@
get:
operationId: getReassignmentConfigTypes
tags:
- Work Reassignment
summary: List Reassignment Config Types
description: >-
Gets a collection of types which are available in the Reassignment Configuration UI.
security:
- oauth2: [idn:reassignment-configuration:read]
responses:
'200':
description: List of Reassignment Configuration Types
content:
application/json:
schema:
type: array
items:
$ref: '../schemas/work-reassignment/ConfigType.yaml'
'400':
$ref: '../../v3/responses/400.yaml'
'401':
$ref: '../../v3/responses/401.yaml'
'403':
$ref: '../../v3/responses/403.yaml'
'429':
$ref: '../../v3/responses/429.yaml'
'500':
$ref: '../../v3/responses/500.yaml'

View File

@@ -0,0 +1,106 @@
get:
operationId: getReassignmentConfiguration
tags:
- Work Reassignment
summary: Get Reassignment Configuration
description: >-
Gets the Reassignment Configuration for an identity.
security:
- oauth2: [idn:reassignment-configuration:read]
parameters:
- in: path
name: identityId
schema:
type: string
description: unique identity id
required: true
example: 2c91808781a71ddb0181b9090b5c504f
responses:
'200':
description: Reassignment Configuration for an identity
content:
application/json:
schema:
$ref: '../schemas/work-reassignment/ConfigurationResponse.yaml'
'400':
$ref: '../../v3/responses/400.yaml'
'401':
$ref: '../../v3/responses/401.yaml'
'403':
$ref: '../../v3/responses/403.yaml'
'404':
$ref: '../../v3/responses/404.yaml'
'429':
$ref: '../../v3/responses/429.yaml'
'500':
$ref: '../../v3/responses/500.yaml'
put:
operationId: putReassignmentConfig
tags:
- Work Reassignment
summary: Update Reassignment Configuration
description: >-
Replaces existing Reassignment configuration for an identity with the newly provided configuration.
security:
- oauth2: [idn:reassignment-configuration:update]
parameters:
- in: path
name: identityId
schema:
type: string
description: unique identity id
required: true
example: 2c91808781a71ddb0181b9090b5c504e
requestBody:
required: true
content:
application/json:
schema:
$ref: '../schemas/work-reassignment/ConfigurationItemRequest.yaml'
responses:
'200':
description: Reassignment Configuration updated
content:
application/json:
schema:
$ref: '../schemas/work-reassignment/ConfigurationItemResponse.yaml'
'400':
$ref: '../../v3/responses/400.yaml'
'401':
$ref: '../../v3/responses/401.yaml'
'403':
$ref: '../../v3/responses/403.yaml'
'429':
$ref: '../../v3/responses/429.yaml'
'500':
$ref: '../../v3/responses/500.yaml'
delete:
operationId: deleteReassignmentConfiguration
tags:
- Work Reassignment
summary: Delete Reassignment Configuration
description: >-
Deletes all Reassignment Configuration for the specified identity
security:
- oauth2: [idn:reassignment-configuration:delete]
parameters:
- in: path
name: identityId
schema:
type: string
description: unique identity id
required: true
example: 2c91808781a71ddb0181b9090b5c504e
responses:
'204':
description: Reassignment Configuration deleted
'400':
$ref: '../../v3/responses/400.yaml'
'401':
$ref: '../../v3/responses/401.yaml'
'403':
$ref: '../../v3/responses/403.yaml'
'429':
$ref: '../../v3/responses/429.yaml'
'500':
$ref: '../../v3/responses/500.yaml'

View File

@@ -0,0 +1,62 @@
get:
operationId: listReassignmentConfigurations
tags:
- Work Reassignment
summary: List Reassignment Configurations
description: >-
Gets all Reassignment configuration for the current org.
security:
- oauth2: [idn:reassignment-configuration:read]
responses:
'200':
description: A list of Reassignment Configurations for an org
content:
application/json:
schema:
type: array
items:
$ref: '../schemas/work-reassignment/ConfigurationResponse.yaml'
'400':
$ref: '../../v3/responses/400.yaml'
'401':
$ref: '../../v3/responses/401.yaml'
'403':
$ref: '../../v3/responses/403.yaml'
'404':
$ref: '../../v3/responses/404.yaml'
'429':
$ref: '../../v3/responses/429.yaml'
'500':
$ref: '../../v3/responses/500.yaml'
post:
operationId: createReassignmentConfiguration
tags:
- Work Reassignment
summary: Create a Reassignment Configuration
description: >-
Creates a new Reassignment Configuration for the specified identity.
security:
- oauth2: [idn:reassignment-configuration:create]
requestBody:
required: true
content:
application/json:
schema:
$ref: '../schemas/work-reassignment/ConfigurationItemRequest.yaml'
responses:
'201':
description: The newly created Reassignment Configuration object
content:
application/json:
schema:
$ref: '../schemas/work-reassignment/ConfigurationItemResponse.yaml'
'400':
$ref: '../../v3/responses/400.yaml'
'401':
$ref: '../../v3/responses/401.yaml'
'403':
$ref: '../../v3/responses/403.yaml'
'429':
$ref: '../../v3/responses/429.yaml'
'500':
$ref: '../../v3/responses/500.yaml'

View File

@@ -0,0 +1,60 @@
get:
operationId: getTenantConfigConfiguration
tags:
- Work Reassignment
summary: Get Tenant-wide Reassignment Configuration settings
description: >-
Gets the global Reassignment Configuration settings for the requestor's tenant.
security:
- oauth2: [idn:reassignment-tenant-configuration:read]
responses:
'200':
description: Tenant-wide Reassignment Configuration settings
content:
application/json:
schema:
$ref: '../schemas/work-reassignment/TenantConfigurationResponse.yaml'
'400':
$ref: '../../v3/responses/400.yaml'
'401':
$ref: '../../v3/responses/401.yaml'
'403':
$ref: '../../v3/responses/403.yaml'
'404':
$ref: '../../v3/responses/404.yaml'
'429':
$ref: '../../v3/responses/429.yaml'
'500':
$ref: '../../v3/responses/500.yaml'
put:
operationId: putTenantConfiguration
tags:
- Work Reassignment
summary: Update Tenant-wide Reassignment Configuration settings
description: >-
Replaces existing Tenant-wide Reassignment Configuration settings with the newly provided settings.
security:
- oauth2: [idn:reassignment-tenant-configuration:update]
requestBody:
required: true
content:
application/json:
schema:
$ref: '../schemas/work-reassignment/TenantConfigurationRequest.yaml'
responses:
'200':
description: Tenant-wide Reassignment Configuration settings
content:
application/json:
schema:
$ref: '../schemas/work-reassignment/TenantConfigurationResponse.yaml'
'400':
$ref: '../../v3/responses/400.yaml'
'401':
$ref: '../../v3/responses/401.yaml'
'403':
$ref: '../../v3/responses/403.yaml'
'429':
$ref: '../../v3/responses/429.yaml'
'500':
$ref: '../../v3/responses/500.yaml'

View File

@@ -0,0 +1,17 @@
type: object
description: Audit details for the reassignment configuration of an identity
properties:
created:
type: string
description: Initial date and time when the record was created
format: 'date-time'
example: '2022-07-21T11:13:12.345Z'
createdBy:
$ref: 'Identity.yaml'
modified:
type: string
description: Last modified date and time for the record
format: 'date-time'
example: '2022-07-21T11:13:12.345Z'
modifiedBy:
$ref: 'Identity.yaml'

View File

@@ -0,0 +1,13 @@
type: object
description: Type of Reassignment Configuration.
properties:
internalName:
$ref: 'ConfigTypeEnum.yaml'
displayName:
type: string
description: Human readable display name of the type to be shown on UI
example: Access Requests
description:
type: string
description: Description of the type of work to be reassigned, displayed by the UI.
example: Reassign Access Request Work Items for an identity

View File

@@ -0,0 +1,10 @@
type: string
description: Enum list of valid work types that can be selected for a Reassignment Configuration
enum:
- ACCESS_REQUESTS
- CERTIFICATIONS
- MANUAL_TASKS
- accessRequests
- certifications
- manualTasks
example: ACCESS_REQUESTS

View File

@@ -0,0 +1,19 @@
type: object
description: The request body of Reassignment Configuration Details for a specific identity and config type
properties:
configType:
$ref: 'ConfigTypeEnum.yaml'
targetIdentity:
$ref: 'Identity.yaml'
startDate:
type: string
description: The date from which to start reassigning work items
format: 'date-time'
example: '2022-07-21T11:13:12.345Z'
endDate:
type: string
description: The date from which to stop reassigning work items. If this is an empty string it indicates a permanent reassignment.
format: 'date-time'
example: '0001-01-01T00:00:00Z'
auditDetails:
$ref: 'AuditDetails.yaml'

View File

@@ -0,0 +1,24 @@
type: object
description: The request body for creation or update of a Reassignment Configuration for a single identity and work type
properties:
reassignedFromId:
type: string
description: The identity id to reassign an item from
example: '2c91808781a71ddb0181b9090b5c504e'
reassignedToId:
type: string
description: The identity id to reassign an item to
example: '2c91808781a71ddb0181b9090b53504a'
configType:
$ref: 'ConfigTypeEnum.yaml'
startDate:
type: string
description: The date from which to start reassigning work items
format: 'date-time'
example: '2022-07-21T11:13:12.345Z'
endDate:
type: string
description: The date from which to stop reassigning work items. If this is an null string it indicates a permanent reassignment.
format: 'date-time'
nullable: true
example: '2022-07-30T17:00:00.000Z'

View File

@@ -0,0 +1,10 @@
type: object
description: The response body of a Reassignment Configuration for a single identity
properties:
identity:
$ref: 'Identity.yaml'
configDetails:
type: array
description: Details of how work should be reassigned for an Identity
items:
$ref: 'ConfigurationDetailsResponse.yaml'

View File

@@ -0,0 +1,10 @@
type: object
description: The response body of a Reassignment Configuration for a single identity
properties:
identity:
$ref: 'Identity.yaml'
configDetails:
type: array
description: Details of how work should be reassigned for an Identity
items:
$ref: 'ConfigurationDetailsResponse.yaml'

View File

@@ -0,0 +1,12 @@
type: object
description: The response body for Evaluate Reassignment Configuration
properties:
reassignToId:
type: string
description: The Identity ID which should be the recipient of any work items sent to a specific identity & work type
example: 869320b6b6f34a169b6178b1a865e66f
lookupTrail:
type: array
description: List of Reassignments found by looking up the next `TargetIdentity` in a ReassignmentConfiguration
items:
$ref: 'LookupStep.yaml'

View File

@@ -0,0 +1,11 @@
type: object
description: The definition of an Identity according to the Reassignment Configuration service
properties:
id:
type: string
description: The ID of the object
example: 2c91808380aa05580180aaaaf1940410
name:
type: string
description: Human-readable display name of the object
example: William.Wilson

View File

@@ -0,0 +1,14 @@
type: object
description: The definition of an Identity according to the Reassignment Configuration service
properties:
reassignedToId:
type: string
description: The ID of the Identity who work is reassigned to
example: 869320b6b6f34a169b6178b1a865e66f
reassignedFromId:
type: string
description: The ID of the Identity who work is reassigned from
example: 51948a8f306a4e7a9a6f8f5d032fa59e
reassignmentType:
description: Reassignment type
$ref: 'ReassignmentTypeEnum.yaml'

View File

@@ -0,0 +1,8 @@
type: string
description: Enum list containing types of Reassignment that can be found in the evaluate response.
enum:
- MANUAL_REASSIGNMENT,
- AUTOMATIC_REASSIGNMENT,
- AUTO_ESCALATION,
- SELF_REVIEW_DELEGATION
example: AUTOMATIC_REASSIGNMENT

View File

@@ -0,0 +1,9 @@
type: object
description: Details of any tenant-wide Reassignment Configurations (eg. enabled/disabled)
properties:
disabled:
type: boolean
nullable: true
description: Flag to determine if Reassignment Configuration is enabled or disabled for a tenant. When this flag is set to true, Reassignment Configuration is disabled.
default: false
example: true

View File

@@ -0,0 +1,5 @@
type: object
description: Tenant-wide Reassignment Configuration settings
properties:
configDetails:
$ref: 'TenantConfigurationDetails.yaml'

View File

@@ -0,0 +1,7 @@
type: object
description: Tenant-wide Reassignment Configuration settings
properties:
auditDetails:
$ref: 'AuditDetails.yaml'
configDetails:
$ref: 'TenantConfigurationDetails.yaml'

View File

@@ -0,0 +1,7 @@
type: string
description: Enum list of valid work types that can be selected for a Reassignment Configuration
enum:
- accessRequests
- certifications
- manualTasks
example: accessRequests

View File

@@ -0,0 +1,4 @@
summary: Evaluate response when no Reassignment Configuration is found
value:
reassignToId: '2c9180825a6c1adc015a71c9023f0818'
lookupTrail: []

View File

@@ -0,0 +1,16 @@
summary: Evaluate response when a long Reassignment trail is found
value:
reassignToId: '2c9180825a6c1adc015a71c9023f0818'
lookupTrail:
- reassignedToId: '2c918084575812550157589064f33b89'
reassignedFromId: '2c9180825a6c1adc015a71c9023f0818'
reassignmentType: 'AUTOMATIC_REASSIGNMENT'
- reassignedToId: '073204941f3f49c0b3a3c49d1c17ef0e'
reassignedFromId: '2c918084575812550157589064f33b89'
reassignmentType: 'AUTOMATIC_REASSIGNMENT'
- reassignedToId: '31d9c631f5574571a935aaa48a6255df'
reassignedFromId: '073204941f3f49c0b3a3c49d1c17ef0e'
reassignmentType: 'AUTOMATIC_REASSIGNMENT'
- reassignedToId: '279de502e5dc43f4854e1b96f57c578f'
reassignedFromId: '31d9c631f5574571a935aaa48a6255df'
reassignmentType: 'AUTOMATIC_REASSIGNMENT'

View File

@@ -0,0 +1,16 @@
summary: Evaluate response when a self-review is found and manager or org admin escalation is applied
value:
reassignToId: '2c9180825a6c1adc015a71c9023f0818'
lookupTrail:
- reassignedToId: '2c918084575812550157589064f33b89'
reassignedFromId: '2c9180825a6c1adc015a71c9023f0818'
reassignmentType: 'AUTOMATIC_REASSIGNMENT'
- reassignedToId: '073204941f3f49c0b3a3c49d1c17ef0e'
reassignedFromId: '2c918084575812550157589064f33b89'
reassignmentType: 'AUTOMATIC_REASSIGNMENT'
- reassignedToId: '31d9c631f5574571a935aaa48a6255df'
reassignedFromId: '073204941f3f49c0b3a3c49d1c17ef0e'
reassignmentType: 'SELF_REVIEW_DELEGATION'
- reassignedToId: '279de502e5dc43f4854e1b96f57c578f'
reassignedFromId: '31d9c631f5574571a935aaa48a6255df'
reassignmentType: 'AUTOMATIC_REASSIGNMENT'

View File

@@ -1378,6 +1378,16 @@ paths:
$ref: './beta/paths/notification-template-context.yaml'
/notification-preferences/{key}:
$ref: './beta/paths/notification-preferences.yaml'
/reassignment-configurations/types:
$ref: './beta/paths/reassignment-configuration-types.yaml'
/reassignment-configurations:
$ref: './beta/paths/reassignment-configurations.yaml'
/reassignment-configurations/{identityId}:
$ref: './beta/paths/reassignment-configuration.yaml'
/reassignment-configurations/{identityId}/evaluate/{configType}:
$ref: './beta/paths/reassignment-configuration-evaluate.yaml'
/reassignment-configurations/tenant-config:
$ref: './beta/paths/tenant-configuration.yaml'
/recommendations/request:
$ref: './beta/paths/recommendations-request.yaml'
/recommendations/config: