@manyos/smileconnect-api 1.39.1 → 1.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app.js +13 -0
- package/conf/clients.json +1 -0
- package/docs/.nojekyll +0 -0
- package/docs/README.md +1 -0
- package/docs/_coverpage.md +12 -0
- package/docs/_media/dataflow.png +0 -0
- package/docs/_media/logo.png +0 -0
- package/docs/_sidebar.md +25 -0
- package/docs/{configuration/adapter.md → adapter.md} +8 -16
- package/docs/architecture.md +8 -0
- package/docs/configuration/clients.md +69 -0
- package/docs/configuration/config.md +323 -0
- package/docs/{eventlog → configuration}/events.md +11 -8
- package/docs/{general/field-management.md → configuration/mapping.md} +2 -72
- package/docs/howto/{worklog-attachment.md → attachments.md} +8 -15
- package/docs/howto/cmdbobjects.md +11 -17
- package/docs/howto/incidents.md +16 -23
- package/docs/howto/token.md +14 -18
- package/docs/howto/{incident-worklogs.md → worklogs.md} +14 -21
- package/docs/index.html +26 -0
- package/docs/openapi.json +2054 -1354
- package/docs/quickstart.md +9 -0
- package/docs/releases.md +11 -0
- package/docs/{configuration/scripts.md → scripts.md} +65 -68
- package/package.json +1 -1
- package/docs/.gitattributes +0 -48
- package/docs/404.html +0 -13
- package/docs/Gemfile +0 -7
- package/docs/Gemfile.lock +0 -249
- package/docs/_config.yml +0 -259
- package/docs/_data/SocialNetworks.yml +0 -92
- package/docs/_data/ui-text.yml +0 -494
- package/docs/_includes/disqus.html +0 -17
- package/docs/_includes/ext-css.html +0 -7
- package/docs/_includes/ext-js.html +0 -7
- package/docs/_includes/fb-comment.html +0 -14
- package/docs/_includes/footer-minimal.html +0 -16
- package/docs/_includes/footer-scripts.html +0 -32
- package/docs/_includes/footer.html +0 -51
- package/docs/_includes/google_analytics.html +0 -14
- package/docs/_includes/gtag.html +0 -11
- package/docs/_includes/gtm_body.html +0 -6
- package/docs/_includes/gtm_head.html +0 -9
- package/docs/_includes/head.html +0 -131
- package/docs/_includes/header.html +0 -76
- package/docs/_includes/just_comments.html +0 -4
- package/docs/_includes/matomo.html +0 -17
- package/docs/_includes/nav.html +0 -57
- package/docs/_includes/social-share.html +0 -42
- package/docs/_includes/staticman-comment.html +0 -22
- package/docs/_includes/staticman-comments.html +0 -81
- package/docs/_layouts/base.html +0 -35
- package/docs/_layouts/default.html +0 -9
- package/docs/_layouts/minimal.html +0 -26
- package/docs/_layouts/page.html +0 -26
- package/docs/_layouts/post.html +0 -82
- package/docs/_posts/2015-02-28-test-markdown.md +0 -77
- package/docs/aboutme.md +0 -18
- package/docs/css/bootstrap-social.css +0 -147
- package/docs/css/bootstrap-theme.css +0 -476
- package/docs/css/bootstrap-theme.css.map +0 -1
- package/docs/css/bootstrap-theme.min.css +0 -5
- package/docs/css/bootstrap.css +0 -6566
- package/docs/css/bootstrap.css.map +0 -1
- package/docs/css/bootstrap.min.css +0 -5
- package/docs/css/main-minimal.css +0 -13
- package/docs/css/main.css +0 -788
- package/docs/css/normalize.css +0 -427
- package/docs/css/pygment_highlights.css +0 -61
- package/docs/css/staticman.css +0 -180
- package/docs/feed.xml +0 -24
- package/docs/general/architecture.md +0 -10
- package/docs/general/config.md +0 -201
- package/docs/general/release-notes.md +0 -9
- package/docs/howto/sample-config.md +0 -518
- package/docs/img/404-southpark.jpg +0 -0
- package/docs/img/avatar-icon.png +0 -0
- package/docs/img/bgimage.png +0 -0
- package/docs/img/gb-isapi.jpg +0 -0
- package/docs/img/install-steps.gif +0 -0
- package/docs/img/workflow.png +0 -0
- package/docs/js/bootstrap.js +0 -2306
- package/docs/js/bootstrap.min.js +0 -7
- package/docs/js/jquery-1.11.2.min.js +0 -4
- package/docs/js/main.js +0 -140
- package/docs/js/staticman.js +0 -54
- package/docs/staticman.yml +0 -110
- /package/docs/{img → _media}/architecture.jpeg +0 -0
- /package/docs/{img → _media}/attachment-upload.png +0 -0
- /package/docs/{getting-started.md → old/getting-started.md} +0 -0
- /package/docs/{index.md → old/index.md} +0 -0
- /package/docs/{installation.md → old/installation.md} +0 -0
- /package/docs/{postinstall.md → old/postinstall.md} +0 -0
- /package/docs/{preinstall.md → old/preinstall.md} +0 -0
- /package/docs/{tags.html → old/tags.html} +0 -0
- /package/docs/{workflow.md → old/workflow.md} +0 -0
package/app.js
CHANGED
|
@@ -233,6 +233,19 @@ app.get('/debug', function (req, res, next) {
|
|
|
233
233
|
//global authentication
|
|
234
234
|
app.use(passport.authenticate('jwt', {session: false}), responseHandler.logRequest);
|
|
235
235
|
|
|
236
|
+
//Check for dynamic impersonate
|
|
237
|
+
app.use(function (req, res, next) {
|
|
238
|
+
if (req.user) {
|
|
239
|
+
const clientConfig = req.user.config;
|
|
240
|
+
const dynamicARUser = req.query.impersonateUser;
|
|
241
|
+
if (clientConfig && clientConfig.options && clientConfig.options.allowDynamicImpersonate === true && dynamicARUser) {
|
|
242
|
+
log.debug('Dynamic impersonate to user', dynamicARUser)
|
|
243
|
+
clientConfig.options.impersonateUser = dynamicARUser
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
next()
|
|
247
|
+
})
|
|
248
|
+
|
|
236
249
|
//set globalscript params
|
|
237
250
|
app.use(function (req, res, next) {
|
|
238
251
|
req.globalScriptParams = {
|
package/conf/clients.json
CHANGED
package/docs/.nojekyll
ADDED
|
File without changes
|
package/docs/README.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Our ITSM API creates a RESTful layer on-top of BMCs ITSM Suite. It allows you to expose all of your services with an easy and powerful REST-API. You can perform create, read and update operations on Incidents, Changes, Problems, Work Orders, Tasks and Assets. With no need for customization.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
# SMILEconnect
|
|
4
|
+
|
|
5
|
+
> Learn all about manyos ITSM API on these pages
|
|
6
|
+
|
|
7
|
+
- The easy way to integrate providers
|
|
8
|
+
- Reduce efforts and license cost
|
|
9
|
+
- State of the art ITSM REST API
|
|
10
|
+
|
|
11
|
+
[manyos](https://manyos.it)
|
|
12
|
+
[Get Started](quickstart#Introduction)
|
|
Binary file
|
|
Binary file
|
package/docs/_sidebar.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
- Getting started
|
|
2
|
+
|
|
3
|
+
- [Quick start](quickstart.md)
|
|
4
|
+
- [Architecture](architecture.md)
|
|
5
|
+
- [API Specification](spec/index.html)
|
|
6
|
+
|
|
7
|
+
- Configuration
|
|
8
|
+
|
|
9
|
+
- [Global Settings](configuration/config.md)
|
|
10
|
+
- [Mapping](configuration/mapping.md)
|
|
11
|
+
- [Client Configuration](configuration/clients.md)
|
|
12
|
+
- [Events](configuration/events.md)
|
|
13
|
+
|
|
14
|
+
- Data manipulation
|
|
15
|
+
|
|
16
|
+
- [Scripts](scripts.md)
|
|
17
|
+
- [Adapter](adapter.md)
|
|
18
|
+
|
|
19
|
+
- How-Tos
|
|
20
|
+
|
|
21
|
+
- [Authentication](howto/token.md)
|
|
22
|
+
- [Incident Requests](howto/incidents.md)
|
|
23
|
+
- [Handle Worklogs](howto/worklogs.md)
|
|
24
|
+
- [Handle Attachments](howto/attachments.md)
|
|
25
|
+
- [Read Configuration Items](howto/cmdbobjects.md)
|
|
@@ -1,13 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
layout: page
|
|
3
|
-
title: Adapter
|
|
4
|
-
subtitle: Talk to the outside world
|
|
5
|
-
use-site-title: true
|
|
6
|
-
bigimg: /img/gb-isapi.jpg
|
|
7
|
-
toc: true
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Introduction
|
|
1
|
+
# Adapter
|
|
11
2
|
|
|
12
3
|
Adapter are used to integrate with different systems. SMILEconnect comes with a flexible adapter architecture. Multiple types of adapters can be used and also multiple adapters of the same type can be configured. This can be useful if you need to interact e.g. with two different LDAP Systems.
|
|
13
4
|
|
|
@@ -15,7 +6,7 @@ Adapter are used to integrate with different systems. SMILEconnect comes with a
|
|
|
15
6
|
|
|
16
7
|
Adapter are configured in the file *adapterConfig.js* in the root of the conf folder. Within the configuration file the variable *env* can be used to access system environment variables. E.g. *env.AR_USER* reflects the value of the system variable *AR_USER*.
|
|
17
8
|
|
|
18
|
-
For security, it is advised to store confidential information, like passwords, in the environment variables and not in the configuration file itself.
|
|
9
|
+
For security, it is advised to store confidential information, like passwords, in the environment variables and not in the configuration file itself.
|
|
19
10
|
|
|
20
11
|
Configuration example:
|
|
21
12
|
```javascript
|
|
@@ -74,7 +65,7 @@ The Remedy Adapter is used to connect to BMC Remedy Action Request Servers. It a
|
|
|
74
65
|
|
|
75
66
|
**rapiUri**: The URL of the RAPI Server wich is used as middleware to connect to the arsystem server. e.g. https://rapi.mydomain.com
|
|
76
67
|
|
|
77
|
-
**cacheTime**: The default time in seconds in which the result of queries is stored in a cache. This is used to increase performance dramatically. Defaults to 300s.
|
|
68
|
+
**cacheTime**: The default time in seconds in which the result of queries is stored in a cache. This is used to increase performance dramatically. Defaults to 300s.
|
|
78
69
|
|
|
79
70
|
**limitDefault**: The default limit of records retrieved in a query. This value is used whenever no value is specified. Can be overwritten in queries.
|
|
80
71
|
|
|
@@ -148,7 +139,7 @@ The form in which a new record is created. e.g. CTM:People
|
|
|
148
139
|
|
|
149
140
|
* entry (object):
|
|
150
141
|
|
|
151
|
-
The entry object that is ceated.
|
|
142
|
+
The entry object that is ceated.
|
|
152
143
|
|
|
153
144
|
e.g.
|
|
154
145
|
|
|
@@ -157,7 +148,7 @@ e.g.
|
|
|
157
148
|
"Source Keyword": "SMILEcatalog",
|
|
158
149
|
"Company": "Calbro Services",
|
|
159
150
|
"AppRequestSummary": "New Request from SMILEcatalog",
|
|
160
|
-
"TitleInstanceID": "SRGAA5V0GEfds7LO5YL6Q945Z",
|
|
151
|
+
"TitleInstanceID": "SRGAA5V0GEfds7LO5YL6Q945Z",
|
|
161
152
|
"Login ID": "Allen"
|
|
162
153
|
}
|
|
163
154
|
```
|
|
@@ -207,6 +198,7 @@ e.g.
|
|
|
207
198
|
}
|
|
208
199
|
```
|
|
209
200
|
|
|
201
|
+
|
|
210
202
|
* countOnly (only search)
|
|
211
203
|
|
|
212
204
|
Can be used to retrieve only the size of the results without any payload. This improves performance.
|
|
@@ -312,6 +304,6 @@ The SMILEconnect Adapter can be used to do calls against SMILEconnect. It will a
|
|
|
312
304
|
|
|
313
305
|
### Functions
|
|
314
306
|
|
|
315
|
-
The SMILEconnect adapter is an open source project.
|
|
307
|
+
The SMILEconnect adapter is an open source project.
|
|
316
308
|
|
|
317
|
-
[Visit the project homepage for details]https://github.com/manyosit/smileconnect-client
|
|
309
|
+
[Visit the project homepage for details](https://github.com/manyosit/smileconnect-client)
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Client Config
|
|
2
|
+
|
|
3
|
+
On a per client base it can be configured which fields are returned for each object and if a basequery is applied. This expose certain fields only dedicated clients. It also allows to define which rows a client can access. Clients are configured in conf/clients.json
|
|
4
|
+
|
|
5
|
+
```json
|
|
6
|
+
[
|
|
7
|
+
{
|
|
8
|
+
"name": "jira",
|
|
9
|
+
"config": {
|
|
10
|
+
"options" : {
|
|
11
|
+
"dateFormat" : "dd.MM.yyyy HH:mm.ss",
|
|
12
|
+
"clientLimit": 100
|
|
13
|
+
},
|
|
14
|
+
"cmdbobject": {
|
|
15
|
+
"basequery": "'Data Set Id' = \"BMC.ASSET\" AND ('Mark As Deleted' = \"No\" OR 'Mark As Deleted' = $NULL$) AND 'Class Id' = \"BMC_COMPUTERSYSTEM\"",
|
|
16
|
+
"fields": [
|
|
17
|
+
"Instance Id",
|
|
18
|
+
"Tag Number",
|
|
19
|
+
"Name",
|
|
20
|
+
"AssetLifecycleStatus",
|
|
21
|
+
"Category",
|
|
22
|
+
"Item",
|
|
23
|
+
"Type",
|
|
24
|
+
"Availability",
|
|
25
|
+
"Confidentiality",
|
|
26
|
+
"Integrity",
|
|
27
|
+
"Authenticity",
|
|
28
|
+
"Model Number",
|
|
29
|
+
"Class Id",
|
|
30
|
+
"Reconciliation Identity"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"orgdata": {
|
|
34
|
+
"basequeryPeople": "'Profile Status' = \"Enabled\"",
|
|
35
|
+
"basequeryOrganisation": "'Status'=\"Enabled\"",
|
|
36
|
+
"basequerySupportGroup": "'Status'=\"Enabled\""
|
|
37
|
+
},
|
|
38
|
+
"change": {
|
|
39
|
+
"fields": [
|
|
40
|
+
"Infrastructure Change ID",
|
|
41
|
+
"Categorization Tier 1",
|
|
42
|
+
"Categorization Tier 2",
|
|
43
|
+
"Categorization Tier 3",
|
|
44
|
+
"Product Cat Tier 1",
|
|
45
|
+
"Product Cat Tier 2",
|
|
46
|
+
"Product Cat Tier 3",
|
|
47
|
+
"Product Name (2)",
|
|
48
|
+
"Description",
|
|
49
|
+
"Detailed Description",
|
|
50
|
+
"Status Reason",
|
|
51
|
+
"Change Request Status",
|
|
52
|
+
"Requested Start Date",
|
|
53
|
+
"Requested End Date",
|
|
54
|
+
"Scheduled Start Date",
|
|
55
|
+
"Scheduled End Date",
|
|
56
|
+
"Support Group ID",
|
|
57
|
+
"Support Group ID 2",
|
|
58
|
+
"Customer Person ID"
|
|
59
|
+
],
|
|
60
|
+
"constants" : [
|
|
61
|
+
{"name": "Location Company", "value" : "Calbro Services"},
|
|
62
|
+
{"name": "Company", "value" : "Calbro Services"},
|
|
63
|
+
{"name": "RequesterLoginID", "value" : "Allen"}
|
|
64
|
+
]
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
```
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
# Global Application Settings
|
|
2
|
+
|
|
3
|
+
All of the following global configuration options needs to be set as Environment Variables for the different containers.
|
|
4
|
+
|
|
5
|
+
# API
|
|
6
|
+
|
|
7
|
+
## AR Server Connection
|
|
8
|
+
|
|
9
|
+
### BASEURL
|
|
10
|
+
|
|
11
|
+
Base URL of the used arrestfulapi
|
|
12
|
+
|
|
13
|
+
Sample:
|
|
14
|
+
|
|
15
|
+
*BASEURL=http://localhost:8080*
|
|
16
|
+
|
|
17
|
+
### AR_SERVER
|
|
18
|
+
|
|
19
|
+
Remedy Server to connect to.
|
|
20
|
+
|
|
21
|
+
Sample:
|
|
22
|
+
|
|
23
|
+
*AR_SERVER=pier1*
|
|
24
|
+
|
|
25
|
+
### AR_PORT
|
|
26
|
+
|
|
27
|
+
Remedy Server TCP Port.
|
|
28
|
+
|
|
29
|
+
Sample:
|
|
30
|
+
|
|
31
|
+
*AR_PORT=1234*
|
|
32
|
+
|
|
33
|
+
### AR_USER
|
|
34
|
+
|
|
35
|
+
Remedy Admin User who is used for all queries.
|
|
36
|
+
|
|
37
|
+
Sample:
|
|
38
|
+
|
|
39
|
+
*AR_USER=Demo*
|
|
40
|
+
|
|
41
|
+
### AR_PASSWORD
|
|
42
|
+
|
|
43
|
+
Remedy Admin User password.
|
|
44
|
+
|
|
45
|
+
Sample:
|
|
46
|
+
|
|
47
|
+
*AR_PASSWORD=password*
|
|
48
|
+
|
|
49
|
+
## SSO Connection
|
|
50
|
+
|
|
51
|
+
For a minimum configuration only the SSO Public Key is required.
|
|
52
|
+
|
|
53
|
+
### SSO_PUBLIC_KEY
|
|
54
|
+
|
|
55
|
+
Public Key used to validate JWT tokens.
|
|
56
|
+
|
|
57
|
+
Sample:
|
|
58
|
+
|
|
59
|
+
*SSO_PUBLIC_KEY=1635rN5xkbubgmuNQCnKKFu7OlAD3QxiDwecg1bJvFhJW9Qj5YhOwGuX54sOSCjmdTcKT1mCHL61FJ5mzxtbrct97zVwXmi4F4KDKj2PsW+qxUg0Jz/06iTVjtv2H1yBq1*
|
|
60
|
+
|
|
61
|
+
### SSO_AUDIENCE
|
|
62
|
+
|
|
63
|
+
Audience (Clients) which are allowed to use JWT tokens. This parameter is optional. If it is not set, no check against the JWT token will be performed.
|
|
64
|
+
|
|
65
|
+
Sample:
|
|
66
|
+
|
|
67
|
+
*SSO_AUDIENCE=gihub, jira*
|
|
68
|
+
|
|
69
|
+
### SSO_ISSUER
|
|
70
|
+
|
|
71
|
+
Issuer (SSO Server) of the JWT tokens.
|
|
72
|
+
|
|
73
|
+
Sample:
|
|
74
|
+
|
|
75
|
+
*SSO_ISSUER=https://sso.mydomain.io/auth/realms/itsmproxy*
|
|
76
|
+
|
|
77
|
+
### SSO_CLIENTNAME_ATTRIBUTE
|
|
78
|
+
|
|
79
|
+
The attribute that contains the client name in the token.
|
|
80
|
+
|
|
81
|
+
Default: *azp*
|
|
82
|
+
|
|
83
|
+
Set this value if you only want to use a single client in the SSO and service accounts as clients in SMILEconnect. This can be used to manage your SMILEconnect clients via a directory service like LDAP/AD. [More Info](https://datatracker.ietf.org/doc/html/rfc6749#section-1.3.3)
|
|
84
|
+
|
|
85
|
+
Sample:
|
|
86
|
+
|
|
87
|
+
*SSO_CLIENTNAME_ATTRIBUTE = "preferred_username"*
|
|
88
|
+
|
|
89
|
+
### ADMIN_USERS
|
|
90
|
+
|
|
91
|
+
List of users who are allowed to access /v1/appconfig endpoints.
|
|
92
|
+
|
|
93
|
+
Sample:
|
|
94
|
+
ADMIN_USERS=username1, username2
|
|
95
|
+
|
|
96
|
+
### MASTER_CLIENTS
|
|
97
|
+
|
|
98
|
+
List of clients that can act on behalf of other clients.
|
|
99
|
+
|
|
100
|
+
The URL Parameter *clientId* is used for this.
|
|
101
|
+
|
|
102
|
+
Sample:
|
|
103
|
+
MASTER_CLIENTS=idm,adminTool
|
|
104
|
+
|
|
105
|
+
## Cache Settings
|
|
106
|
+
|
|
107
|
+
### CACHETTL_CMDB
|
|
108
|
+
Interval in seconds in which before cached CMDB Data is deleted from the cache.
|
|
109
|
+
|
|
110
|
+
Default: *600*
|
|
111
|
+
|
|
112
|
+
Sample:
|
|
113
|
+
|
|
114
|
+
*CACHETTL_CMDB=2800*
|
|
115
|
+
|
|
116
|
+
### CACHETTL_ORGDATA
|
|
117
|
+
Interval in seconds in which before cached Org Data like People, Support Groups, Organisations are deleted from the cache.
|
|
118
|
+
|
|
119
|
+
Default: *3600*
|
|
120
|
+
|
|
121
|
+
Sample:
|
|
122
|
+
|
|
123
|
+
*CACHETTL_ORGDATA=7200*
|
|
124
|
+
|
|
125
|
+
### CACHETTL_TICKETS
|
|
126
|
+
|
|
127
|
+
Interval in seconds in which before cached Ticket Data is deleted from the cache.
|
|
128
|
+
|
|
129
|
+
Default: *1*
|
|
130
|
+
|
|
131
|
+
Sample: 600
|
|
132
|
+
|
|
133
|
+
### CACHETTL_TASK
|
|
134
|
+
|
|
135
|
+
Interval in seconds in which before cached Task Data is deleted from the cache.
|
|
136
|
+
|
|
137
|
+
Default: *1*
|
|
138
|
+
|
|
139
|
+
Sample:
|
|
140
|
+
|
|
141
|
+
*CACHETTL_TASK=600*
|
|
142
|
+
|
|
143
|
+
## Logging
|
|
144
|
+
|
|
145
|
+
### Loglevel
|
|
146
|
+
|
|
147
|
+
Loglevel of the api. Defaults to *error*
|
|
148
|
+
|
|
149
|
+
## Rate Limits
|
|
150
|
+
|
|
151
|
+
### RATE_LIMIT
|
|
152
|
+
|
|
153
|
+
Defines how many API requests from a single IP are allowed within a 15min timeframe.
|
|
154
|
+
|
|
155
|
+
Default *10000*
|
|
156
|
+
|
|
157
|
+
Sample:
|
|
158
|
+
|
|
159
|
+
*RATE_LIMIT=600*
|
|
160
|
+
|
|
161
|
+
### LIMIT_DEFAULT
|
|
162
|
+
|
|
163
|
+
Limits the resultsize of all queries against the Remedy Server. Sets a default that can be overwritten by requests. Can be used to prevent performance issues.
|
|
164
|
+
Affects also relations.
|
|
165
|
+
|
|
166
|
+
Default *unlimited*
|
|
167
|
+
|
|
168
|
+
Sample:
|
|
169
|
+
|
|
170
|
+
*LIMIT_DEFAULT=100*
|
|
171
|
+
|
|
172
|
+
### LIMIT_MAX
|
|
173
|
+
|
|
174
|
+
Limits the resultsize of all queries against the Remedy Server. Defines a global maximum that can not be overwritten by requests. Will only be overwritten by Limits defined for certains clients. Can be used to prevent performance issues.
|
|
175
|
+
Affects also relations.
|
|
176
|
+
|
|
177
|
+
Default *unlimited*
|
|
178
|
+
|
|
179
|
+
Sample:
|
|
180
|
+
|
|
181
|
+
*LIMIT_MAX=100*
|
|
182
|
+
|
|
183
|
+
### MAX_HTTP_SOCKETS
|
|
184
|
+
|
|
185
|
+
Defines how many TCP Sockets are used for outgoing connections. (Parallel connections to the Remedy REST API.)
|
|
186
|
+
|
|
187
|
+
Reduce this parameter if you see ECONNRESET or socket hang up errors.
|
|
188
|
+
|
|
189
|
+
This parameter has direct impact on performance.
|
|
190
|
+
|
|
191
|
+
Default *10*
|
|
192
|
+
|
|
193
|
+
Sample:
|
|
194
|
+
|
|
195
|
+
*MAX_HTTP_SOCKETS=15*
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
# Event Manager
|
|
199
|
+
|
|
200
|
+
## AR Server Connection
|
|
201
|
+
|
|
202
|
+
### BASEURL
|
|
203
|
+
|
|
204
|
+
Base URL of the used arrestfulapi
|
|
205
|
+
|
|
206
|
+
Sample:
|
|
207
|
+
|
|
208
|
+
*BASEURL=http://localhost:8080*
|
|
209
|
+
|
|
210
|
+
### AR_SERVER
|
|
211
|
+
|
|
212
|
+
Remedy Server to connect to.
|
|
213
|
+
|
|
214
|
+
Sample:
|
|
215
|
+
|
|
216
|
+
*AR_SERVER=pier1*
|
|
217
|
+
|
|
218
|
+
### AR_PORT
|
|
219
|
+
|
|
220
|
+
Remedy Server TCP Port.
|
|
221
|
+
|
|
222
|
+
Sample:
|
|
223
|
+
|
|
224
|
+
*AR_PORT=1234*
|
|
225
|
+
|
|
226
|
+
### AR_USER
|
|
227
|
+
|
|
228
|
+
Remedy Admin User who is used for all queries.
|
|
229
|
+
|
|
230
|
+
Sample:
|
|
231
|
+
|
|
232
|
+
*AR_USER=Demo*
|
|
233
|
+
|
|
234
|
+
### AR_PASSWORD
|
|
235
|
+
|
|
236
|
+
Remedy Admin User password.
|
|
237
|
+
|
|
238
|
+
Sample:
|
|
239
|
+
|
|
240
|
+
*AR_PASSWORD=password*
|
|
241
|
+
|
|
242
|
+
## SSO Connection
|
|
243
|
+
|
|
244
|
+
For a minimum configuration only the SSO Public Key is required.
|
|
245
|
+
|
|
246
|
+
### SSO_PUBLIC_KEY
|
|
247
|
+
|
|
248
|
+
Public Key used to validate JWT tokens.
|
|
249
|
+
|
|
250
|
+
Sample:
|
|
251
|
+
|
|
252
|
+
*SSO_PUBLIC_KEY=1635rN5xkbubgmuNQCnKKFu7OlAD3QxiDwecg1bJvFhJW9Qj5YhOwGuX54sOSCjmdTcKT1mCHL61FJ5mzxtbrct97zVwXmi4F4KDKj2PsW+qxUg0Jz/06iTVjtv2H1yBq1*
|
|
253
|
+
|
|
254
|
+
### SSO_AUDIENCE
|
|
255
|
+
|
|
256
|
+
Audience (Clients) which are allowed to use JWT tokens. This parameter is optional. If it is not set, no check against the JWT token will be performed.
|
|
257
|
+
|
|
258
|
+
Sample:
|
|
259
|
+
|
|
260
|
+
*SSO_AUDIENCE=gihub, jira*
|
|
261
|
+
|
|
262
|
+
### SSO_ISSUER
|
|
263
|
+
|
|
264
|
+
Issuer (SSO Server) of the JWT tokens.
|
|
265
|
+
|
|
266
|
+
Sample:
|
|
267
|
+
|
|
268
|
+
*SSO_ISSUER=https://sso.mydomain.io/auth/realms/itsmproxy*
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
## Logging
|
|
272
|
+
|
|
273
|
+
### Loglevel
|
|
274
|
+
|
|
275
|
+
Loglevel of the api. Defaults to *error*
|
|
276
|
+
|
|
277
|
+
# GUI
|
|
278
|
+
|
|
279
|
+
## SMILEconnect
|
|
280
|
+
|
|
281
|
+
### REACT_APP_API_URL
|
|
282
|
+
|
|
283
|
+
The URL where the api is deployed.
|
|
284
|
+
|
|
285
|
+
Sample:
|
|
286
|
+
*REACT_APP_API_URL=https://sc-api.mydomain.io/*
|
|
287
|
+
###
|
|
288
|
+
|
|
289
|
+
Sample:
|
|
290
|
+
*REACT_APP_TOKEN_REFRESHTIME=30*
|
|
291
|
+
|
|
292
|
+
### REACT_APP_EVENTMGR_URL
|
|
293
|
+
|
|
294
|
+
The URL where the eventmanager is deployed.
|
|
295
|
+
|
|
296
|
+
Sample:
|
|
297
|
+
*REACT_APP_EVENTMGR_URL=https://sc-event.mydomain.io/*
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
## SSO
|
|
301
|
+
|
|
302
|
+
### REACT_APP_SSO_URL
|
|
303
|
+
|
|
304
|
+
The URL of the OIDC Provider for user authentication
|
|
305
|
+
|
|
306
|
+
Sample:
|
|
307
|
+
*REACT_APP_SSO_URL=https://sso.mydomain.io/auth/realms/itsmproxy*
|
|
308
|
+
|
|
309
|
+
## GUI
|
|
310
|
+
|
|
311
|
+
### REACT_APP_GUI_URL
|
|
312
|
+
|
|
313
|
+
The Baseurl where the GUI is deployed.
|
|
314
|
+
|
|
315
|
+
Sample:
|
|
316
|
+
*REACT_APP_GUI_URL=https://sc-gui.mydomain.io/*
|
|
317
|
+
|
|
318
|
+
### REACT_APP_WIZZARD_URL
|
|
319
|
+
|
|
320
|
+
Url of the Midtier Appwizzard.
|
|
321
|
+
|
|
322
|
+
Sample:
|
|
323
|
+
*REACT_APP_WIZZARD_URL=https://midtier.mydomain.io/arsys/forms/arserver/MYS:SMILEconnect_NewVendor*
|
|
@@ -1,24 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
subtitle: All events created / processed by the event manager
|
|
5
|
-
use-site-title: true
|
|
6
|
-
---
|
|
1
|
+
# Events
|
|
2
|
+
|
|
3
|
+
The following events are generated by API and can be used to react on.
|
|
7
4
|
|
|
8
5
|
# Change
|
|
9
6
|
|
|
10
7
|
* CHG_Query
|
|
11
8
|
|
|
12
|
-
* CHG_Created
|
|
9
|
+
* CHG_Created
|
|
10
|
+
|
|
11
|
+
* CHG_Modified
|
|
12
|
+
|
|
13
|
+
* CHG_Worklog_Created
|
|
13
14
|
|
|
14
15
|
# Incident
|
|
15
16
|
|
|
16
|
-
*
|
|
17
|
+
* INC_Query
|
|
17
18
|
|
|
18
19
|
* INC_Created
|
|
19
20
|
|
|
20
21
|
* INC_Modified
|
|
21
22
|
|
|
23
|
+
* INC_Worklog_Created
|
|
24
|
+
|
|
22
25
|
# CMDB
|
|
23
26
|
|
|
24
27
|
* CMDB_Query
|
|
@@ -1,78 +1,8 @@
|
|
|
1
|
-
# Client Config
|
|
2
|
-
|
|
3
|
-
On a per client base it can be configured which fields are returned for each object and if a basequery is applied. This expose certain fields only dedicated clients. It also allows to define which rows a client can access. Clients are configured in conf/clients.json
|
|
4
|
-
|
|
5
|
-
{% highlight json linenos %}
|
|
6
|
-
[
|
|
7
|
-
{
|
|
8
|
-
"name": "jira",
|
|
9
|
-
"config": {
|
|
10
|
-
"options" : {
|
|
11
|
-
"dateFormat" : "dd.MM.yyyy HH:mm.ss",
|
|
12
|
-
"clientLimit": 100
|
|
13
|
-
},
|
|
14
|
-
"cmdbobject": {
|
|
15
|
-
"basequery": "'Data Set Id' = \"BMC.ASSET\" AND ('Mark As Deleted' = \"No\" OR 'Mark As Deleted' = $NULL$) AND 'Class Id' = \"BMC_COMPUTERSYSTEM\"",
|
|
16
|
-
"fields": [
|
|
17
|
-
"Instance Id",
|
|
18
|
-
"Tag Number",
|
|
19
|
-
"Name",
|
|
20
|
-
"AssetLifecycleStatus",
|
|
21
|
-
"Category",
|
|
22
|
-
"Item",
|
|
23
|
-
"Type",
|
|
24
|
-
"Availability",
|
|
25
|
-
"Confidentiality",
|
|
26
|
-
"Integrity",
|
|
27
|
-
"Authenticity",
|
|
28
|
-
"Model Number",
|
|
29
|
-
"Class Id",
|
|
30
|
-
"Reconciliation Identity"
|
|
31
|
-
]
|
|
32
|
-
},
|
|
33
|
-
"orgdata": {
|
|
34
|
-
"basequeryPeople": "'Profile Status' = \"Enabled\"",
|
|
35
|
-
"basequeryOrganisation": "'Status'=\"Enabled\"",
|
|
36
|
-
"basequerySupportGroup": "'Status'=\"Enabled\""
|
|
37
|
-
},
|
|
38
|
-
"change": {
|
|
39
|
-
"fields": [
|
|
40
|
-
"Infrastructure Change ID",
|
|
41
|
-
"Categorization Tier 1",
|
|
42
|
-
"Categorization Tier 2",
|
|
43
|
-
"Categorization Tier 3",
|
|
44
|
-
"Product Cat Tier 1",
|
|
45
|
-
"Product Cat Tier 2",
|
|
46
|
-
"Product Cat Tier 3",
|
|
47
|
-
"Product Name (2)",
|
|
48
|
-
"Description",
|
|
49
|
-
"Detailed Description",
|
|
50
|
-
"Status Reason",
|
|
51
|
-
"Change Request Status",
|
|
52
|
-
"Requested Start Date",
|
|
53
|
-
"Requested End Date",
|
|
54
|
-
"Scheduled Start Date",
|
|
55
|
-
"Scheduled End Date",
|
|
56
|
-
"Support Group ID",
|
|
57
|
-
"Support Group ID 2",
|
|
58
|
-
"Customer Person ID"
|
|
59
|
-
],
|
|
60
|
-
"constants" : [
|
|
61
|
-
{"name": "Location Company", "value" : "Calbro Services"},
|
|
62
|
-
{"name": "Company", "value" : "Calbro Services"},
|
|
63
|
-
{"name": "RequesterLoginID", "value" : "Allen"}
|
|
64
|
-
]
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
]
|
|
69
|
-
{% endhighlight %}
|
|
70
|
-
|
|
71
1
|
# Field Mappings
|
|
72
2
|
|
|
73
3
|
Field mappings are configured in conf/mapping.json and are used globally for all clients.
|
|
74
4
|
|
|
75
|
-
|
|
5
|
+
```json
|
|
76
6
|
{
|
|
77
7
|
"cmdbobject":[
|
|
78
8
|
{"oldName":"Instance Id", "newName" : "id"},
|
|
@@ -116,4 +46,4 @@ Field mappings are configured in conf/mapping.json and are used globally for all
|
|
|
116
46
|
{"oldName":"TemplateID", "newName" : "template"}
|
|
117
47
|
]
|
|
118
48
|
}
|
|
119
|
-
|
|
49
|
+
```
|