Siebel: Approval Manager Guide
Siebel: Approval Manager Guide
October 2021
Siebel
Approval Manager Guide
October 2021
This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected
by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate,
broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display in any part, in any form, or by any means. Reverse engineering,
disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report
them to us in writing.
If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the
following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software, any programs embedded, installed or
activated on delivered hardware, and modifications of such programs) and Oracle computer documentation or other Oracle data delivered to or
accessed by U.S. Government end users are "commercial computer software" or “commercial computer software documentation” pursuant to the
applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, reproduction, duplication, release, display,
disclosure, modification, preparation of derivative works, and/or adaptation of i) Oracle programs (including any operating system, integrated
software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs), ii) Oracle computer
documentation and/or iii) other Oracle data, is subject to the rights and limitations specified in the license contained in the applicable contract. The
terms governing the U.S. Government’s use of Oracle cloud services are defined by the applicable contract for such services. No other rights are
granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for
use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware
in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe
use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.
Oracle and Java are registered trademarks of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or
registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks
of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.
This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle
Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and
services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible
for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable
agreement between you and Oracle.
The business names used in this documentation are fictitious, and are not intended to identify any real companies currently or previously in existence.
Siebel
Approval Manager Guide
Contents
Preface .................................................................................................................................. i
Preface
This preface introduces information sources that can help you use the application and this guide.
Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website.
Contacting Oracle
Access to Oracle Support
Oracle customers that have purchased support have access to electronic support through My Oracle Support. For
information, visit My Oracle Support or visit Accessible Oracle Support if you are hearing impaired.
i
Siebel Preface
Approval Manager Guide
ii
Siebel Chapter 1
Approval Manager Guide What's New in This Release
Topic Description
Steps Used to Install Siebel Approval Modified topics. As of Siebel CRM 21.2 Update, the applicationcontainer directory has been
Manager replaced by two directories, as follows:
Topic Description
Uninstalling Siebel Approval Manager New topic. This topic describes the steps to uninstall the SAM application.
Serialized Delivery of Workspaces New topic. This topic describes the configurations for serialized delivery of workspaces from Siebel
Application Manager.
1
Siebel Chapter 1
Approval Manager Guide What's New in This Release
Topic Description
Query Based on Multi-Query Request New topic. This topic describes the SAM APIs used for searching SAM requests based on multiple
Tokens query tokens.
2
Siebel Chapter 2
Approval Manager Guide Siebel Approval Manager Overview
When developers have bug fixes or customizations to deliver, they need to check the fixes or changes into their
Software Configuration Management for source code systems (or SCM systems), so they would use SAM to create
an approval request record, and that approval request record gathers approval manager, approval committee, QA
approvals, or the whole approval process. When the request approval is complete, SAM can initiate the check-in process
to check the bug fix into the Software Configuration Management system.
SAM is most useful when used along with workspaces in Siebel Web Tools or Siebel Tools. If users make workspace
changes, then they can make the workspace changes locally and then use SAM to submit an approval request. After
the request is approved, workspace changes are delivered into the main Siebel CRM system. SAM can also be used with
other third-party tools such as ClearCase, SVN, github, and so on.
You can use SAM for Siebel CRM development, but SAM can also work independently with other applications. It
integrates with several third-party issue tracking and Software Configuration Management systems, including the email
integration that provides both notifications and approvals across the development team.
SAM runs on the Apache Tomcat that is installed with Siebel Server. Its user interface is consistent with Siebel CRM and
shares the same CSS implementation. This application can be displayed on desktops, tablets, or handheld devices.
You can configure almost all fields in the SAM system, including the fields that SAM populates from the defect tracking
system. SAM stores the copy of issue tracking data and subsequent workflow activities in a database for future
reporting. This application also supports multiple approval workflows and validates fields using regular expression
matching when the data is populated from the associated issue tracking system.
3
Siebel Chapter 2
Approval Manager Guide Siebel Approval Manager Overview
1. A developer enters the unique issue identifier from the associated issue tracking system (for example, the bug
number from Bugzilla) into the SAM application.
2. SAM populates all detailed information from the associated issue tracking system to the SAM application itself.
3. The developer enters the source code location such as branch, workspace name, and so on.
4. SAM validates the source code branch or workspace.
5. The developer submits the approval request.
6. Depending on the approval process that is set up by the SAM administrators, approval managers or approval
committees are notified.
7. Approvers review the request and then either approve or deny the requests.
8. SAM delivers the source code or workspaces information to the Software Configuration Management system.
Issue Tracking Update a defect at various events in the application Bugzilla, Jira
(developer submission, approvals, and so on).
Code Review Pull in code review details for a particular change. Review Board
Software Configuration Pull in list of files on the given branch, private branch ClearCase, SVN, GitHub, Siebel
validation, or rebase validation. workspaces
Software Configuration Possibly automatically check in code after it is ClearCase, SVN, GitHub, Siebel
approved. workspaces
Email Deliver emails upon specific application events SMTP-compliant email systems and
(approval required or approvals completed). more
Email Accept manager and committee approvals using IMAP-compliant email systems and
email. more
Note: You can develop the REST APIs to connect to your issue tracking and software configuration systems. For
more information on how to develop the REST APIs for Siebel Approval Manager and information about the working
examples, see REST APIs for SAM.
4
Siebel Chapter 3
Approval Manager Guide Installing Siebel Approval Manager
Note: You can have only one instance of SAM installation in each computer. When you upgrade SAM, you can either
upgrade the existing version or delete the existing version from your computer and then install the new version.
This example shows the location of the SAM build in a Unix environment:
//net/sam-image/SAM-2.17.8/Disk1/InstData/Linux/NoVM/Siebel Approval Manager.bin
5
Siebel Chapter 3
Approval Manager Guide Installing Siebel Approval Manager
The Siebel Approval Manager Installation window appears, displaying the installation process.
3. Select a language from the list of available options and click OK.
The Introduction window appears.
4. Review the introduction information and click Next.
The Installation Folder window appears.
5. Select a destination folder to install the SAM application.
You can accept the default destination folder, enter a new folder location into the Where would you like to Install
field, or click Choose to select a folder.
6. Click Next.
The Web Server Application Folder window appears.
7. Select an Apache Tomcat home folder to deploy the WAR file.
You can accept the default destination folder, enter a new folder location into the Please Choose a Folder field,
or click Choose to select a folder.
Note: Oracle recommends selecting the location where Tomcat is installed, such as C:\Siebel\ses
\applicationcontainer_internal.
8. Click Next.
The Database Details window appears.
9. Select a database.
The available options are Oracle Database Enterprise Edition and Microsoft SQL Server.
10. Click Next.
If you select Oracle Database Enterprise Edition, then the Oracle Database User Inputs window appears,
enabling you to enter the Oracle Database information.
If you select Microsoft SQL Server, then the MSSQL Database User Inputs window appears, enabling you to
enter the Microsoft SQL Server database information.
11. Enter the required database information.
6
Siebel Chapter 3
Approval Manager Guide Installing Siebel Approval Manager
SMTP Port 25
Username [email protected]
Password changeme
Noreply [email protected]
Mailto [email protected]
7
Siebel Chapter 3
Approval Manager Guide Installing Siebel Approval Manager
8
Siebel Chapter 3
Approval Manager Guide Installing Siebel Approval Manager
• Cleaning Up Files
In a Microsoft Windows environment, the location of the SAM uninstallation program might be as follows:
In a UNIX environment, the location of the SAM uninstallation program might be as follows:
/export/home/SAM/_SAM_installation/SAM_unInstallation
2. Start the SAM uninstaller using one of the following options,
◦ On Microsoft Windows, double-click the SAM_unInstallation.exe file.
◦ On UNIX, enter the command ./SAM_unInstallation.
The Configure SAM window appears, displaying the Maintenance mode selector screen.
3. Select the Uninstall Production option and click Next.
4. In the Uninstall SAM window that appears with a warning message, click Next to start the uninstall process.
Cleaning Up Files
In the uninstall process, some files and folder might be left over that you can remove manually. For example, in the SAM
installation folder on Microsoft Windows, the following files and folders can be removed:
• TomcatHome\conf\database.properties
• TomcatHome\conf\email.properties
• TomcatHome\conf\mail.properties
The following is the example of the location of the SAM installation folder in a UNIX environment.
• /export/home/SAM
• /export/home/SAM_unInstallation
• /export/home/com.zerog.registry.xml
Note: SAM uninstallation does not modify any of the existing database schema.
9
Siebel Chapter 3
Approval Manager Guide Installing Siebel Approval Manager
10
Siebel Chapter 4
Approval Manager Guide Using Siebel Approval Manager
Note: If you are authorized as a SAM administrator, then you can also select the Administration option from the Main
Menu button to perform SAM administrative tasks. For more information, see Configuring Siebel Approval Manager.
• There is a list of approval profiles and the Create button that you can use to create new approval requests.
• After you click the button used to create the approval request, the Create New Approval Request page appears,
enabling you to enter the unique identifier from your issue tracking system, such as Bugzilla bug number, Jira
ID, and so on.
• After you enter an ID and tab out of that ID field, the fields are populated using the information from your issue
tracking system (such as the Bugzilla, Jira, and so on) as defined in the profile configuration.
If a field has been configured for validation, then it is displayed with a checkmark if its value is valid or it is
displayed with an alert symbol if its value is not valid.
• Other than the fields from the issue tracking systems, the Create New Approval Request page displays some
additional internally generated fields (such as Approval ID, Approval Status, Last Approver) along with optional
Comments and Approval Manager Override fields.
• You can specify one or more software configuration locations (ClearCase branch, Workspace name, and so on)
that contain the changes to be approved.
• When you click one of the available action buttons to create a request, the approval request is saved and an
email notification can optionally be sent to the assigned approvers.
11
Siebel Chapter 4
Approval Manager Guide Using Siebel Approval Manager
Field/Column Description
Back button Click this button to return to the SAM home page.
Configured buttons Click the appropriate button to follow the next step in your organization’s configured approval
workflow.
12
Siebel Chapter 4
Approval Manager Guide Using Siebel Approval Manager
Field/Column Description
Issue ID text box and Refresh button (two Enter an issue ID into the Issue ID text box and click the Refresh button (or tab out of the text box) to
curved arrows) enable the SAM application to populate the issue’s detailed information from the issue tracking system
into the SAM system.
If the data from the issue tracking system has changed since the first time it was initially populated or
the data needs to be refreshed, then clicking this button refreshes the information on the page.
For example, when a populated field fails validation and you use the drilldown button to access the
issue tracking system to fix the issue, when you came back to the SAM system, click this Refresh
button to reload the data and remove the validation error.
Drilldown to the issue tracking system Click this button to open the issue in its own tracking system where you can view the issue’s detailed
(down arrow) information.
Tracking System fields (view-only) The values in these fields are transferred over from the issue tracking system.
SAM internal fields (view-only) The values in these fields are specific to the SAM system. These values are not transferred from the
issue tracking system.
Comments field Use this field to add any additional comments that might help the approver or next owner.
This field is configurable (might or might not be on the page) and optional. These comments will be
available in the Approval History section of the page.
Override Manager field Use this field to specify a different approver other than the current user’s manager (as defined in
the Administration \ Users page). This field is configurable (might or might not be on the page) and
optional.
Note that the value in this field only overrides the approver where the approver is set to Approving
Manager (as opposed to a different role).
SCM Details section Use this section to add the entries for the Software Configuration Management system, to identify the
location(s) of the changes that are involved in the approval request.
Approval History section This section displays the approval history of the request, including the date and time of each approval,
the user who approved the request, and so on.
Note: The Back button and any configured action buttons are available when the status of the approval request is
New.
The Create Approval Request page appears. The Back button is displayed along with other action buttons that
are configured for new requests.
3. Enter an existing unique identifier from your issue tracking system and click the Enter key on your keyboard.
13
Siebel Chapter 4
Approval Manager Guide Using Siebel Approval Manager
The field values are populated using the information from the tracking system (the review sources such as the
Bugzilla, Jira, and so on). For example, if you enter a Bugzilla bug ID from the Bugzilla system, then all detailed
information of that bug is displayed in the Create Approval Request page.
Note: If a field has been configured for validation, then it is displayed with a checkmark if its value is valid or
it is displayed with an alert symbol if its value is not valid.
4. Correct any validation errors in the tracking system and click Refresh to repopulate the data.
5. Optionally, enter a name of an approver to send the approval request directly to that approver instead of the
current user’s manager (as defined in the Administration \ Users page) if the approving manager is specified as
an approver for the current profile.
6. Use the SCM Details section to add the source code locations for the changes that are involved in the approval
request.
Note: This step is optional or required depending on how the approval profile is configured. If an action (for
example, Submit) is configured with the Validate SCM option selected, then that action button is disabled
when there is not at least one validated SCM entry in an approval request. If another action (for example, Save
Draft) is configured with the Validate SCM option cleared, then this is an optional step.
Reviewing Requests
You can use the SAM home page to view and approve the requests that are submitted to you for approvals.
14
Siebel Chapter 4
Approval Manager Guide Using Siebel Approval Manager
2. Click the approval ID link of the request that you want to review.
The Approval Request Details page appears, displaying the action buttons, including Cancel and other buttons
that are configured for this profile’s workflow.
3. Review the request.
4. Click an appropriate action button based on your review (for example, Approve or Reject).
If email notification is configured, then the SAM application sends an email to the next reviewer in the approval
workflow, as well as to the request owner and/or manager.
The status of the request is also changed to the next status in the approval workflow.
When you receive the Submitted for Approval email as an approver, all action buttons that are on the Approval
Request Details page are also on the email.
2. Review the email and click an appropriate action button on the email to send the subsequent email.
The SAM application is updated accordingly as if you reviewed the request using the Approval Request Details
page.
15
Siebel Chapter 4
Approval Manager Guide Using Siebel Approval Manager
16
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
Note: If you are assigned the Siebel Approval Manager Administrator role, you then can use the Administration
option from the Main Menu to perform Siebel Approval Manager (SAM) administrative tasks.
Adding Users
Use the Users page to add new users into the SAM application. The following table describes the fields in the Users
page.
Field/Column Description
Name column This column contains the displayed name for the given SAM user.
Email Address column This column lists the email address for the given SAM user. Note that the email address must be
unique for each user ID.
Manager column This column lists the default approving manager for the given SAM user. The named manager is the
approver for requests that are created by the given user when the approver is configured as Approving
Manager.
Roles column This column lists the roles that the given SAM user has. You can click the values here to modify the
roles of that user.
17
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
Field/Column Description
Reset Password column Click Reset Password to reset the password of the corresponding user and send the same user an email
notification with a new, random password.
Delete button Click Delete to delete the corresponding user from the SAM application.
Note: SAM is provided with an administrator account with the user name admin and password admin. Make sure to
change the administrator password upon first login. You must create additional user IDs and passwords for all other
users.
The user and email address that you just added to the SAM system receives a notification email with a new
system-generated password. That user can change the password from within the SAM application.
8. Add roles to the new user.
a. In the Users page, click the role value of the user that you want to add role.
Alternatively, you can click Move All to assign all available roles to the current user.
d. Click OK.
18
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
You can use the Roles page to add new user roles to the SAM application and assign user IDs to the user roles. The
following table describes the fields in the Roles page.
Field/Column Description
Add (plus) button Click this button to add new user roles.
Role Name column This column lists the display name of the given role.
# of Members column This column lists the number of users that have the given role. You can click the member count link to
view the members of each role.
Delete button Click Delete to delete the corresponding user role from the SAM application.
Note: Administrator is the default role in the SAM application and this role cannot be deleted. Only users with the
administrator role can access the Administration menu from the Main Menu and perform the administrative tasks.
Other roles can be added to the SAM application by the SAM administrators.
19
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
In other words, the Fields page enables you to reuse many of the shipped fields to store the data that is populated from
your issue tracking system. The fields that are shipped, such as CUSTOMER or PRIORITY, can be reused for any purpose
by changing the default label. This new label is then displayed throughout the SAM application instead of the old default
label. The following table describes the fields in the Fields page.
Field/Column Description
Field column This column contains the internal system fields in the Fields page.
Default Label column This column contains the default label of the current field. To change any label, click that label and type
the new label over the current one. If it is left blank, then the system name is displayed.
List Order column This column contains the order of the current field in the Approval Requests section on the SAM home
page.
If a field has a List Order set to Hidden, then that field is not displayed in a table on the Approval
Requests section.
To define the fields that are displayed on the SAM home page
1. From the SAM home page, select the Main Menu button.
2. Select the Administration option.
3. Select the Fields option from the Administration drop-down list.
a. In the Default Labels column, click the label of the field that you want to modify.
b. Type the new label.
c. Repeat step 4a and step 4b to modify additional labels.
5. Optionally, modify the list order of the fields.
a. In the List Order column, click the list order of the field that you want to modify and type the new list
order number.
b. To set a field to Hidden, remove the current value of the field in the List Order column and click (or tab)
out of that field.
20
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
• Examples of the issue tracking systems that integrate with the SAM application are Bugzilla, Jira, or Review
Board.
• Examples of the Software Configuration Management (SCM) systems are ClearCase, SVN, and Siebel
workspaces.
The following table describes the fields in the Systems page.
Field/Column Description
System Type column This column lists the type of the third-party system. Two system types are available: Issue Tracking and
SCM (Software Configuration Management).
System column This column lists the name of the integrated system and this is a user-entered display name.
Read/Update column Use the button in this column to display the Read/Update Method dialog box.
• Issue tracking systems. When users enter an issue tracking system’s unique identifier on the
Create Approval Request page, the SAM application invokes the REST API whose URL is defined
here to pull information from the associated issue tracking system and populate the fields on the
page.
• SCM systems. When the user enters an SCM location (such as a ClearCase branch or Workspace
name) and clicks Validate, the SAM application invokes the REST API whose URL is defined
here to confirm that the given location is valid. SAM will prompt for the user to enter a value for
the source field on the Approval Request page. That source value will be stored along with the
approval request and can be used to deliver the changes once the request is fully approved. SAM
can prompt for additional fields if they are required for validation but they will not be stored.
Examples follow:
Simple single parameter scenario:
http://hostname:8080/worskpace/wsname/{source}
The element {source} is available in the Field drop-down list to select and add. The source captures the
workspace name when an SCM is added for delivery during the Create Request process. This source is
stored for future delivery.
http://hostname:8080/github/repo/{repository}/pbname/{source}
This example uses two different parameters that are required for validation. Both are prompted for on
the Approval Request page. Again, the additional {repository} parameter is not stored for future use
and is not available as an item in the Field drop-down list, so it must be entered into the URL manually.
Write/Delivery column Use the button in this column to display the Write/Delivery Method dialog box.
21
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
Field/Column Description
• Issue tracking systems. After an action is taken on a request, the SAM application can invoke
the REST API whose URL is defined here to update the issue tracking system. For example, if a
request is approved, then the SAM application can add a comment and update the status of the
record of the issue tracking system record.
• SCM systems. After an action is taken on a request, the SAM application can invoke the REST API
whose URL is defined here to deliver the changes defined in the SCM location(s).
For more information on how to invoke these REST API calls in the Updates table, see Setting Up
Approval Profile Actions in the SAM Workflow.
Note: This feature for SCM systems is only supported in 2.17.10 and onwards.
Drilldown URL column Use the button in this column to display the Drilldown URL dialog box where you can add or modify the
URL that the SAM application uses to drill down to the tracking systems.
This is an example of the Drilldown URL for issue tracking system: http://hostname:8880/bugzilla/
show_bug.cgi?id={ISSUE_ID}.
This example points to the URL of Bugzilla. When the user clicks Drilldown URL next to the bug ID on
the Create Approval Request page, the SAM application opens the bug in Bugzilla.
Fields column Use the button in this column to display the Config Fields dialog box where you can configure this
system’s fields that are available to use throughout SAM.
To load the list of fields, enter the URL for the system’s field JSON file and click the Get Fields JSON
button. For more information regarding the field JSON format, see Importing System Fields. The
following properties can be configured for each field:
• Name. The internal name of the field (this property must not be edited).
• Label. The label of the field that is displayed within SAM.
• Active. When selected, this field is available to be selected throughout SAM when selecting fields
for the system.
• Default Status. Selecting this identifies this field as the status field for this system. This is only
used for Issue Tracking systems.
• Key Field. Selecting this identifies this field as the unique identifier field for this system. This is
only used for Issue Tracking systems.
• List Order. The order that this field is displayed in any field lists in SAM.
Issue Tracking systems. These are the issue tracking system fields that are available within SAM to be
displayed on the Approval Request page and updated when an approval status changes.
SCM systems. These are the fields that SAM can pass to the SCM system’s Write/Delivery
REST API when an approval status changes (for example, delivering workspace changes when
a request is approved). When data is sent to these REST APIs, each field is mapped in the
Workflow>Actions>Update section for that profile and is sent with dynamic data bound with the help
of Messages. For more information, see the table listing fields in the Update section, in Setting Up
Approval Profile Actions in the SAM Workflow.
Note: This feature for SCM systems is only supported in 2.17.10 and onwards.
Delete button Click Delete to delete the corresponding system type from the SAM application.
22
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
Field/Column Description
23
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
a. Locate the tracking system that you just added and click its corresponding Drilldown URL button.
The Drilldown URL dialog box appears.
b. Add a URL into the Drilldown URL field.
This is an example of the drilldown URL: http://hostname:port_number/bugzilla/ show_bug.cgi?
id={ISSUE_ID}.
Note: You can use the Insert Field Value into URL drop-down list to select the name of the field and
insert it into URL. For more information on how to insert field value into URL, see step 8.
c. Click OK.
11. Configure the issue tracking fields that are used by the SAM application.
a. Locate the system that you just added and click its corresponding Fields button.
The Config Fields page appears.
b. In the URL field, enter the URL of the tracking system's field JSON file. For more information on the
expected JSON format, see Importing System Fields.
c. Click Get Fields JSON.
The SAM application lists all available fields that are populated from the tracking system.
d. In the Label column, modify the labels as needed.
e. Select the Active option for the fields that you want to be used within SAM.
f. In the Default Status column, select the radio button in the Default Status column for the issue tracking
system's status field.
For example, this would be the status field in Bugzilla.
g. In the Key Field column, select the radio button in the Key Field column for the issue tracking system's
unique identifier field.
For example, this would be the bug number field in Bugzilla.
h. Modify the listing order of the fields using the values in the List Order column.
i. Click OK.
24
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
Note: This is an in-built field to store private branch name or workspace name that is also used when
delivery is triggered from SAM.
The text {source} is inserted into the URL where you placed your cursor so the resulting
URL is http://hostname:port_number/workspace/wsname/{source}
Note: You can configure a more complex URL with multiple parameters.
For example:
http://hostname:port_number/github/repo/{repository}/pbname/{source}
In this case, the element {repository} is not available as an item in the Field drop-down list and must
be manually entered. When an SCM entry is added to an approval request, these two elements are
prompted to get entered.
e. Click OK.
When a user creates a request and adds an SCM entry for delivery, a prompt for {source} will be
displayed. On clicking Validate, a pop-up screen appears where {source} and the similar elements like
{repository}, if configured, will get populated for input.
On clicking OK, if the user entered dev_mypb as their private branch, for example, then the SAM
application invokes http://hostname:port_number/workspace/wsname/dev_mypb to validate the SCM
entry.
For the complex scenario, if the user entered staging for the {repository} prompt, then the following URL
is invoked:
http://hostname:port_number/github/repo/staging/pbname/dev_mypb
25
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
9. Add the REST API URL that the SAM application uses to deliver the SCM entry changes.
Note: The Write/Delivery method of SCM system is only supported in 2.17.10 and onwards.
a. Locate the SCM system that you just added and click its corresponding Write/Delivery button.
a. Locate the SCM system that you just added and click its corresponding Fields button.
The SAM application lists all available fields that are populated from the SCM system.
For example, for the URL entered in the step b, the two fields that display are requestid and wsname.
Select Key Field option button for requestid and Default Status option for wsname.
d. In the Label column, modify the labels as needed.
e. Select the Active option for the fields that you want to be used within SAM.
f. Modify the listing order of the fields using the values in the List Order column.
g. Click OK.
Field/Column Description
Add (plus) button Click this button to add new approval request statuses.
Status Name column This column contains the approval request statuses in the SAM application.
Delete button Click Delete to delete the corresponding approval request status from the SAM application.
26
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
Specifying Messages
You use the Messages page to create and customize the messages that are used in validation error messages, email
communication, or tracking system updates. For example, if you want a validation error when an invalid value occurs
for the Target Release field, then you could create a message with the text Invalid value for {TARGET_RELEASE}. The
following table describes the fields in the Messages page.
Field/Column Description
Message Name column This column contains the name of the given message. Notice that the message name must be unique
for each message.
Text column This column contains the text of the given message. You can click the link to open the Message Details
dialog box where you can edit the corresponding message.
Delete button Click Delete to delete the corresponding message from the SAM application.
27
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
Configuring Emails
This topic describes how to configure SAM for sending email and approving by email.
• Configuration for sending email. This configuration is in the installer screen SAM Email Configuration Input.
This screen captures the SMTP server, port number, User Id, and password of SMTP server authentication for
sending email. Configurations also include capturing a no reply email Id and an email Id to receive reply action
emails.
• Configuration for approval by email. The screen Email REST API Input is used to configure inbound emails
for approval actions. This includes the configuration of the email Id to receive approval emails, the password,
the default folder for Email REST API to look for the incoming emails, such as Inbox, the IMAP server URL, IMAP
server port number, SAM being hosted in HTTP or HTTPS, port number of the SAM hosting.
Reconfiguring Emails
This topic describes how to reconfigure the email sending mechanism and the Approval by Email feature.
28
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
mail.smtp.hostname=SMTP_host_URL
mail.smtp.port=SMTP_server_port_number
mail.username=email_id_for_SMTP_auth
mail.password=password_of_email_id
mail.mailto=email_id_of_inbox_that_will_receive_approval_emails
• The configuration for IMAP settings are stored in the file emailapprover\resources\spring\context\context-
integration.xml
email.id=email_id_of_inbox_that_will_receive_approval_emails
email.pwd=encrypted_password
email.folder=inbox
email.uri=server_name:port_number
email.samURL=http://server_name:port_number
email.samUserName=email_id_of_SAM_user_needed_for_approval_actions_via_API_calls
email.samPassword= encrypted_password
To update the passwords, use the following URL to get encrypted password,
http://server_name:port_number/emailapprover/encrypt/new_password
29
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
This topic describes how to manage and create the approval profiles in the SAM application. It includes the following
information:
• Managing the Approval Profiles
• Creating New Approval Profiles
• Identifying Fields Displayed on the Approval Request Page
• Defining Approval Workflows
• Enabling Conditional Workflows in the SAM Application
• Setting Up Approval Profile Actions in the SAM Workflow
Note: You can create different approval profiles that enable you to manage a different set of fields, approval
workflows, software configuration systems, and tracking systems for each profile.
Field/Column Description
Add (plus) button Click this button to add new approval profiles into the SAM application.
Profile Name column This column contains the name of the corresponding approval profile. Click on the name to access the
Approval Profiles detail page where you can edit the selected approval profiles.
Issue Tracking System(s) column This column displays the tracking systems for the corresponding approval profile.
SCM System(s) column This column displays the SCM systems for the corresponding approval profile.
Active column This column indicates whether the approval profile is active. Notice that only active approval profiles
can be used to create approval requests.
Delete button Click Delete to delete the corresponding approval profile from the SAM application.
30
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
• Profile names. The names that are displayed in the Create Approval Request drop-down list on the SAM home
page.
• Specific issue tracking system. For example, Bugzilla or Jira.
• Set of fields that are identified to populate the data from the issue tracking system along with what their display
labels, display order, and acceptable (valid) values.
• A set of allowed software configuration connectors for this specific source. For example, ClearCase, SVN, or
Workspaces.
• A specific set of approval workflow steps and approval workflow.
The following table describes the fields in the Approval Profiles detail page.
Field/Column Description
Profile Name The name that is displayed in the Create Approval Request drop-down list on the SAM home page.
Active? On selection, the approval profile gets activated. Only active profiles can be used to create approval
requests.
Issue Tracking System(s) The systems that help track and fix issues. For example, Bugzilla or Jira.
Primary Tracking System The issue tracking system that is selected as the primary tracking system.
Issue Tree Open Statuses Specifies a comma-delimited list of status values that indicate an Open status with the primary issue
tracking system.
Issue Tree Open Statuses Specifies a comma-delimited list of status values that represent a Closed status.
SCM System(s) The SCM systems where SAM initiates the check-in process to deliver the associated changes. For
example, ClearCase, SVN, or Workspaces.
Save button Saves the approval profile. The Fields and Workflow sections are active and available. The newly
created approval profile is listed under the Create New Approval Request drop-down list on the SAM
home page if the profile is Active.
The Save button only saves the first section of the page. The data within the Fields and Workflow
sections are saved once you exit a row you are editing/adding.
Back button The page reverts to the Approval Profiles page. On clicking Back without saving approval profile, the
profile details are lost.
31
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
Field/Column Description
Note that only active profiles can be used to create approval requests.
7. Click the search (magnifier) icon next to the Issue Tracking Systems field.
8. Select one or more issue tracking systems from the list of available options.
Note: If multiple issue tracking systems are chosen, then they must share a common unique key.
9. Click OK.
10. Click the search icon next to the Primary Tracking System field.
11. Select one primary tracking system from the list of available options, which are displayed based on your
selection in the Issue Tracking Systems field.
For example, if Bugzilla and a Code Review system are chosen, then Bugzilla is the primary issue tracking
system and the Bugzilla Bug number (#) field would be the unique key for both Bugzilla and the Code Review
system.
12. Optionally, enter the values in the Issue Tree Open Statuses field and the Issue Tree Closed statuses field.
◦
Issue Tree Open Statuses. Specifies a comma-delimited list of status values that indicate an Open status
with the primary issue tracking system.
◦ Issue Tree Closed Statuses. Specifies a comma-delimited list of status values that represent a Closed
status.
13. Click the search icon next to the SCM System(s) field and select one or more SCM systems from the list of
available options.
14. Click OK.
15. Click Save.
The Fields and Workflow sections are active and available after you save the approval profile. The newly created
approval profile is listed under the Create New Approval Request drop-down list on the SAM home page if the
profile is Active.
For more information on the Fields section, see the following topic.
32
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
Field/Column Description
Add (plus) button Click this button to add new fields that will be displayed on the Approval Requests page.
Order column This column displays the number denoting the order in which to place the corresponding field.
On larger screens, fields are displayed in two columns and ordered left, right, left, right, and so on
based on this field.
1 2
3 4
5 6
On smaller screens (such as mobile devices), there is only one column of fields and they are ordered by
this field value.
Source column The column contains the system from where the corresponding field originates. This can either be
one of the issue tracking systems defined for this profile or Internal to denote that this field is a SAM
internal field.
Source Field column This column contains the name of the field (from the system selected in the source column) whose
value is used to populate the corresponding field.
You can optionally select the <DIVIDER> option in the System fields to add a line to the approval profile
to separate the fields on the page.
Mapped System Field column This column contains the SAM field where the external system data, as identified in the two previous
columns, will be stored.
Note: The Mapped System Field is inactive if the Source column is set to Internal.
This column value is optional. If it is not specified, then the external field value is only displayed and
will not be stored within SAM.
Override Label column This column contains the override field label that is optional and will be displayed next to the
corresponding field on the Approval Request page. If no value is entered here, then the default field
label is used as the label. These default labels are specified in the Field Administration page.
For example, suppose that you select the following field values:
33
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
Field/Column Description
Default View column If this check box is selected, then the field is displayed in the expanded record.
Note: If Multiple Issue Approval is not enabled, then this field can be ignored.
Header column If this check box is selected, then the field is displayed in the header of the collapsed record.
Note: If Multiple Issue Approval is not enabled, then this field can be ignored.
Enable URL column If this check box is selected, then the drilldown icon will be displayed next to this field on the Approval
Request page.
Validation Values and Message columns These columns display the validation values and corresponding messages. When no value is added,
the column displays None. A regular expression can be optionally entered in the Validation Values field.
When the Approval Request page is loaded, the value of the field is compared with this regular
expression and the following happens:
1. If the value matches with the regular expression, then the field is displayed with a check mark.
2. If the value does not match, then:
◦ The buttons for any actions that have the Validate? flag selected will be disabled.
◦ The message selected for Validation Message is displayed for the field.
The following are a few examples of regular expressions:
Examples: 1.2
• Regular Expression: 1.2|1.3
Examples: 1.2,1.3
• Regular Expression: Siebel \s+Engineering
34
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
Field/Column Description
Description: Two strings, Siebel and Engineering, separated by a white space and followed by any
other characters (wildcard)
Description: Any string that contains either the string Engineering or the string Installer
Delete button Click Delete to delete the corresponding field from the Fields list. The deleted field will not be displayed
on the Create Approval Requests page.
For example, when the status of a request is New and the logged in user is the Owner of the request, then the request
can be submitted to be reviewed by their manager. When the status is Pending Approval and the logged in user is the
manager of the owner of the request, then the request can either be Approved or Rejected.
The following table describes the fields in the Workflow section on the Approval Profiles detail page.
Field/Column Description
Add (plus) button Click this button to add new starting statuses.
Starting Statuses column This column contains the status or statuses that the request must be in for this workflow step to apply.
Action Owners column This column displays the role responsible for the completion of the corresponding workflow step.
The logged in user must be in at least one of the roles for this workflow step to apply. The Role can
either be Owner (the creator of the request), Approving Manager (the manager of the request’s creator
as defined in the User administration page) or one of the roles defined in the Role administration page.
Conditions column This column displays any additional conditions that must be met for this workflow step to apply.
Click on the link to open the Workflow Steps Conditions dialog box where you can enable conditional
workflows in the SAM application. For more information, see Enabling Conditional Workflows in the
SAM Application.
Actions column This column lists the actions that can be taken by the logged in user when all of the conditions defined
in the previous columns have been met. Click on the link to access the Approval Profile Actions
35
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
Field/Column Description
dialog box where you can modify the existing approval actions. For more information, see Setting Up
Approval Profile Actions in the SAM Workflow.
Delete button Click Delete to delete the corresponding starting status from the SAM application.
a. Click the search (magnifier) icon next to the Starting Status field.
a. Click the search (magnifier) icon next to the Action Owners field.
Locate the starting status that you just created. Notice that its condition is None and its action value is No
Actions Defined.
For more information on how to enable conditional workflow in the SAM application, see Enabling Conditional
Workflows in the SAM Application.
For more information on how to set up approval profile actions in the SAM application, see Setting Up Approval Profile
Actions in the SAM Workflow.
36
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
The SAM application evaluates the conditions grouped together by the operator ANDs. In other words, the SAM
application puts parentheses around each set of operator ANDs (without displaying the parentheses). For example, if
you define the following conditions:
1. Status matches 25
2. AND Fix By matches 21.10
3. OR Status matches 16
4. AND Fix By matches CIR4
5. AND Assignee matches SAMUEL
6. OR Status matches 39|40
7. AND Assignee matches SADMIN
Then SAM evaluates the conditions as following:
(Status = 25 AND Fix By = 21.10) OR (Status = 16 AND Fix By = CIR4 AND Assignee =
SAMUEL) OR (Status = 39|40 AND Assignee = SADMIN)
The following table describes the fields in the Workflow Step Conditions dialog box.
Field/Column Description
Add (plus) button Click this button to add new conditions to the expressions of each step within the SAM workflow.
Order column This column displays a number denoting the order in which to list the corresponding condition.
AND/OR column This column displays the values of AND and OR and it is not available for the first condition.
Field column This column contains the field that is used to match against for this condition. The field can be selected
from all fields that are mapped to system fields and some additional system fields such as Owner ID
and Manager ID.
Expression field Use this text field to enter the regular expression to match against the field's value. For more
information, see Validation Values and Message Columns in the Fields section on the Approval Profile
details table.
Delete button Click Delete to delete the corresponding workflow step condition from the workflow step.
37
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
This list is not available for the first workflow step condition.
8. Select a field from the Field drop-down list.
9. Enter an expression in the Expression text field to match against the field's value.
10. Tab out of the Field drop-down list.
11. Click Close to return to the Approval Profiles detail page.
Field/Column Description
Action Name The action name will be the name of the action button that is displayed in the Approval Request page.
Result Status The status of the approval request. When a user clicks on this action button, the status of the Approval
Request page will be updated to this value. For example, assume that the value in the Action Name
field is Save Draft and the value in the Result Status is Draft. When users click Save Draft on the
Approval Request page, the approval request is saved and its status changes to Draft.
Validate? Selection indicates that the approval request must be validated against the values in the Validation
Values column. If the approval request does not pass the validation, then this action button will be
disabled.
Default Submit? When in Multiple Issue Approval mode, selection indicates that this action will be executed for the child
request when the Submit for the original record is executed.
38
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
Field/Column Description
Validate SCM? Selection indicates that the approval request must be validated against the values that users entered in
the SCM Profile section on the Approval Request Details page.
Note: There must be at least one entry in the SCM Profile section. If there are no entries, then the
button will still be disabled even though there are no SCM validation errors.
Approve? Selection indicates that the action that is set in the Action Name field is an Approval action.
The approval requests that have an action that has Approve? selected and meet the conditions in this
workflow step for the currently logged in user will be displayed in the Pending My Approval list on the
SAM home page.
Email To The role or roles to receive the notification emails once this action is executed.
Email Cc The role or roles of any other recipient to receive the notification emails once this action is executed.
Email Subject The template of email subject to be used to send email to the owner. For more information, see
Specifying Messages.
Email Body The template of email body to be used to send email to the owner. For more information, see
Specifying Messages.
Action Id The REST API action ID as a unique identifier for this profile’s action.
This field is read-only and populated after the action has been initially saved. It can be used by external
systems to execute an action through a SAM REST API.
For example, if the current action is Save Draft, then the administrator can call a REST API that
executes the Save Draft action on a particular request. For more information, see REST APIs for SAM.
Field/Column Description
Update Type The type of system that will be updated : either Issue Tracking or SCM.
• For Issue Tracking systems, SAM will update the specified field to a given value.
• For SCM systems, SAM will execute the REST API defined in this system's Write/Delivery Method.
If you have multiple update entries for the same system, then it will only execute once, passing
the arguments specified in the different update entries in that single call.
External System The name of the system that will be updated. Only systems that have a Write/Delivery Method defined
in the System Administration page are shown here.
Field • Issue Tracking systems. The field (belonging to the selected External System) that will be
updated.
• SCM systems. The name of the SCM field/argument (as defined in the System Administration
page) to pass to the Write/Delivery Method.
39
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
Field/Column Description
Value Type The Exact Value or Message (see the following for Value).
Value • Issue Tracking systems. If the Value Type is set to Exact Value, then the value used to update
the selected Field is the exact string that is entered here is. If the Value type is set to Message,
then the value used to update the selected Field is the evaluated message (as defined in Message
Administration) that is selected here.
For example, this section enables users to write comments or status back to the third-party issue
tracking systems.
Then, when users click Submit for Approval on the Approval Request Details page, the SAM
application executes the Sample Bug System’s Write/Delivery REST API to update the Description
field to This bug has been submitted.
• SCM systems. If the Value Type is set to Exact Value, then the value that is sent as an argument
is the exact string that is entered here is. If the Value type is set to Message, then the value that
is sent as an argument is the evaluated message (as defined in Message Administration) that is
selected here. For SCM delivery using SCM entry details (as collected in the Approval Request
page), the built in field called source is to be defined in Message Administration screen. This
Message is then selected to make the value passed to the Field selected.
For example, to create deliver a workspace change upon a request’s approval, do the following:
Prerequisites:
• You have configured the Write/Delivery Method and Fields as described in the System
Administration example.
• You have created the message Source for Workspace Delivery with the text {source}.
1. Add a new update row.
2. In the new row, for Update Type, select SCM.
3. For External System, select your SCM system.
4. For Field, select the SCM field that will be mapped to the source.
5. For Value Type, select Message.
6. For Value, select Source.
Note: If you have more than one update entry specified for a single SCM system, then that system’s
Write/Delivery API will be invoked only once, passing all of the fields specified in the various update
entries in a single URL call.
40
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
Alternatively, to modify an existing approval action, click the action link for the starting status that you want to
modify.
The action name will be the name of the action button that is displayed in the Create Approval Request page.
6. In the Result Status drop-down list, select an option from the list of available statuses.
7. Optionally, define the following values on the Approval Profile Actions page.
a. Select the Validate option to indicate that the approval request must be validated against the values in
the Validation Values column. If the approval request does not pass the validation, then this action button
will be disabled.
Notice that the Validation Values and the Validation Messages columns are in the Fields section on the
Approval Profiles page.
b. Select the Default Submit option when in Multiple Issue Approval mode to indicate that this action will be
executed for the child request when the Submit for the original record is executed.
c. Select the Validate SCM option to indicate that the approval request must be validated against the values
that users entered in the SCM Profile section on the Approval Request Details page.
Note: There must be at least one entry in the SCM Profile section. If there are no entries, then the
button will still be disabled even though there are no SCM validation errors.
d. Select the Approve option to indicate that the action that is set in the Action Name field is an Approval
action.
e. Enter the role names into the Email To and Email CC fields so the users with those roles will receive the
notification emails once this action executed.
f. Select the email subject and email body using the template in the Email Body and Email Subject fields.
For more information, see Specifying Messages.
g. For existing actions, take note of the Action Id value if you will be using the SAM API to execute this
action via a REST call.
h. Define the values in the Update section to specify updates to the issue tracking systems or run scripts on
the SCM systems that are executed once the users perform this action. For more information on Update
section fields, see Setting Up Approval Profile Actions in the SAM Workflow.
8. Click Save.
41
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
Note: The Multiple Issue Approval mode is applicable only if there is a value in the Issue Tree Open Statuses field.
Otherwise, it will operate in the normal mode of submitting one issue at a time.
In the Create Approval Request page when an issue Id is entered, REST API connected to SAM will use the Parent Id
field and find all issues in the primary issue tracking system that are in the same hierarchy and have one of the statuses
defined in the Issue Tree Open Statuses field. These issues are further filtered in SAM.
For example, assume that there are six issues identified as shown in the following table. If the Issue Tree Open Statuses
is set to Open, Awaiting review, in the Create Request page when the issue Id 2 is entered, then REST API connected to
SAM would find all issues in that hierarchy:
1 2 Open
2 3 Open
4 3 Awaiting review
5 6 Open
42
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
• It would not find issues 5 or 6 since they are not related at all to 2
So 1, 2, 3 and 4 are found by REST API. However only 1, 2 and 4 have a status value listed in Issue Tree Open Statuses, so
3 is ignored. Hence, REST API connected to SAM finds issues from 1 to 4, SAM filters out issue 3 and SAM shows issues
1, 2, and 4. For more information, see REST APIs for SAM.
Note: The issue initially entered on the page is not included because, for the original issue, it will use the
profile that was selected when launching this page.
• Approval requests are created for each of the issues involved and approvals are to be done individually for each
issue. Multiple Issue Approval mode is only for bulk submission and not for bulk approval.
43
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
Configuring SAM
The following information describes the process of configuring SAM.
For more information, see the procedure for setting up an SCM third-party system, in Setting Up the Third-
Party Systems.
2. Configure messages. Add two new messages for the SCM system. .
◦ For the first message, create message Approval ID for Workspace delivery with text {APPROVAL_ID}.
◦ For the second message, create message Source for Workspace delivery with text {source}.
3. Add one new status for Pending Delivery and optionally two additional statuses for Delivery Completed and
Delivery Failed.
a. Add a workflow according to your process step, for example an approval for delivery.
b. Add an action by clicking the Plus (+) sign under Action(s) header for the newly created workflow.
c. In the Approval Profile Actions pop-up window, select Pending Delivery in the Result Status drop-down
list. Configure other fields.
For more information, see Setting Up Approval Profile Actions in the SAM Workflow.
d. Add update entries for Action(s) as following in the next part of the Approval Profile Actions to initiate the
delivery.
Create the following update entry to pass the approval ID to the workspace API:
Create the following update entry to pass the workspace name to the workspace API:
44
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
5. This is an optional step for receiving a post-delivery action in SAM. You can add a success action and failure
action to flip a success and failure status in SAM request. These actions can be additionally configured to
record a message or flip a status on the Issue Tracker.
To receive a delivery status update, add a new workflow with Starting Status as Pending Delivery and two
Action Result Status as Delivery Successful and Delivery Failed.
The Action IDs of the configured status Approval Profile Actions must be used when configuring the workspace
REST API. For more information, refer to Step 4.
Note: Make sure you have a SAM user and role defined for the user who has the action ownership. For more
information, see Adding User Roles and Assigning Users to User Roles. This user must also be configured in
workspace.properties as value for jdbc.samUsername. In this example user is [email protected] and role is
Delivery Agent. Refer to Step 4.
Deploying Workspaces
The following information describes the process of deploying workspaces.
DB2 UDB
jdbc.driverClassName=com.ibm.db2.jcc.DB2Driver
jdbc.url=jdbc:db2://<server name>:<portnumber>/<DB Alias>
jdbc.username=<TBLO>
jdbc.password=<encrypted password>
jdbc.tblo=<TBLO>
DB2 390
jdbc.driverClassName=com.ibm.db2.jcc.DB2Driver
jdbc.url=jdbc:db2://<server name>:<portnumber>/<DB Alias>
jdbc.username=<database user>
45
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
jdbc.password=<encrypted password>
jdbc.tblo=<TBLO>
jdbc.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.url=jdbc:sqlserver://<server name>\\<instance name>:<portnumber>;databaseName=<TBLO>
jdbc.username=<TBLO>
jdbc.password=<encrypted password>
jdbc.tblo=<TBLO>
jdbc.intBranchName=<workspace branch where you want to deliver your changes>
jdbc.siebelUsername=<Siebel user name>
jdbc.siebelPassword=<Encrypted Siebel password>
jdbc.logPath=<Create a local folder for API to write log files to, like C:/workspace>
jdbc.toolsPath=<Siebel Tools path, eg: C:/Siebel/18.0.0.0.0/18_03_Tools>
jdbc.siebelDSN=<Siebel DSN>
Note: Place a copy of your DB2 license jar file (db2jcc_license_cisuz.jar) to your Siebel Tomcat lib folder.
Restart the Tomcat server, in case your Siebel DB is DB2 UDB or DB2 390 (z/OS).
4. This step is optional. Use this for workspacedelivery REST API to call back SAM to record success and failure
actions.
jdbc.samURL=http://<Server name>:<portnumber>/sam
jdbc.samUsername=<A user who has a role which has ownership to do success and failure actions for
example delivery@<emaildomain.com>
jdbc.samPassword=<Encrypted SAM password>
jdbc.samSuccessActionID=<Action Id for post successful delivery>
jdbc.samFailureActionID=<Action Id for post failed delivery>
5. Restart Tomcat server and open the link http://server_name:port_number/workspacedelivery/ in any browser
to see the welcome message, Welcome to Siebel Workspace Delivery Adaptor!!!
Note: Restart Tomcat server only after finalizing the configuration or making any changes during
configuration and testing.
This would start a Siebel Tools instance and it would try to deliver the workspace. You will get a successful delivery
message or a failure message accordingly. If you find any issues, then check the workspace.properties file, make
corrections, and restart Tomcat before you retest delivery.
46
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
Note: You can set up the delivery schedule outside of SAM from a scheduled Windows task, a Cron job, or any other
method to run a scheduled process. Amend the script if there is a delivery failure.
Tip: You can find the Request Id from the browser address bar by drilling down in your sample request,
for example, http://<sam server:port number>/sam/api/approvals/88-5E29P.
c. Make a note of the Profile ID that the JSON output brings up on successful POST made in step 4b. For
example:
{
"message": "",
"data": [
{
"approvalId": "88-5E29P",
"seedIssue": "Y",
"profileId": "88-5E1NS",
"defaultActionId": null,
"closeStatus": null,
"fieldsAndData": [
.
.
47
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
.
],
"buttons": null,
"scmSystems": [
],
"approvalAuditTrail": [
]
}
]
}
d. To retrieve the list of statuses and their Ids, make a GET call to http://<sam server:port number>/sam/
status/ for the status of your sample request. For example:
{
"statusId": "88@30993086",
"statusName": "Ready for delivery",
"active": "Y",
"lastUpdated": 1484249924000
},
e. Construct a final POST query JSON for the main API, http://<sam server:port number>/sam/api/
approvals/ with the following values:
{
"PROFILE_ID":"88-5E1NS ",
"APPROVAL_STATUS_ID":"88@30993086"
}
{
"message": "",
"data": [
{
"approvalId": "88-5E29P",
"seedIssue": "Y",
"profileId": "88-5E1NS",
"defaultActionId": null,
"closeStatus": null,
"fieldsAndData": [
.
.
.
],
"buttons": null,
"scmSystems": [
{
"sdId": "88-5E7NM",
"approvalId": "88-5E29P ",
"systemId": "88@30993101",
"systemName": "Workspace",
"source": "\"dev_test_1\"",
"valid": "Y",
"validMsg": null,
"deliveryStatus": null,
"deliveryMsg": null
},
{
"sdId": "88-5E7NM",
"approvalId": "88-5E29P ",
"systemId": "88@30993101",
"systemName": "Workspace",
48
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
"source": "\"dev_test_2\"",
"valid": "Y",
"validMsg": null,
"deliveryStatus": null,
"deliveryMsg": null
}
],
"approvalAuditTrail": [
]
},
{
(2nd array element of JSON representing the second request.)
},
{
(3rd array element of JSON representing the third request.)
}
]
}
a. Locate the element scmSystems and copy the source-value in the array of JSON for requests queued up
for delivery. The scmSystems element might have multiple workspaces in JSON array, if your request has
multiple workspaces such as dev_test_1 and dev_test_2 in the sample JSON data in step 4.
b. For each node of requests (a node has multiple calls within each request with more than one workspace
in the same request) make POST calls to http://<workspace delivery API hosted server:port number>/
workspacedelivery/workspace/ and pass the following JSON:
{
"wsname": "workspace name found from ‘source: value’ in previous step",
"requestid": "approvalid found from the previous step"
}
For example:
{
"wsname": "dev_test_1",
"requestid": "88-5E29P"
}
49
Siebel Chapter 5
Approval Manager Guide Configuring Siebel Approval Manager
50
Siebel Chapter 6
Approval Manager Guide REST APIs for SAM
• REST API GET URL Sample Format for Issue Tracking Systems
• REST API GET Method's JSON Format for Issue Tracking Systems
• REST API POST URL Sample Format for Issue Tracking Systems
• REST API POST Method's JSON Format for Issue Tracking Systems
• Importing System Fields
• REST API GET URL Sample Formats for SCM Systems
• REST API GET Method's JSON Format for SCM Systems
• POST REST API Exposed by SAM for Workflow Actions
• GET REST API Exposed by SAM to Retrieve Status Types
• GET REST API Exposed by SAM to Retrieve User Types
• GET REST API Exposed by SAM to Retrieve List of Profiles
• REST API Exposed by SAM to Retrieve Approval Requests
Siebel Approval Manager (SAM) has a plug-and-play architecture using REST APIs. REST APIs are used to feed data
from external systems into SAM as well as write data back to those external systems. These external systems can be
either Issue Tracking systems like Bugzilla or SCM (Software Configuration Management) systems like GitHub or Siebel
workspaces.
GET REST API is used for reading (specified as the Read/Update property in SAM System administration), providing the
query data element part of the URI. POST REST API is used for writing (specified as the Write/Deliver property) of any
data change that need to be pushed to external systems.
51
Siebel Chapter 6
Approval Manager Guide REST APIs for SAM
JSON sample:
[
{
"issueId": "17788411",
"status": "Approved, waiting for codeline to open",
"priority": "1",
"customer": "INTERNAL",
"severity": "2",
"publish": "N",
"statusId": "39"
},
{
" issueId ": "22809179",
"status": "Closed, Not a Bug",
"priority": "5",
"customer": "INTERNAL",
"severity": "2",
"publish": "N",
"statusId": "92"
},
{
" issueId ": "22809190",
"status": "Closed, Not a Bug",
"priority": "5",
"customer": "INTERNAL",
"severity": "2",
"publish": "N",
"statusId": "92"
}
]
Note: "issueId" is the 'key identifier' and "statusId" is the 'key status' property in the previous sample.
http://<server ip>/services/issue/
52
Siebel Chapter 6
Approval Manager Guide REST APIs for SAM
JSON sample:
{
" issueId ": "22809190",
"publish": "N",
"statusId": "92"
}
In the previous sample, issueId, which is the key identifier, helps the POST end-point identify which Issue/Bug to
update. The other two fields, publish and statusId, are updated with values supplied in the JSON.
JSON sample:
[
{
"fieldName": "issueId",
"fieldId": "0"
},
{
"fieldName": "status",
"fieldId": "1"
},
{
"fieldName": " priority ",
"fieldId": "2"
},
{
"fieldName": " customer ",
"fieldId": "3"
},
{
"fieldName": " severity",
"fieldId": "4"
},
{
"fieldName": " publish",
"fieldId": "5"
},
53
Siebel Chapter 6
Approval Manager Guide REST APIs for SAM
{
"fieldName": " statusId ",
"fieldId": "6"
}
]
source = dev_fix_for_inline_edit
Note: For the branch name, SAM has a built in placeholder called 'source'. If there are additional data elements like
version or repository, then those can be configured by providing static elements.
For example if the URL needs 'repository' and 'version' (in addition to the built-in branch name placeholder for 'source'),
then providing the element in the following format is required.
Sample URL:
repository = siebelsam
version = sam-demo
source = dev_fix_for_inline_edit
The property 'valid' can have either 'Y', which stands for a valid branch, or 'N', which stands for an invalid or an already
closed branch. 'Message' can contain a string with the reason for declaring the branch invalid or any message for valid
branch (such as list of affected files).
54
Siebel Chapter 6
Approval Manager Guide REST APIs for SAM
Sample:
http://<server id>/sam/api/approvals/88@93?actionId=88@85
'88@93' in the previous URL represent 'Approval Id' and '88@85' represents the 'Action Id', which will be performed. The
'Action Id' can be found in the Action Id field of the Workflow Actions popup on the Profile administration screen within
SAM.
Output:
The 'message' contains a string explaining the outcome, either that the action is completed or was not able to be
performed because of some reason. The 'data' property will always be empty. The positive output will return 200 as its
status code.
{
"message": "Approval Request status changed to Draft",
"data": null
}
{
"message": "Approval Request status changed to Ready for Build",
"data": null
}
55
Siebel Chapter 6
Approval Manager Guide REST APIs for SAM
To get list of statuses, make a GET call to http://<SAM server>/sam/status using the Postman application.
The JSON output will contain information with their Ids in the property named ‘uId’ such as,
{
"uId": "0CX@32325363",
"userId": null,
"userName": "Admin",
},
56
Siebel Chapter 6
Approval Manager Guide REST APIs for SAM
"profileName": "2.17.x",
"profileId": "88@30990605",
…
Note: For readability only two fields are provided in the output.
http://<server ip>/sam/approvals/88@93
Output:
{
"message": "",
"data": [
{
"approvalId": "88@93",
"seedIssue": "Y",
"profileId": "88@30990610",
"defaultActionId": null,
"closeStatus": null,
"fieldsAndData": [
{
"fieldmapId": "88@30990653",
"genericFieldId": null,
"genericFieldLabel": null,
"genericFieldName": "APPROVAL_ID",
"extFieldName": "APPROVAL_ID",
"overrideLabel": "Approval Id",
"fieldValue": "88@93",
"valid": null,
"drillDownURL": null,
"defaultView": "N",
"header": "N",
"validationText": null,
"keyField": "N",
"systemId": "0CX@32325372",
"systemname": "System",
"displayOrder": 1
},
{
"fieldmapId": "88@30990654",
"genericFieldId": null,
"genericFieldLabel": null,
57
Siebel Chapter 6
Approval Manager Guide REST APIs for SAM
"genericFieldName": "APPROVAL_STATUS",
"extFieldName": "APPROVAL_STATUS",
"overrideLabel": "Approval Status",
"fieldValue": "Draft",
"valid": null,
"drillDownURL": null,
"defaultView": "N",
"header": "N",
"validationText": null,
"keyField": "N",
"systemId": "0CX@32325372",
"systemname": "System",
"displayOrder": 2
},
],
"buttons": null,
"scmSystems": null,
"approvalAuditTrail": [
{
"atId": "88@94",
"approvalId": "88@93",
"approvalStatusId": "88@30993086",
"approvalStatus": "Draft",
"comments": null,
"overrideManagerId": "null",
"overrideManager": null,
"updatedById": "88@30993489",
"updatedByEmail": "[email protected]",
"updatedBy": "Thirupathi Rajendran",
"updated": 1501064367000,
"version": null
}
]
}
]
}
The following could be some of the query tokens and the way to find them. The details are in the following
topics.
◦ STATUS_ID. Make a GET call on the Status API to find the statusId value that you want for a particular
status.
◦ MANAGER_ID and OWNER_ID. Make a GET call on the Users API to get all the users with their Ids in the
property named ‘uId’.
◦ PROFILE_ID. Make a GET call on the Profile API to get the profileId of the profile to query on.
◦ ISSUE_ID. This is the actual Issue Id generated by your Issue Tracker.
58
Siebel Chapter 6
Approval Manager Guide REST APIs for SAM
Sample of a single query criteria. This will return all of the approval requests created using the provided
Profile.
{
"PROFILE_ID":"88@30990605"
}
Sample of a dual query criteria. This will return all of the approval requests created using the provided
Profile and are in the provided Status.
{
"PROFILE_ID":"88@30990610",
"APPROVAL_STATUS_ID":"88@30993086"
}
The output format is identical to the one listed for the single approval request.
59
Siebel Chapter 6
Approval Manager Guide REST APIs for SAM
60