IBM Support

Usage of IBM InfoSphere Information Server Administration (Web) Console functionality via REST APIs

Fix Readme


Abstract

In Information Server version 11.7.1.1, the Information Server Administration (Web) console is replaced with a new implementation of the Administration console.
The new web console does not contain all of the functionality that was available in the prior web console. Beyond what is available via the new web console User Interface, this document supplements Swagger documentation for exposed REST APIs related to the new web console UI screens. The following APIs are not integrated with the new web console UI.
1. Reporting access control
2. Schedule Monitoring
However, they can be directly executed through this Swagger documentation.

Note that usage of Swagger documentation is limited to JSON input that is outlined in this Technote. Default JSON that appears in Swagger documentation may not work as-is.

Content


Table of Contents

1) Enabling the REST API Swagger documentation
     1.1) Installations using WebSphere Application Server Network Deployment (WAS ND)
     1.2) Installations using WebSphere Application Server Liberty profile
2) Opening the REST API Swagger documentation
3) Login to Administration console using Swagger
4) Access control for Reporting
     4.1) GetACL- View or Open Access control for a particular report
     4.2) Post—Edit  Access control for a particular report
5) Schedule Monitoring
     5.1) Create scheduling view
     5.2) Get views of schedules
     5.3) Pause task schedules
     5.4) Resume task schedule
     5.5)  Purge task schedules
     5.6) Update schedules of scheduling view
     5.7)  Delete scheduling view
6) Known Issues


 


1) Enabling the REST API Swagger documentation

1.1) Installations using WebSphere Application Server Network Deployment (WAS ND)
 
  1. Login to the WAS ND console
  2. Navigate to Servers -> ServerType -> WebSphere application services -> server1 -> Web container Settings -> Web container
  3. Enable the option "Enable API discovery service"

    image 3611
     
  4. Restart the Metadata server
         /opt/IBM/InformationServer/ASBServer/bin/MetadataServer.sh stop
         /opt/IBM/InformationServer/ASBServer/bin/MetadataServer.sh run
     For Linux, see details:
            https://www.ibm.com/support/knowledgecenter/SSZJPZ_11.7.0/com.ibm.swg.im.iis.found.admin.common.doc/topics/t_wsadmin_was_start_linuxunix.html

           https://www.ibm.com/support/knowledgecenter/SSZJPZ_11.7.0/com.ibm.swg.im.iis.found.admin.common.doc/topics/t_wsadmin_was_stop_linuxunix.html

      For Windows, see details:
            https://www.ibm.com/support/knowledgecenter/SSZJPZ_11.7.0/com.ibm.swg.im.iis.found.admin.common.doc/topics/t_wsadmin_was_start_windows.html

            https://www.ibm.com/support/knowledgecenter/SSZJPZ_11.7.0/com.ibm.swg.im.iis.found.admin.common.doc/topics/t_wsadmin_was_stop_windows.html

1.2) Installations using WebSphere Application Server Liberty profile

  1. Change directory to /opt/IBM/InformationServer/wlp/usr/servers/
  2. In the server.xml file add the following entry:
        <apiDiscovery publicURL="/ibm/iis/api" />
  3. Restart the Metadata server
         See section 1.1) for  commands to restart the Metadata server.

2) Opening the REST API Swagger documentation


2.1) In a web browser, open https://hostname:portnumber/ibm/api/explorer/#!/default/.
       Click default.


        image 3544

 2.2)  A list of API services is displayed.

        
image 3549
        

3) Login to Administration console using Swagger

     3.1) You will use the User login API service with relative url  /ibm/iis/admin/console/user/login.
            
Click the POST button.

        image 3609

     3.2) In the Parameters section, under the Value for body
                 Body
                 {
                         "username": "username to login",
                         "password": "password to login",
                         "rememberMe": "string"
                 }
            you should specify

                 a. a user with Administrator privileges as the value for username
                 b. the password
                 c. the value for rememberMe (not consumed currently)

            You can also invoke the login service by using url https://hostname:portnumber/ibm/api/explorer/#!/default/login1

            Click the Try it out button

       
        image 3613

        The output JSON is displayed if the service succeeded.
        The Response Body section contains the output JSON returned by the service.
        The Response Code section contains the http status return code.
        As indicated, a Response Code of 200 indicates a successful operation.

        Click the POST button to get to get back to the list of API services.

 
4) Access Control for Reporting

Each report template, report, and report result has an access control list. Access control lists specify which users, groups, or roles can create reports from templates, run reports, view and delete report results, and perform other actions. Each member of a list has specific permissions for the template, report, or report result that the list applies to. Each type of reporting object has a different set of permissions.

There are two API methods for Access control:

1. Get—View or Open Access control for a particular report

2.  Post—Update/Edit  Access control for a particular report

4.1) GetACL- View or Open Access control for a particular report

To view the Access control of the report you have to first locate the report id for that report.
You can use the following API to retrieve all recent reports for a user login.

View Recent Reports

image 3568

Details:

List the recent reports created

https://hostname:portnumber/ibm/api/explorer/#!/default/getRecentReports

Method: get /ibm/iis/admin/console/report

image 3569

image 3570

Open Access Control

image 3571
image 3573

Details:

Get the list of users, groups, and roles that have access to a selected report

Method:

get /ibm/iis/admin/console/report/acl/{reportid}

Url: https://hostname:portnumber/ibm/api/explorer/#!/default/setReportAcl

    

Screenshot for Output

image 3574

4.2) Post—Edit  Access control for a particular report

image 3575

image 3576

Details:

Manage the list of users, groups, and roles that have access to a selected report

Method:
post /ibm/iis/admin/console/report/acl

URL:

  https://hostname:portnumber/ibm/api/explorer/#!/default/setReportAcl

where reportId  is  unique id of the report  to modify/update() or delete the access of the users for that particular report

image 3577

Json used as part of body

{
"id": "eaf0c62e.c69ddee.n52n1ong2.63n4f7n.aok6k8.gd8k0qqfcplnj9akj93kcm",
"owner": "eaf0c62e.91b14154.n52n35k8f.se918kl.dse6e7.rebsurcuoghhnquanto5n",
"entries": [
{
"id": "isadmin",
"idType": {
"idType": "USER"
},
"permissions": [
{
"access": "OWNER"
},
{
"access": "READ"
},
{
"access": "UPDATE"
},
{

"access": "DELETE"
},
{
"access": "EXECUTE"
},
{
"access": "VIEW"
}
]
},
{
"id": "SuiteAdmin",
"idType": {
"idType": "ROLE"
},
"permissions": [
{
"access": "READ"
},
{
"access": "UPDATE"
},
{
"access": "DELETE"
},
{
"access": "EXECUTE"
},
{
"access": "OWNER"
}
]
},
{
"id": "acltest",
"idType": {
"idType": "USER"
},
"permissions": [
{
"access": "READ"
},
{
"access": "UPDATE"
}
]
}
]
}

where id is the report id which can be retrieved from get method or from the view recent report as shown above owner can be retrieved from get method of access control

Known label Issues:
        For the Post method of Access control  right hand side description should be update or edit instead  of get

5) Schedule Monitoring

5.1) Create scheduling view

         image 3578
             image 3579

Details

Method : post /ibm/iis/admin/console/schedule

https://hostname:portnumber/ibm/api/explorer/#!/default/createSchedulingView

You can define a view that consists of schedules that have tasks that end abnormally. You can combine criteria to further refine the view.
A view can be private or shared.
A suite administrator or suite user who creates a private view has exclusive access to the view. Select Private to restrict users from accessing the view.
Select Shared
to make a view available to all users. A shared view can be edited only by the user who created the view or by the suite administrator.

Following is the input json used for creating schedule for shared view .

You can create the schedule task both private and shared successfully using following json

Input json for Private schedule is
{
"viewDisplayName": "Schedule-viewDisplayName",
"viewDescription": "Schedule-viewDescription",
"displayName": "Schedule-displayName",
"description": "Schedule-description",
"creators": [
"isadmin"
],
"sharedView": false
}

{
"viewDisplayName": "Schedule-viewDisplayName",
"viewDescription": "Schedule-viewDescription",
"displayName": "Schedule-displayName",
"description": "Schedule-description",
"creators": [
"isadmin"
],
"sharedView": true
}

Output json :
{
  "viewIdentifier": "d70c6594.cce6f679.p17n3rmv0.mr2d8bp.ufnqqm.h744rjgdje2krbl8m7mg3",
  "viewDisplayName": "Schedule-viewDisplayName",
  "viewDescription": "Schedule-viewDescription",
  "displayName": "Schedule-displayName",
  "description": "Schedule-description",
  "creators": [
    "isadmin"
  ],
  "sharedView": false,
  "viewOwner": "isadmin",
  "viewCreationDate": 1588850525619
}

Screenshot of output:

image 3580

Similarly, following is the json for shared schedule
{
"viewDisplayName": "SharedSchedule-viewDisplayName",
"viewDescription": "SharedSchedule-viewDescription",
"displayName": "sharedSchedule-displayName",
"description": "Schedule-description",
"creators": [
"isadmin"
],
"sharedView": true
}

 

{
"viewDisplayName": "sharedSchedule-viewDisplayName",
"viewDescription": "sharedSchedule-viewDescription",
"displayName": "SharedSchedule-displayName",
"description": "SharedSchedule-description",
"creators": [
"isadmin"
],
"sharedView": true
}

 

Output json:
{
  "viewIdentifier": "d70c6594.cce6f679.p17n3rn89.80nulhr.f0ijr0.46j8basc5nd0u12jlbp77",
  "viewDisplayName": "SharedSchedule-viewDisplayName",
  "viewDescription": "SharedSchedule-viewDescription",
  "displayName": "sharedSchedule-displayName",
  "description": "Schedule-description",
  "creators": [
    "isadmin"
  ],
  "sharedView": true,
  "viewOwner": "isadmin",
  "viewCreationDate": 1588851132928
}

 

5.2) Get views of schedules

image 3581

We can view the schedules that are captured by a schedule view. From this view, we can then manage the schedules and scheduled tasks.

Details

Method: get /ibm/iis/admin/console/schedule

https://hostname:portnumber/ibm/api/explorer/#!/default/getListOfSchedules

Screenshot of output:

image 3582

5.3) Pause task schedules

image 3583

To pause a set of schedules, we can pause all of the schedules that are captured by a schedule view. The schedules that are captured by the view are paused. All tasks in them will not run until the schedules are resumed.

Details:

post /ibm/iis/admin/console/schedule/view/pause

https://hostname:portnumber/ibm/api/explorer/#!/default/purgeSchedules_0

Input Json:

{
"scheduleIds": [
"<<id which can be retrived from getSchedule response or from create schedule response >>“(Method: get /ibm/iis/admin/console/schedule
url:
https://hostname:portnumber/ibm/api/explorer/#!/default/getListOfSchedules)
]
}

Example:       

{
"scheduleIds": [
"d70c6594.cce6f679.p17n3rn89.80nulhr.f0ijr0.46j8basc5nd0u12jlbp77"
]
}

Output:

{
  "messageCode": "PAUSE_SCHEDULED_TASKS",
  "message": "Paused task  schedules successfully",
  "httpStatus": 200
}

Screen Shot for output:

image 3584

5.4) Resume task schedule

image 3585

Details:

After we pause all of the schedules in a schedule view, we can resume all of the schedules that are captured by the scheduled view.

Method:  post /ibm/iis/admin/console/schedule/view/resume

https://hostname:portnumber/ibm/api/explorer/#!/default/resumeSchedules

Input json:

{
"scheduleIds": [
"<<id which can be retrived from getSchedule response or from create schedule response
( Method: get /ibm/iis/admin/console/schedule
url:
https://hostname:portnumber/ibm/api/explorer/#!/default/getListOfSchedules)
>>"
]
}

Example:       

{
"scheduleIds": [
"d70c6594.cce6f679.p17n3rn89.80nulhr.f0ijr0.46j8basc5nd0u12jlbp77"
]
}

Output Json:

{
  "messageCode": "RESUME_SCHEDULED_TASKS",
  "message": "Resumed task  schedules successfully",
  "httpStatus": 200
}

Screenshot for output:

image 3586

5.5)  Purge task schedules

image 3587

Details:

To quickly purge the run history of a number of schedules, we can purge the history of a schedule view. The run history for all of the schedules that are captured by the schedule view are purged from the metadata repository.

Method : /ibm/iis/admin/console/schedule/view/purge

https://hostname:portnumber/ibm/api/explorer/#!/default/purgeSchedules

Input Json:

{
"taskScheduleIds":["<<id which can be retrived from getSchedule response  or from create schedule response >>(( Method: get /ibm/iis/admin/console/schedule
url:
https://hostname:portnumber/ibm/api/explorer/#!/default/getListOfSchedules)
)"],
"purgeStartDateTime":"string","purgeEndDateTime":"string"
}

Example:

{
"taskScheduleIds":["d70c6594.cce6f679.p17n3rn89.80nulhr.f0ijr0.46j8basc5nd0u12jlbp77"],
"purgeStartDateTime":"2020-04-01 10:10:10","purgeEndDateTime":"2020-05-01 10:10:10"
}

Output json:
{
  "messageCode": "PURGE_SCHEDULED_TASKS",
  "message": "Purging scheduled tasks done successfully",
  "httpStatus": 200
}

Screenshot:

image 3588

5.6) Update schedules of scheduling view

image 3589

Modifying the existing schedule

Details:

Put  /ibm/iis/admin/console/schedule/{scheduleId}

https://hostname:portnumber/ibm/api/explorer/#!/default/updateSchedulingView

Where scheduleId is the id of the schedule which we want to modify

Input json:

{
"viewDisplayName": "ModifiedSchedule-viewDisplayName",
 "viewDescription": "ModifiedSchedule-viewDescription",
 "displayName": "Schedule-displayName",
 "description": "Schedule-description",
 "creators": [
 "isadmin"
 ],
"sharedView": true
}

outputJson:

{
  "viewIdentifier": "d70c6594.cce6f679.p17n3rn89.80nulhr.f0ijr0.46j8basc5nd0u12jlbp77",
  "viewDisplayName": "ModifiedSchedule-viewDisplayName",
  "viewDescription": "ModifiedSchedule-viewDescription",
  "displayName": "Schedule-displayName",
  "description": "Schedule-description",
  "creators": [
    "isadmin"
  ],
  "sharedView": true,
  "viewOwner": "isadmin",
  "viewCreationDate": 1588851132928
}

Screenshot for output:

image 3590

5.7)  Delete scheduling view
image 3591

Details:

Deletes a schedule from the repository.

https://hostname:portnumber/ibm/api/explorer/#!/default/deleteSchedules

Method: /ibm/iis/admin/console/schedule/view/delete

Input json:

{
  "scheduleIds": [
    "string"
  ]
}

Example:

{
  "scheduleIds": [
    "d70c6594.cce6f679.p17n3rn89.80nulhr.f0ijr0.46j8basc5nd0u12jlbp77"
  ]
}

Output Json

{
  "messageCode": "DELETE_SCHEDULING_VIEWS",
  "message": "Eiher scheduling view/s deleted successfully or do not exist",
  "httpStatus": 200
}

 

Screenshot for output:
image 3592
 

6) Known Issues

In View Schedule, the following functionality in the prior Administration console is not available:

  1. start
  2. stop
  3. view forecast
  4. view task
  5. view complete
  6. view Running
  7. purge

    image 3593

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSZJPZ","label":"IBM InfoSphere Information Server"},"ARM Category":[{"code":"a8m500000008XFHAA2","label":"Information Server Administration"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"11.7.1","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

More support for:
IBM InfoSphere Information Server

Component:
Information Server Administration

Software version:
11.7.1

Document number:
6209508

Modified date:
22 May 2020

UID

ibm16209508

Manage My Notification Subscriptions