Skip to content

Commit

Permalink
Merge pull request #4 from polarityio/develop
Browse files Browse the repository at this point in the history
Update dependencies and add github build process
  • Loading branch information
sarus authored Feb 8, 2024
2 parents 61361ae + 06d18e6 commit f54f1dd
Show file tree
Hide file tree
Showing 10 changed files with 692 additions and 185 deletions.
11 changes: 11 additions & 0 deletions .github/workflows/release-current-version.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: Release Current Version

on:
push:
branches: [ master, main ]

jobs:
Run:
uses: polarityio/polarity-github-actions/.github/workflows/release-server-versions-for-int-store.yml@master
# with:
# use-integration-development-checklist: false
23 changes: 23 additions & 0 deletions .github/workflows/run-int-dev-checklist.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Run Integration Development Checklist

on:
pull_request:
branches: [ master, main, develop ]

jobs:
run-integration-development-checklist:
runs-on: ubuntu-latest
container: 'centos:7'

steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
- name: Test NPM Install
id: test-npm-install
run: |
npm ci
- name: Polarity Integration Development Checklist
id: int-dev-checklist
uses: polarityio/polarity-integration-development-checklist@main
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1 change: 1 addition & 0 deletions components/generic_rest.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
'use strict';

polarity.export = PolarityComponent.extend({
details: Ember.computed.alias('block.data.details'),
message: '',
actions: {
// this action is triggered by the button in our template which calls the `incrementCounter` action
Expand Down
255 changes: 136 additions & 119 deletions config/config.js
Original file line number Diff line number Diff line change
@@ -1,121 +1,138 @@
module.exports = {
/**
* Name of the integration which is displayed in the Polarity integrations user interface
*
* @type String
* @required
*/
name: "Generic REST Sample",
/**
* The acronym that appears in the notification window when information from this integration
* is displayed. Note that the acronym is included as part of each "tag" in the summary information
* for the integration. As a result, it is best to keep it to 4 or less characters. The casing used
* here will be carried forward into the notification window.
*
* @type String
* @required
*/
acronym: "REST",
entityTypes: ['IPv4'],
/**
* Description for this integration which is displayed in the Polarity integrations user interface
*
* @type String
* @optional
*/
description: "This is a sample generic REST integration used for training",
/**
* An array of style files (css or less) that will be included for your integration. Any styles specified in
* the below files can be used in your custom template.
*
* @type Array
* @optional
*/
styles: [
"./styles/generic_rest.less"
],
/**
* Provide custom component logic and template for rendering the integration details block. If you do not
* provide a custom template and/or component then the integration will display data as a table of key value
* pairs.
*
* @type Object
* @optional
*/
block: {
component: {
file: "./components/generic_rest.js"
},
template: {
file: "./templates/generic_rest.hbs"
}
/**
* The UUID is only required for integrations that will be released via the Polarity Integration store.
* It is not required and should not be included for custom integrations.
*/
polarityIntegrationUuid: 'a79f3010-c6b2-11ee-bf45-dff4364b7a03',
/**
* Name of the integration which is displayed in the Polarity integrations user interface
*
* @type String
* @required
*/
name: 'Generic REST Sample',
/**
* The acronym that appears in the notification window when information from this integration
* is displayed. Note that the acronym is included as part of each "tag" in the summary information
* for the integration. As a result, it is best to keep it to 4 or less characters. The casing used
* here will be carried forward into the notification window.
*
* @type String
* @required
*/
acronym: 'REST',
entityTypes: ['IPv4'],
defaultColor: 'light-blue',
/**
* Description for this integration which is displayed in the Polarity integrations user interface
*
* @type String
* @optional
*/
description: 'This is a sample generic REST integration used for training',
logging: { level: 'info' },
request: {
// Provide the path to your certFile. Leave an empty string to ignore this option.
cert: '',
// Provide the path to your private key. Leave an empty string to ignore this option.
key: '',
// Provide the key passphrase if required. Leave an empty string to ignore this option.
passphrase: '',
// Provide the Certificate Authority. Leave an empty string to ignore this option.
ca: '',
// Proxy string. Can now be set directly from the Integration settings user interface.
proxy: ''
},
/**
* An array of style files (css or less) that will be included for your integration. Any styles specified in
* the below files can be used in your custom template.
*
* @type Array
* @optional
*/
styles: ['./styles/generic_rest.less'],
/**
* Provide custom component logic and template for rendering the integration details block. If you do not
* provide a custom template and/or component then the integration will display data as a table of key value
* pairs.
*
* @type Object
* @optional
*/
block: {
component: {
file: './components/generic_rest.js'
},
/**
* Options that are displayed to the user/admin in the Polarity integration user-interface. Should be structured
* as an array of option objects.
*
* @type Array
* @optional
*/
options: [
{
/**
* A Unique name for the option. Should be camelcased (lowercase first letter, uppercase letters for
* subsequent words).
*
* @property key
* @type String *
*/
key: "apiKey",
/**
* Human Readable name for the option which will be displayed in the Polarity user interface
*
* @property name
* @type String
*/
name: "API Key",
/**
* A short description for what the option does. This description is displayed in the user interface
*
* @property description
* @type String
*/
description: "This is the authentication key for your REST call",
/**
* The default value for the option. Note this value can be either a String or Boolean depending on
* the @type specified by the `type` property.
*
* @property default
* @type String|Boolean
*/
default: "",
/**
* The type for this option. Can be either "text", "boolean", or "password"
*
* @property type
* @type String
*/
type: "text",
/**
* If `true`, non-admin users can edit the value of this option and the option will be stored on a
* per-user basis. If `false`, the option will be server wide. Note that for this setting to have
* an effect, the property `admin-only` must be set to false. Note that this provides the default value
* which can then be overridden by an admin through the integrations web interface.
*
* @property user-can-edit
* @type Boolean
*/
userCanEdit: true,
/**
* If set to true, the setting can only be viewed by admins. For all other users the setting will not appear.
* Note that if `admin-only` is set to true the value of `user-can-edit` is not applicable. Note that this
* provides the default value which can then be overridden by an admin through the integrations
* web interface.
*
* @property admin-only
* @type Boolean
*/
adminOnly: false
}
]
};
template: {
file: './templates/generic_rest.hbs'
}
},
/**
* Options that are displayed to the user/admin in the Polarity integration user-interface. Should be structured
* as an array of option objects.
*
* @type Array
* @optional
*/
options: [
{
/**
* A Unique name for the option. Should be camelcased (lowercase first letter, uppercase letters for
* subsequent words).
*
* @property key
* @type String *
*/
key: 'apiKey',
/**
* Human Readable name for the option which will be displayed in the Polarity user interface
*
* @property name
* @type String
*/
name: 'API Key',
/**
* A short description for what the option does. This description is displayed in the user interface
*
* @property description
* @type String
*/
description: 'This is the authentication key for your REST call',
/**
* The default value for the option. Note this value can be either a String or Boolean depending on
* the @type specified by the `type` property.
*
* @property default
* @type String|Boolean
*/
default: '',
/**
* The type for this option. Can be either "text", "boolean", or "password"
*
* @property type
* @type String
*/
type: 'text',
/**
* If `true`, non-admin users can edit the value of this option and the option will be stored on a
* per-user basis. If `false`, the option will be server wide. Note that for this setting to have
* an effect, the property `admin-only` must be set to false. Note that this provides the default value
* which can then be overridden by an admin through the integrations web interface.
*
* @property user-can-edit
* @type Boolean
*/
userCanEdit: true,
/**
* If set to true, the setting can only be viewed by admins. For all other users the setting will not appear.
* Note that if `admin-only` is set to true the value of `user-can-edit` is not applicable. Note that this
* provides the default value which can then be overridden by an admin through the integrations
* web interface.
*
* @property admin-only
* @type Boolean
*/
adminOnly: false
}
]
};
42 changes: 42 additions & 0 deletions config/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"polarityIntegrationUuid": "a79f3010-c6b2-11ee-bf45-dff4364b7a03",
"name": "Generic REST Sample",
"acronym": "REST",
"entityTypes": [
"IPv4"
],
"defaultColor": "light-blue",
"description": "This is a sample generic REST integration used for training",
"logging": {
"level": "info"
},
"request": {
"cert": "",
"key": "",
"passphrase": "",
"ca": "",
"proxy": ""
},
"styles": [
"./styles/generic_rest.less"
],
"block": {
"component": {
"file": "./components/generic_rest.js"
},
"template": {
"file": "./templates/generic_rest.hbs"
}
},
"options": [
{
"key": "apiKey",
"name": "API Key",
"description": "This is the authentication key for your REST call",
"default": "",
"type": "text",
"userCanEdit": true,
"adminOnly": false
}
]
}
Loading

0 comments on commit f54f1dd

Please sign in to comment.