SOAR Wiki¶
Table of Contents¶
Release Notes¶
Version |
Date |
Notes |
---|---|---|
1.0.2 |
03/2025 |
Converted example workflows to python3 |
1.0.1 |
06/2021 |
Incorrect bool to string value fix |
1.0.0 |
11/2020 |
Initial Release |
Overview¶
Perform operations against the Resilient wiki: create or update pages, read wiki contents and perform lookups of content.
Key Features¶
Create or update a wiki page, including child pages
Get the contents of a wiki page
Lookup content in a specific page
Installation¶
Requirements¶
Resilient platform >=
51.0.0
An App Host or an Integration Server:
To setup up an App Host see: ibm.biz/res-app-host-setup
An Integration Server running
resilient_circuits>=51.0.0
on Python 3.9 or later (if using an Integration Server)To set up an Integration Server see: ibm.biz/res-int-server-guide
If using an API key account, minimum required permissions are:
Name
Permissions
Org Data
Read
Function
Read
Proxy supported: n/a.
Install¶
To install or uninstall an App using the App Host see ibm.biz/res-install-app
To install or uninstall an Integration using the Integration Server see the ibm.biz/res-install-int
App Configuration¶
This app has no settings in app.config.
Function - Wiki Get Contents¶
Return the contents of a wiki page based on the page’s title or id. Optionally convert the results to JSON format (for string-encoded JSON data).
Inputs:
Name |
Type |
Required |
Example |
Tooltip |
---|---|---|---|---|
|
|
No |
|
- |
|
|
Yes |
|
Use slash between wiki pages |
Outputs:
results = {
{
"version": "1.0",
"success": true,
"reason": "",
"content": {
"id": 1,
"title": "test page ΣΤ",
"children": [],
"text": "test of fn_wiki_create_updateΣ Τ ",
"creator": {
"id": 39,
"type": "user",
"name": "shresh@example.com",
"display_name": "Resilient Sysadmin"
},
"create_date": 1743079240704,
"last_modified_time": 1743079240704,
"last_modified_by": {
"id": 39,
"type": "user",
"name": "shresh@example.com",
"display_name": "Resilient Sysadmin"
},
"mentioned_widgets": [],
"perms": {
"update": true,
"delete": true
},
"parent": ""
},
"raw": "",
"inputs": {
"wiki_contents_as_json": false,
"wiki_path": "test page ΣΤ"
},
"metrics": {
"version": "1.0",
"package": "fn-wiki",
"package_version": "1.0.1",
"host": "li-b6f3814c-2cf7-11b2-a85c-95da948e58bf.ibm.com",
"execution_time_ms": 357,
"timestamp": "2025-03-27 12:40:58"
},
"title": "test page ΣΤ"
}
}
Example Pre-Process Script:
None
Example Post-Process Script:
note = "Page: '{}'".format(results.inputs.get('wiki_path'))
if results.content:
note = "{} contents:\n\n{}".format(note, results.content['text'])
if results.content.get('json'):
note = "{} \nJSON contents:\n\n{}".format(note, results.content['json'])
else:
note = "{} not found".format(note)
incident.addNote(note)
Function - Wiki Create or Update Page¶
Create or update a wiki page in Resilient based on the page’s title or id. Optionally create a page as a child page.
Inputs:
Name |
Type |
Required |
Example |
Tooltip |
---|---|---|---|---|
|
|
Yes |
|
- |
|
|
Yes |
|
Specify ‘No’ to only update |
|
|
Yes |
|
Use slash between wiki pages |
Outputs:
results = {
{
"version": "1.0",
"success": true,
"reason": "",
"content": {
"id": 1,
"title": "test page ΣΤ",
"children": [],
"text": "test of fn_wiki_create_updateΣ Τ",
"creator": {
"id": 39,
"type": "user",
"name": "shresh@example.com",
"display_name": "Resilient Sysadmin"
},
"create_date": 1743079240704,
"last_modified_time": 1743079240704,
"last_modified_by": {
"id": 39,
"type": "user",
"name": "shresh@example.com",
"display_name": "Resilient Sysadmin"
},
"mentioned_widgets": [],
"perms": {
"update": true,
"delete": true
},
"parent": ""
},
"raw": "",
"inputs": {
"wiki_path": "test page ΣΤ",
"wiki_body": "test of fn_wiki_create_updateΣ Τ ",
"wiki_create_if_missing": true
},
"metrics": {
"version": "1.0",
"package": "fn-wiki",
"package_version": "1.0.1",
"host": "li-b6f3814c-2cf7-11b2-a85c-95da948e58bf.ibm.com",
"execution_time_ms": 624,
"timestamp": "2025-03-27 12:40:40"
}
}
}
Example Pre-Process Script:
None
Example Post-Process Script:
note = "Page/Id: '{}'".format(results.inputs.get('wiki_path'))
if results.content:
incident.addNote("{} created/updated\n\n{}".format(note, results.content['text']))
Function - Wiki Lookup¶
Search a wiki page based on a search term and return the matching lines. The search term can be a regular expression (regex) for generalized lookup.
Inputs:
Name |
Type |
Required |
Example |
Tooltip |
---|---|---|---|---|
|
|
No |
|
text or regular expression format |
|
|
Yes |
|
Use slash between wiki pages |
Outputs:
results = {
{
"version": "1.0",
"success": true,
"reason": "",
"content": [
"test of fn_wiki_create_updateΣ Τ "
],
"raw": "",
"inputs": {
"wiki_search_term": "Σ Τ",
"wiki_path": "test page ΣΤ"
},
"metrics": {
"version": "1.0",
"package": "fn-wiki",
"package_version": "1.0.1",
"host": "li-b6f3814c-2cf7-11b2-a85c-95da948e58bf.ibm.com",
"execution_time_ms": 363,
"timestamp": "2025-03-27 12:41:13"
},
"title": "test page ΣΤ"
}
}
Example Pre-Process Script:
None
Example Post-Process Script:
note = "Page/Id: '{}'".format(results.inputs.get('wiki_path'))
if results.content:
incident.addNote("{}\n\n{}".format(note, "\n".join(results.content)))
else:
incident.addNote("{} not found".format(note))
Rules¶
Use the example rules and workflows to understand how to use the inputs and parse the resulting content. Design your own rules and workflows based on your business requirements.
Rule Name |
Object |
Workflow Triggered |
---|---|---|
Example: Wiki Get Contents |
incident |
|
Example: Wiki Create Page |
incident |
|
Example: Wiki Lookup |
incident |
|
Troubleshooting & Support¶
If using the app with an App Host, see the Resilient System Administrator Guide and the App Host Deployment Guide for troubleshooting procedures. You can find these guides on the IBM Knowledge Center, where you can select which version of the Resilient platform you are using.
If using the app with an integration server, see the Integration Server Guide
For Support¶
This is a IBM Community Provided App. Please search the Community https://ibm.biz/resilientcommunity for assistance.