Design a Project

You create and design a project and its components (integrations, connections, lookups, and JavaScript libraries) from a single location.

Control Who Can Edit, View, and Monitor in a Project

You can control the users and groups that edit, view, and monitor a project with role-based access control (RBAC). You select who can access a set of project resources while limiting (or hiding) those same resources from others (for example, providing an HCM group of users with access to some project resources while restricting an ERP group of users from accessing those same project resources).

Capabilities

RBAC-enabled projects provide the following capabilities:

  • Support project isolation

    Project isolation enables multiple users and groups to work in the same Oracle Integration instance, with access to only the projects to which they are assigned. This enables multiple groups (for example, ERP and HCM) to work on the same Oracle Integration instance and only edit, view, and monitor project resources assigned to their group.


    The Oracle Integration Instance box includes two boxes inside it: Project ERP_DEV and Project HCM_DEV. ERP_DEV includes an ERP Group box with entries for User Kevin (Project Owner), User Ingrid (Project Editor), User Carla (Project Viewer), and User Mark (Project Monitor). HCM_DEV includes an HCM Group box with entries for User Melissa (Project Owner), User Sacheth (Project Editor), User Vamsi (Project Viewer), and User Sneha (Project Monitor).

  • Support for setting restriction levels within a project

    You can assign users and groups to specific project permissions based on their needs. For example, you assign project editor permissions to some users and groups to create and edit projects and invoke integrations, while you assign project monitor permissions to other users and groups to only monitor integration instances at runtime.


    The Project Access box includes buttons for Unrestricted Access and Restricted Access (which is selected). Restricted Access includes a labeled that says Default to restricted. Project Access includes a label that says Any admin member can edit. Below is a table with two rows: HCM Group and ERP Group. The table columns are named View, Edit, Monitor, and Admin. Admin includes a label that says Project admins can update access control. This label points down to a label that says Oracle Integration Service admin is project admin at all times.

    Project permissions are similar to the Oracle Integration service roles (for example, ServiceDeveloper, ServiceMonitor, ServiceInvoker, and others) that the user with the ServiceAdministrator role first assigns to other users and groups from the Oracle Cloud Infrastructure Console in an Oracle Identity Cloud Service or identity domain environment. See Manage Access and Assign Roles in Provisioning and Administering Oracle Integration 3.

    Project permissions are essentially a layer of permissions on top of service roles.

    Once you assign these service roles to users and groups, the user with the ServiceAdministrator role or the project owner can assign these users and groups with project permissions inside a specific project. Project access is restricted based on a user's service role, plus their project permissions.

    The following project permissions are available:
    Project Permission Description

    Owner

    Enables you to perform all available actions on the project (as a project-level super user), including associating groups/users with each project permission. The project creator (owner) is automatically set as a project-level super user.

    Modification of project permissions is restricted to the user with the ServiceAdministrator role (system super user) and the project owner (project-level super user).

    Only a user with the ServiceAdministrator role or a ServiceDeveloper who is an owner/editor of a project can export the project to another Oracle Integration instance.

    Editor

    Enables you to edit certain metadata in a project, create projects, and create, remove, edit, and run project resources.

    You can view runtime metrics and perform actions against runtime instances. You cannot modify the assigned project permissions.

    Viewer

    Enables you to view certain metadata in a project and discover and view project resources.

    You cannot add, remove, edit, run, export, or import a project or project resources.

    Monitor

    Enables you to monitor runtime metrics in a project and perform actions (for example, abort, retry, and discard) against runtime instances.

    You cannot access the Design and Deploy tabs of a project.

    None

    A user without any project permissions (owner, editor, viewer, monitor) can see the project name when viewing the main Projects page. However, the user cannot do the following:
    • Access the project details page to retrieve any details or query details with a REST API.
    • View instance monitoring details (for example, integration statistics, instances, errors, and more) outside the project under the Observability tab.
  • Support RBAC for projects created prior to version 23.06

    After version 23.06 patching, projects created in versions 23.04 and earlier automatically include the Share section inside the project. These earlier projects automatically inherit the Everyone project permission. This setting makes everyone with the correct service role an owner who can edit, view, and monitor project resources. You can then restrict access if necessary by assigning users and groups to each project permission. If you are happy with your pre-23.06 permissions, you can also leave things as they are. Assigning specific project permissions is not required.


    The Share section includes an edit icon. The following words appear: Everyone is an owner, Everyone can edit, Everyone can view, and Everyone can monitor.

  • Enforce the rule that a user's assigned service roles (ServiceDeveloper, ServiceMonitor, ServiceInvoker, and others) always takes precedence over their assigned project permissions. For example:
    • Assume a user with the ServiceMonitor service role is assigned the editor project permission in the Can edit field.


      The Share dialog shows fields for Owners, Can edit, Can view, and Can monitor.

      However, because this user is only assigned the ServiceMonitor service role, their permissions in the project are not elevated to allow them to create, update, or delete project resources; they can only monitor the project.

  • Support projects on a single Oracle Integration instance that are both unrestricted and restricted for use by one or more groups.

    When you create a project, import a project, or convert a package to a project, you can select the Anyone can edit, view, and monitor check box if you want to make a project unrestricted to all users with the correct service roles. See Create or Import a Project and Convert a Package to a Project.

  • Allow users with the ServiceAdministrator role to perform all actions in a project, regardless of project permissions.
  • Filter the ability to call REST APIs.

    For example, a user in an ERP group who invokes the /ic/api/integration/v1/monitoring/instances API only returns flow instance data from integrations attached to their group.

  • Support having zero or more project owners.

    If zero, then project owner defaults to the user with the ServiceAdministrator role. Only administrators have the unique privilege to update project-level access control. Project owners are essentially project-level super users.

RBAC-Enabled Projects FAQ

  • Can you import a standalone integration into an RBAC-enabled project?

    Only a user with the ServiceAdministrator role or a user with the ServiceDeveloper role that has the owner or editor project permission can import a standalone integration into an RBAC-enabled project.

  • Are project permissions moved from development to test to production environments in a CICD pipeline?

    Project permissions are not moved to test and production. The users and groups have different permissions in different environments. However, if a user sets up permissions in production, they are carried forward for future project updates. When a project is imported for the first time, it is owned by whoever imported it. That user must set the project permissions. If a project is re-imported, the permissions are left alone.

  • Do standalone (non-project) integrations use RBAC?

    Integrations created outside of a project do not support RBAC. Non-project or global resources are restricted by existing service roles.

  • Are there limits on the number of users and groups you can assign to a project?

    You can assign a maximum of five users and/or groups (any combination) to each of the project roles.

  • Do I need to use RBAC with my projects

    No, using RBAC is optional. If you do not want to use it, you can ignore the Share section in the project.

  • Can members of a project see the other members and their project permissions?

    Only a user with the ServiceAdministrator role or a ServiceDeveloper who is the project owner can see other assigned members. For these two conditions only, the Share section is editable.

  • Do project permissions take precedence over service roles?

    No. Service roles (ServiceDeveloper, ServiceMonitor, ServiceInvoker, and others) always takes precedent over the assigned project permissions. For example, if a user with the ServiceMonitor service role is assigned the editor project permission, they cannot access the Design and Deploy tabs of a project.

  • Can restrictions be enforced at the REST API level? For example, can lookup update/delete only be assigned to a specific user and restricted from another?

    No. If both users have editor permissions on one type of resource, they have permissions on all types of resources.

  • If you have the editor permission in project A and want to invoke a child integration (set as publicly available) in project B, but you only have the monitor permission (or perhaps, no permission) in project B, can you do so? Or do you need to update your permissions in project B to match those in project A?

    You can discover and invoke the child integration in project B without setting any additional project permissions.

  • Any special permissions for project deployment? Can only a user with the edit permission create a deployment?

    To create a project deployment, you must have the ServiceAdministrator role or the ServiceDeveloper role plus the project owner/editor permission.

  • Can a user create groups and assign permission to groups rather than assigning users?

    Yes, the entries can be Oracle Identity Cloud Service or identity domain users or groups.

  • Can a user with the ServiceMonitor service role see all integrations?

    From monitoring pages under Observability, the user with the ServiceMonitor service role cannot see all the integrations. They cannot see integrations that are part of a project on which they do not have any permissions. The same applies to integration instances.

  • Are project roles applied in a production system?

    Project roles are still applicable. For example, the HCM_monitor group can monitor HCM projects, but not the finance project.

  • What can a user with no project permissions do?

    They can see the existence of the project on the main Projects page, but cannot perform any actions and are not allowed to access the project details page. They also cannot see monitoring resources (for example, integration statistics, instances, errors, and others) for the project under the Observability tab.

Select Who Can Edit, View, and Monitor a Project

The user with the ServiceAdministrator role or the project owner can select the users and groups who can view, edit, and monitor the page.

  1. In the navigation pane, click Projects.
  2. Click the project name or click Edit icon.
  3. Go to the Share section.


    The Share section shows an option for editing and the owner of the project.

  4. Click Edit icon to show the Share dialog.


    The Share dialog shows fields for Owners, Can edit, Can view, and Can monitor.

  5. Assign users and groups to the project permissions, and click Share.

    Note:

    You must have already created users and groups to which you assigned those users before they are visible for selection in this dialog. See Manage Access and Assign Roles in Provisioning and Administering Oracle Integration 3.
    Field Description

    Owners

    Begin typing to search for users and groups to own the project. By default, the user who created the project is an owner. The user with the ServiceAdministrator service role is also automatically an owner.

    The owner can perform all available actions, including associating users and groups with each of the project permissions.

    Can edit

    Begin typing to search for users and groups to which to assign the editor permission.

    If you select a user or group that includes users that do not have the ServiceDeveloper role, those users are unable to edit the project.

    Can view

    Begin typing to search for users and groups to which to assign the viewer permission.

    Can monitor

    Begin typing to search for users and groups to which to assign the monitor permission.

Best Practices

  • Provide project access only to users that need it.
  • Give users the minimal permissions necessary to perform their responsibilities. For example, if a user only needs to monitor integrations, don't give them the permission to edit integrations.
  • Give projects nonsensitive names. For example, don't specify names such as employeeSalaries, employeeRatings, and so on. Even if users don't have access to projects, they can still see the project names listed on the Projects page.

RBAC-Enabled Project Use Case

This use cases provides a high level example of creating an RBAC-enabled project. It demonstrates what users can and cannot do based on their assigned project permissions.

  1. Neeharika, the user with the ServiceAdministrator role, performs the following tasks:
    1. Creates the following user and service role assignments in the Oracle Cloud Infrastructure Console:
      • Vijaya: ServiceDeveloper
      • Bipin: ServiceDeveloper
      • Sumit: ServiceDeveloper
    2. Goes to the Projects page, and clicks Add.
    3. Creates two new projects:
      • HCM Project12
      • FinancialServiceLocalInvoke
    4. Opens HCM Project12.
    5. Goes to the Share section.


      The Share section shows an option for editing and the owner of the project.

    6. Clicks Edit Edit icon to show the Share dialog.
    7. Assigns the following users to each project permission. By default, Neeharika is the owner because she created the HCM Project12 project.


      The Share dialog shows fields for Owners (Neerharika is entered, Can edit (vijaya is entered), Can view (Bipin is entered), and Can monitor (Sumit is entered).

      This configuration creates the following similarities between the service roles and the project permissions:

      User Service Role Project Permission
      Vijaya ServiceDeveloper Editor
      Bipin ServiceDeveloper Viewer
      Sumit ServiceDeveloper Monitor
    8. Does not make any project permission updates in the Share section of the FinancialServiceLocalInvoke project.

      Because Neeharika created this project, she is listed as the owner. The Can edit (for the editor permission), Can view (for the viewer permission), and Can monitor (for the monitor permission) fields remain empty.


      The Share dialog shows fields for Owners (Neerharika is entered, Can edit, Can view, and Can monitor.

    With project permission assignments complete, Vijaya (editor permission), Bipin (viewer permission), and Sumit (monitor permission) log in and see their capabilities and restrictions.

  2. What the Vijaya (ServiceDeveloper with the editor project permission) can do:
    1. Opens the HCM Project12 project and goes to the Share section. Because Vijaya has editor permissions, she can edit, view, and monitor resources in the project.


      The Share section shows the words You can edit, view and monitor.

    2. Clicks Actions Actions icon in the Integrations section and notes that all edit actions are listed and can be performed.


      The menu shows the Configure, Edit, View, Update property values, Refresh endpoints, Activate, Create new version, Clone, and Delete options.

    3. Moves around the project and successfully performs assorted editor tasks without any restrictions, such as the following:
      • Adds new project keywords in the Details section.
      • Imports a schedule integration and updates the schedule.
      • Deletes a library.
    4. Exits the HCM Project12 project.
    5. Attempts to open the FinancialServiceLocalInvoke project. This is the project described in Step h to which no project permissions were assigned.
      Because Vijaya is not assigned any permissions on this project, the following error is displayed:
      User Vijaya does not have sufficient privilege to perform this action.
  3. What Bipin (ServiceDeveloper with the viewer project permission) can do:
    1. Opens the HCM Project12 project and goes to the Share section. Because Bipin has viewer permissions, he can only view resources in the project.


      The Share section shows the words You can view.

    2. Clicks Actions Actions icon in the Integrations section and notes that no edit actions are listed; only the View and Schedule (for viewing the schedule) actions can be performed.


      The Integrations section shows two integrations: A schedule integration that is on version 1.0.0 and is Configured. The Actions menu is selected to show options for View and Schedule. Below this is an app-driven orchestration integration that is on version 1.0.0 and is Configured.

    3. Clicks the Deploy tab.
    4. Clicks Actions Actions icon and notes that no edit actions are listed; only the View action can be performed.


      Two project deployments are shown in a table with columns for Name, Identifier, Integrations, and Last updated. The Actions menu for the first project deployment is selected to show an option for View.

    5. Clicks the Observe tab.
    6. Clicks Actions Actions icon and notes that no edit actions such as abort or retry are listed; only the Schedule (to view a schedule) and View child instances actions can be performed.


      Three integration instances are shown. The Actions menu for the first is selected to show options for Schedule and View child instances.

  4. What Sumit (ServiceDeveloper with the monitor project permission) can do:
    1. Opens the HCM Project12 project. Because Sumit has monitor permissions in the project, only the Observe tab is accessible. The Design and Deploy tabs are both disabled.


      The Design, Deploy, and Observe (which is selected) tabs are shown.

    2. Clicks Observe.
    3. Clicks View details View details icon to view the activity stream.
    4. Click Actions Actions icon and notes that Retry, Abort, Schedule, and View child instances can all be performed.


      The menu shows options for Retry, Abort, Schedule, and View child instances.

    5. Clicks the Future runs and Audit tabs to view future scheduled runs and audit details, respectively.


      The Instances (which is selected), Future runs, and Audit tabs are shown.

    6. In the navigation pane, clicks Observability, then Dashboards for a global view of aggregated data for all integrations in the instance (whether or not they are in a project). All integrations are visible to Sumit regardless of his project permissions.
    7. In the navigation pane, clicks the Integrations tab to view all integration instances except for instances in projects in which Sumit does not have project permissions.
      For example, if Sumit clicks Filter Filter icon, selects a project on which he does not have any permissions, and clicks Apply, the following error is displayed:
      User Sumit does not have sufficient privilege to perform this action.
    8. Clicks Actions Actions icon to view the instance statistics for an integration instance that is part of the HCM Project12 project.


      The menu shows options for Run, Start schedule, Schedule,and Edit schedule.

    9. Selects the Edit schedule option, but receives the following error:
      User Sumit does not have sufficient privilege to perform this action.

      The restriction occurs because Sumit's monitor permissions do not support this task.

    10. In the navigation pane, clicks the Instances tab to view all tracking instances except for instances in projects in which Sumit does not have project permissions.
    11. Performs monitoring tasks successfully:
      • Views the activity stream.
      • Aborts and retries instances.
    12. In the navigation pane, clicks the Errors tab to view all instances in error except for instances in projects in which Sumit does not have project permissions.
    13. Performs monitoring tasks successfully:
      • Views the activity stream.
      • Aborts and retries instances.

Create or Import a Project

You can create a project in which to design, manage, and monitor integrations. You can also import user-developed, accelerator, or recipe projects into an instance.

Create or Import a Project

  1. In the navigation pane, click Projects.
  2. Click Add.
  3. Select an option:
    • Create a new project.
    • Import an existing project.
  4. To create a new project, perform the following steps.
    1. Click Create.
    2. Enter the following information.
      Field Description

      Name

      Provide a meaningful name so that others can understand the project. You can include English alphabetic characters, numbers, underscores, and dashes in the identifier.

      Note: You cannot create a project name containing -BA- or _BA_. These conventions are reserved for accelerator projects.

      Identifier

      Accept the default identifier value. The identifier is the same as the project name you provided, but in upper case.

      Keywords Enter keywords (tags) to identify the project. You can search for projects on the Projects page using keywords. Keywords are useful for filtering and discovery.

      Description

      Provide a meaningful description so that others can understand the project.

      Anyone can edit, view, and monitor

      • Select this option to allow anyone to edit, view, and monitor resources in the project.

        You can always restrict access at a later time.

      • Don't select this option if you want to restrict access to editing, viewing, and monitoring resources in this project. After project creation, you can select the specific groups and users to which to provide access. See Control Who Can Edit, View, and Monitor in a Project.
    3. Click Create.

      Your new project page is displayed. You can now add integrations, connections, lookups, and JavaScript libraries to the project.

  5. To import an existing project (.CAR file), perform the following steps. This enables you to import a project with all assets and metadata from one system to another. You can import user-developed, accelerator, or recipe projects.
    1. Click Import.
    2. Click the field to browse for a project or drag and drop a project into the field.
    3. With the Anyone can edit, view, and monitor check box, select the level of access you want to provide to other users:
      • Select this option to allow anyone to edit, view, and monitor resources in the project.

        You can always restrict access at a later time.

      • Don't select this option if you want to restrict access to editing, viewing, and monitoring resources in this project. After import, you can select the specific groups and users to which to provide access. See Control Who Can Edit, View, and Monitor in a Project.
    4. Click Import.

      The project connections contain information that is specific to the processing environment. Connections in the imported project omit this potentially sensitive data. You must reconfigure connections before they can operate properly.

Understand an Imported Oracle Accelerator Project

If you import an Oracle accelerator project into your project, the project includes the labels Accelerator and Oracle on the Projects page. The Type column also includes the Accelerator label.


The Name, Type, Last updated, and Status columns are shown. The integration in the Name column has labels for Accelerator and Oracle. The Type column says Accelerator.

Note the following accelerator project restrictions:
  • You cannot edit the details that were specified when the project was created, such as name, project identifier, description, and keyword selections. These details are in read-only mode.
  • The Edit, Clone, and Delete tasks are not visible under the Actions Actions icon menu on the Deploy tab. The only task visible under this menu is View.
  • You can extend (customize) an integration in the accelerator project by selecting Actions Actions icon, then Extend. See Extend an Integration in an Accelerator Project.

Note the following restrictions for individual assets in accelerator projects

Integrations Connections Lookups JavaScript Libraries Deployments Certificates

Allowed:

  • View
  • Activate
  • Deactivate
  • Override default property values

Restricted:

  • Add
  • Delete
  • Clone
  • Create new version

Allowed in extended accelerator:

  • Add a scope or stitch action before an invoke
  • Merge a scope or stitch action from the next lower version of the integration

Restricted in extended accelerator:

  • Update primary information

Allowed:

  • View
  • Test
  • Refresh metadata
  • Edit and save
  • Save and reactivate

Restricted:

  • Add connections
  • Delete connections
  • Update primary information

Allowed:

  • View
  • Edit and save
  • Add or remove rows and update values in rows

Restricted:

  • Add lookups
  • Delete lookups
  • Update domain name
  • Add or remove domain
  • Update primary information

Allowed:

  • View

Restricted:

  • Add libraries
  • Delete libraries

Allowed:

  • Uninstall
  • View
  • Export **
  • Activate
  • Deactivate

Restricted:

  • Create, update, or delete the deployment

No restrictions.

** Export as an accelerator or extended accelerator only.

Add a Newer (Extended) Version of an Accelerator Project

Assume a newer version of an accelerator project becomes available for you to import.

For this example, assume the first version of the accelerator project included integrations Oracle ERP 1 and Oracle ERP 2, each with versions of 1.0.0.
The Integrations section shows two integrations, Oracle ERP 1 and Oracle ERP 2, each with versions of 1.0.0. Both are labeled as Configured. An Actions (…) menu is shown for each. An Add icon appears in the upper right corner.

The two integrations and their versions are included in a project deployment named 1.0.0 that you previously imported into your instance.
The Design, Deploy (which is selected), and Observe tabs are shown. To the right are the Export, Activate, and Deactivate links. Below is a table with columns for Name, Identifier, Integrations, and Last updated. One deployment named 1.0.0 is shown.

A newer version of the accelerator project then becomes available. This version now includes two versions of the two integrations: Oracle ERP 1 versions 1.1.0 and 1.0.0 and Oracle ERP 2 versions 1.1.0 and 1.0.0.
The Integrations section shows two integrations, Oracle ERP 1 and Oracle ERP 2, each with versions of 1.0.0 and 1.0.1. Both are labeled as Configured. An Actions (…) menu is shown for each. An Add icon appears in the upper right corner.

All four integrations and versions are included in a project deployment named 1.1.0.
The Design, Deploy (which is selected), and Observe tabs are shown. To the right are the Export, Activate, and Deactivate links. Below is a table with columns for Name, Identifier, Integrations, and Last updated. Two deployments, named 1.0.0 and 1.0.1, are shown.

  1. In the navigation pane, click Projects.
  2. Click Add.
  3. Click Import and upload the latest accelerator project.
    The following message is displayed:
    Project has been successfully imported.


    The Name, Type, Last updated, and Status columns are shown. The integration in the Name column has labels for Accelerator and Oracle. The Type column says Accelerator. The Status column says Configured.

  4. Click the project name or click Edit icon.

    Note that the latest accelerator project includes Oracle ERP 1 versions 1.1.0 and 1.0.0 and Oracle ERP 2 versions 1.1.0 and 1.0.0.
    The Integrations section shows two integrations, Oracle ERP 1 and Oracle ERP 2, each with versions of 1.0.0 and 1.1.0. Both are labeled as Configured. An Actions (…) menu is shown for each. An Add icon appears in the upper right corner.

Understand an Imported Recipe Project

When you import a recipe project, it is displayed as Developed in the Type column on the Projects page.


The Name, Type, Last updated, and Status columns are shown. The Type column says Developed. The Status column says Configured.

Create, Import, or Copy an Integration into a Project

You can create, import, or copy integrations into a project. The integration to copy can be either in a different project (as long as it is marked as globally available) or outside of any project.

  1. In the navigation pane, click Projects.
  2. Click the project name or click Edit icon.
  3. In the Integrations section, click Add if no integrations currently exist or + if integrations already exist.
    The Add integration panel opens.
  4. Select an option to add an integration.
    Option Description

    Create

    Select to create one of the following integration patterns:
    • Application
    • Schedule
    • Event

    Follow the steps to create an integration. See Create an Integration.

    Import

    Select to import an integration (.IAR) file. See Import an Integration.

    Note the following details:
    • You can import an integration that was not created in a project (for example, it was created as a standalone integration in another instance).
    • You can import integrations created outside of a project that publish and subscribe to events. Importing a publishing integration into a project also imports the event. The event becomes visible in the Events section of the project details page.

    Copy

    You can copy an integration into a project. The integration to copy can be available in either of the following locations:

    In another project.
    1. Ensure that the Search in projects check box is selected. This is the default selection.
    2. Search for or select the project that includes the integration to copy. Besides searching the listed projects, all available projects in Oracle Integration are searched on the basis of full name, partial name, keywords, and description to fetch the data from the server side.
    3. Search for or select the integration to copy in that project. Only the listed integrations are searched. That is, the integrations exposed outside of the selected project are listed upon selection of the project. (Data is only fetched from the client side.)
      Even though the integration to copy is in a project, it must be publicly available. That is, you selected the Available to other projects check box during integration creation or editing under Primary Info Primary information icon in the integration canvas. Otherwise, you receive the following error:
      Either there is no integration available or visible outside the project.

      Integrations in projects in which the Available to other projects check box is not selected are not available for selection.

    4. Click Copy.
    Globally available (that is, outside any projects). Besides searching for listed integrations, all globally available integrations in Oracle Integration are searched on the basis of full name, partial name, keywords, and description.
    1. Deselect the Search in projects check box.
    2. Search for or select the integration to copy.
    3. Click Copy.
  5. Follow the instructions to design your integration type:

Unlock an Integration in a Project

You can unlock and recover unsaved changes in an integration in a project. An integration becomes locked if your browser fails during design-time.

  1. In the navigation pane, click Projects.
  2. Click the project name or click Edit icon.
  3. In the Integrations section, hover over the specific integration to unlock.
  4. Click Actions Actions icon and select Unlock.
  5. Follow the steps to unlock and recover unsaved changes in an integration. See Recover Unsaved Integration Changes.

Refresh Endpoints of an Integration in a Project

You can refresh the endpoints of an integration in a project that includes endpoints that support refreshing artifacts.

  1. In the navigation pane, click Projects.
  2. Click the project name or click Edit icon.
  3. In the Integrations section, hover over the specific integration to refresh.
  4. Click Actions Actions icon and select Refresh Endpoints.

Update Property Values of an Integration in a Project

You can update property values of an integration in a project. At runtime, these integration properties take effect and override the values you configured at design time.

Note the following guidelines for viewing and editing property values in integrations.
Integration Pattern When Activated When Deactivated
Application integration Can view, but not edit. Can edit.
Schedule integration Can edit. Can view, but not edit.
  1. In the navigation pane, click Projects.
  2. Click the project name or click Edit icon.
  3. In the Integrations section, hover over the specific integration to update.
  4. Click Actions Actions icon and select Update property values.

Create a Version of an Integration in a Project

You can create a new version of an integration in a project.

Note:

Integration versions follow a formatting convention of xx.yy.zzzz, where xx is the major version and yy.zzzz is the minor version. If you clone an integration (for example, version 1.00.0000) and change the minor version of the cloned integration to 1.10.0000, version 1.00.0000 is deactivated when you activate version 1.10.0000. To keep both integrations active, change the major version of the cloned integration to 2.00.0000. This enables integration versions 1.00.0000 and 2.00.0000 to be active at the same time.
  1. In the navigation pane, click Projects.
  2. Click the project name or click Edit icon.
  3. In the Integrations section, find the integration to version.
  4. Click Actions Actions icon, then select Create a new version.
    The Create new version panel opens.
  5. Enter a name, unique identifier, version number, keywords, and an optional description.
    You can include English alphabetic characters, numbers, underscores, and dashes in the identifier. Enter the version using numbers only in this format: xx.xx.xxxx.
  6. Click Create version.

Add and Share a Connection Across a Project

You can add a connection to use in an integration in a project. During creation, you can also select to make the connection available across projects. This selection allows you to share the connection resources from one project with other projects. This feature also eliminates the need to create separate connections in each project.

Create a Connection

  1. In the navigation pane, click Projects.
  2. Click the project name or click Edit icon.
  3. In the Connections section, click Add if no connections currently exist or + if connections already exist.

    The Create connection panel opens.

  4. Select the adapter to use in the connection.
  5. Follow the steps to create a connection. See Create a Connection.

    The connection property and connection security values are specific to each adapter. Your connection may also require configuration with an access type such as a private endpoint or an agent group. See Configure Connection Properties and Security Properties and Create a Connection with an Agent Group.

  6. Test the connection. See Test the Connection.

Share Connection Resources Across Projects

You can share adapter connection resources across projects. For example, you may have two projects that need to integrate with a common system, such as Oracle ERP Cloud. You create and configure the following connection types:
  • Publicly available connection: You create, configure, and maintain a single Oracle ERP Cloud Adapter connection that you select to share with other projects. This selection makes the connection publicly available to adapters of the same adapter type and role in other projects.
  • Local connections: You create additional connections in other projects that reference the publicly available connection. Referencing the connections means that you don't explicitly configure connection properties, security properties, or access types for these connections. You override the local connection settings by referencing the settings of the publicly available connection. This reference enables you to share resources across each project.

Oracle ERP appears at the top. Arrows connect to Oracle ERP from project 1 and project 2. Inside project 1 are integration 1 and connection 1. Connection 1 is labeled as publicly available. Inside project 2 are integration 2 and connection 2. Connection 2 is labeled as local. An arrow goes from connection 2 to connection 1.

Note:

Note the following connection sharing restrictions:
  • If you update the connection configuration settings for a publicly available connection, the activated integrations for any local connections that are referencing the publicly available connection must be reactivated to capture those updates.
  • Lookup and JavaScript library resources cannot be shared across projects.
  • You cannot track failed integration instances by the publicly-available connection.
The following example describes how to configure connection sharing:
  • You create and configure a publicly available connection.
  • You create a local connection that references the configuration settings of the publicly available connection.
  1. Open a project.
  2. In the Connections section, click Add if no connections currently exist or + if connections already exist.
  3. Create an adapter connection. For this example, a REST Adapter is selected. See Create a Connection.
  4. Select a role from the Role list (for this example, Trigger is selected) and click Share with other projects to make this connection publicly available for use across projects.


    The Create connection panel shows the Name, Identifier, Role, Keywords, Description, and Share with other projects elements.

  5. Configure the connection properties, connection security, and access control for the publicly available adapter.
  6. Test and save the connection, then exit the Connections page.

    The connection is displayed as Configured in the project.


    The Connections section shows the connection name, its role (trigger), its state (Configured), and the Actions menu.

  7. Open a different project to create the local connection.
  8. Create a connection of the same adapter type (REST Adapter) and same role (Trigger) to match the publicly available adapter.

    The Connections page is displayed. Note the Use a shared connection field at the top.

  9. Enter a letter that is part of the name of the publicly available connection (for this example, t is entered).

    A filtered list of connections is returned that shows only publicly available connections of the same adapter type (REST Adapter) and same role (Trigger) that include that letter.


    A letter is entered in the Use a shared connection field, which displays a selection that includes that letter and is of the same role type.

  10. Select the publicly available connection (for this example, testConn). If the project of the publicly available connection is configured with role-based access control (RBAC) settings, you must have at least view permissions in that project.
  11. Click Save.

    The local connection automatically references the connection configuration settings of the publicly available connection.


    The Connections page shows the Configured label at the top. Below is the Use a shared connection section. The View and Remove buttons are displayed. The Configuration progress section is shown, with a progress bar. Below is the Configure a connection section, with subsections for Security and Access type.

  12. Save the connection, then exit the Connections page.

    The connection is displayed as Configured in the project. The Override label is displayed, meaning this connection references the resources of the publicly available connection.


    The Connections section shows the connection name, its role (trigger), its state (Configured), and the Actions menu. The word Override appears under the connection name.

  13. Create an integration.

    The local connection is available for selection in the integration canvas. The Override label indicates that this connection is referencing the resources of the publicly available connection in the other project.


    The integration canvas shows the triggers list. The local connection is shown being selected.

  14. Design the remaining parts of your integration.
  15. Activate and run the integration.
  16. View the activity stream and note that the integration instance was run by referencing the resources of the publicly available connection.

Refresh Endpoints Using Connection Sharing

You can override a local connection in a draft state with a publicly-available connection in a configured state, and then regenerate the endpoints for the local connection. This section describes this capability with a brief example.
  1. Create a local connection and leave it in a draft state (for this example, the connection is named RIGHTNOW_CONN).


    The Connections section shows two connections in draft state.

  2. Go to the integration canvas and view the map action for the connection. This shows the contents of the mapper prior to endpoint refreshing. Note that there are source and target elements named regen 1 and regen 2.


    The mapper shows the Sources, Mapping canvas, and Target sections. The Validate button appears in the upper right corner. Three icons appear above the Sources section. Eight icons appear above the Target section.

  3. Return to the Connections section and open the connection (RIGHTNOW_CONN) for editing.
  4. In the Use a shared connection field, enter the beginning letter to filter the list, and select the shared connection to use (for this example, named right_NOW).


    The Connections page is shown for RIGHTNOW_CONN. The state is shown as Draft. The Role, Identifier, and Updated on values are shown. Below this is the Use a shared connection field. Available shared connections are shown.

  5. Save the connection.

    The connection state is changed to configured.


    The Connections page is shown for RIGHTNOW_CONN. The state is shown as Configured. The Role, Identifier, and Updated on values are shown. Below this is the Use a shared connection field, which includes a connection. The View button appears. Below this is the Configure a connection section, which includes the values for Properties and Security.

  6. Go to the Integrations section of the project.
  7. Hover over the row of the integration, and select Actions Actions icon, and then Refresh endpoints.

    The Refresh endpoints panel opens.

  8. Select the connection to refresh (RIGHTNOW_CONN), then click Refresh.
  9. Wait for the refresh to complete.
  10. Return to the mapper for the connection. Note that there are now source and target elements named Regen 1, Regen 2, Regen 3, and Regen 4.


    The mapper shows the Sources, Mapping canvas, and Target sections. The Validate button appears in the upper right corner. Three icons appear above the Sources section. Eight icons appear above the Target section.

  11. Validate the mappings.
  12. Save and exit the integration.

Share Connection Resources in Accelerator Projects

When you install an accelerator project, all connections are initially in a draft state. You can use connection sharing for these connections instead of configuring each connection individually.

For example, if the accelerator project is using Oracle ERP Cloud Adapter and Twilio Adapter connections, you can use connection sharing if the following conditions are met:
  • There are publicly available connections for Oracle ERP Cloud Adapter and Twilio Adapter.
  • The roles are the same.
  • You have view permissions at a minimum on the project that includes the publicly available connections.

After you configure connection sharing for these adapters, you can activate the integration in the accelerator project.

Edit a Connection in a Project

You can edit an existing connection in an integration in a project.

  1. In the navigation pane, click Projects.
  2. Click the project name or click Edit icon.
  3. In the Connections section, find the adapter connection to edit.
  4. Click Actions icon, then click Edit.
    The page for editing the specific adapter's connection properties, security policy, and (if required) agent group is displayed.
  5. Follow the steps to edit the connection. See Configure Connection Properties and Security Properties and Create a Connection with an Agent Group. The connection property and connection security values are specific to each adapter.
  6. Test the connection. See Test the Connection.

Refresh Connection Metadata in a Project

You can manually refresh the currently-cached metadata available to adapter connections in a project that have implemented metadata caching.

  1. In the navigation pane, click Projects.
  2. Click the project name or click Edit icon.
  3. In the Connections section, find the specific adapter connection to refresh.
  4. Click Actions Actions icon and select Refresh metadata.
    If successful, the following message is displayed.
    Metadata refresh for connection connection_name has been initiated successfully.

Delete a Connection in a Project

You can delete an adapter connection in a project. A connection currently used in an active integration cannot be deleted. Deleting the connection would invalidate the integration. Active integrations would stop running. Remove the connection from the integration and then delete the connection.

  1. In the navigation pane, click Projects.
  2. Click the project name or click Edit icon.
  3. In the Connections section, find the specific adapter connection to delete.
  4. Click Actions Actions icon and select Delete.
  5. Confirm your selection when prompted.

Unlock a Connection in a Project

You can unlock a connection in a project. A connection becomes locked when the browser fails in edit mode, which prevents it from being edited.

  1. In the navigation pane, click Projects.
  2. Click the project name or click Edit icon.
  3. In the Connections section, find the specific adapter connection to unlock.
  4. Click Actions Actions icon and select Unlock.

Add a Lookup to a Project

You can create new or import existing lookups in a project. Only the lookups within the project can be used by expressions and in the mapper.

  1. In the navigation pane, click Projects.
  2. Click the project name or click Edit icon.
  3. In the Lookups section, click Add if no lookups currently exist or + if lookups already exist.
    The Add lookup panel opens.
  4. Select an option:
    • Create a new lookup
    • Import a lookup
  5. To create a new lookup, perform the following steps.
    1. Click Create.
    2. Enter the following information.
      Field Description

      Name

      Provide a meaningful name so that others can understand the lookup. You can include English alphabetic characters, numbers, underscores, and dashes in the identifier.

      Keywords Enter keywords (tags) to identify the lookup. You can search for lookups using keywords.

      Description

      Provide a meaningful description so that others can understand the lookup.

    3. Follow the steps to add adapters or domain names to a lookup. See Create a Lookup.
    4. Click Create.
  6. To import an existing lookup, perform the following steps.
    1. Click Import.
    2. Click the field to browse for a lookup (.CSV file) or drag and drop a lookup into the field.
    3. Click Import.

Edit a Lookup in a Project

You can edit a lookup in a project.

  1. In the navigation pane, click Projects.
  2. Click the project name or click Edit icon.
  3. In the Lookups section, find the lookup to edit.
  4. Click the lookup name or click Actions Actions icon and select Edit.

Clone a Lookup in a Project

You can clone a lookup in a project and customize its content to use in other integrations. Cloning provides a quick way to create a new lookup with similar information.

  1. In the navigation pane, click Projects.
  2. Click the project name or click Edit icon.
  3. In the Lookups section, find the lookup to clone.
  4. Click Actions Actions icon and select Clone.
  5. Enter a name, optional keyword, and optional description.

Delete a Lookup in a Project

You can delete a lookup in a project. A lookup cannot be deleted if in use by an integration. Deleting the lookup would invalidate the integration and cause an active integration to stop running. You must first remove the lookup from the integration and then delete the lookup.

  1. In the navigation pane, click Projects.
  2. Click the project name or click Edit icon.
  3. In the Lookups section, find the lookup to delete.
  4. Click Actions Actions icon and select Delete.

Import a JavaScript Library in a Project

You can import a JavaScript library file in .ZIP, .JAR, or .JS format into a project. Only those libraries within the project can be used by JavaScript callouts.

  1. In the navigation pane, click Projects.
  2. Click the project name or click Edit icon.
  3. In the Libraries section, click Add if no libraries currently exist or + if libraries already exist.
    The Import panel opens.
  4. Click the field to browse for a library file or drag and drop a library file into the field.

Delete a JavaScript Library in a Project

You can delete a JavaScript library in a project. If any of the library’s functions are used by an integration, you are prevented from deleting the library. You must remove the functions from the integration before you can delete the library.

  1. In the navigation pane, click Projects.
  2. Click the project name or click Edit icon.
  3. In the Libraries section, find the library to delete.
  4. Click Actions Actions icon and select Delete.

Update a JavaScript Library in a Project

You can update a JavaScript library in a project.

  1. In the navigation pane, click Projects.
  2. Click the project name or click Edit icon.
  3. In the Libraries section, find the library to update.
  4. Click Actions Actions icon and select Update.

Create Publish, and Subscribe to Events in a Project

You can create events that you publish and subscribe to in integrations in a project.

The process you follow to create, publish, and subscribe to an event in a project is the same as outside of a project. The only difference is that the events and integrations are only available within that specific project. The following steps provide an overview of the process and cross-reference other sections of this guide for more specific procedures.

  1. In the navigation pane, click Projects.
  2. Click the project name or click Edit icon.
  3. Scroll down to the Events section at the bottom.
  4. In the Events section, click + to create an event.

    The Define new event panel opens.

  5. Create the event payload structure. See Step 3 in Create Events to Publish and Subscribe to in Integrations.
  6. After you create events, you can view and perform additional actions in the Events section of the projects.


    The Events section shows a plus sign that can be clicked to create events. The events already created in this project are also shown. The View all event(s) link appears at the bottom.

  7. Click Actions Actions icon to access a menu with the following options:
    Option Description
    Clone Enables you to clone the event.
    Edit Enables you to edit the event payload structure.
    Delete Enables you to delete an event. You cannot delete an active event.
    View Enables you to view the event payload structure, the integrations publishing the event, and the integrations subscribing to the event.
  8. Go to the Integrations section of the project.
  9. Create an application or schedule integration to publish the event. During integration design, you drag a Publish event action into the integration canvas and select the event to publish. See Publish Events in an Integration.
  10. Return to the Integrations section of the project.
  11. Create an event integration to subscribe to the event. You must select an Event integration pattern. During integration design, you select the event to which to subscribe. Only the events available within that project are available for selection. See Subscribe to Events in an Integration.

    The subscribing integration event is triggered when the integration publishing the event is run. Multiple integrations can subscribe to the same published event.