Skip to content

Commit 587866f

Browse files
authored
[OpsGenie] Invite User Command (#24586)
* demisto api integration name change * Update .devcontainer.json name * added a new command * reverting some files * removed a blank line * modified readme * opsgenie readme fix * description fix * release note fix * documentation fixes --------- Co-authored-by: ennozdd <[email protected]>
1 parent dad6e09 commit 587866f

File tree

8 files changed

+191
-101
lines changed

8 files changed

+191
-101
lines changed

Packs/OpsGenie/Integrations/OpsGenieV3/OpsGenieV3.py

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
11
from requests import Response
2-
2+
import urllib3
33
import demistomock as demisto
44
from typing import Callable, Tuple
55
from CommonServerPython import * # noqa # pylint: disable=unused-wildcard-import
66
from CommonServerUserPython import * # noqa
77

88
# Disable insecure warnings
99
DEFAULT_POLL_INTERVAL = 5
10-
requests.packages.urllib3.disable_warnings() # pylint: disable=no-member
10+
urllib3.disable_warnings()
1111

1212
''' CONSTANTS '''
1313
DEFAULT_POLL_TIMEOUT = 60
1414
INTEGRATION_NAME = 'Opsgenie'
1515
ALERTS_SUFFIX = "alerts"
1616
REQUESTS_SUFFIX = "requests"
1717
SCHEDULE_SUFFIX = "schedules"
18+
USERS_SUFFIX = "users"
1819
INCIDENTS_SUFFIX = "incidents"
1920
ESCALATION_SUFFIX = "escalations"
2021
TEAMS_SUFFIX = "teams"
@@ -303,6 +304,12 @@ def remove_tag_incident(self, args: dict):
303304
params={"tags": args.get('tags')},
304305
json_data=args)
305306

307+
def invite_user(self, args):
308+
return self._http_request(method='POST',
309+
url_suffix=f"/v2/{USERS_SUFFIX}",
310+
json_data=args
311+
)
312+
306313
def get_team(self, args: dict):
307314
return self._http_request(method='GET',
308315
url_suffix=f"/v2/{TEAMS_SUFFIX}/{args.get('team_id')}"
@@ -839,6 +846,17 @@ def get_request_command(client: Client, args: Dict[str, Any]) -> CommandResults:
839846
)
840847

841848

849+
def invite_user(client, args) -> CommandResults:
850+
args['role'] = {'name': args.get('role')}
851+
result = client.invite_user(args)
852+
return CommandResults(
853+
outputs_prefix="OpsGenie.Users",
854+
outputs=result.get("data"),
855+
readable_output=tableToMarkdown("OpsGenie Users", result.get("data")),
856+
raw_response=result
857+
)
858+
859+
842860
def get_teams(client: Client, args: Dict[str, Any]) -> CommandResults:
843861
result = client.get_team(args) if args.get("team_id") else client.list_teams()
844862
return CommandResults(
@@ -989,6 +1007,7 @@ def main() -> None:
9891007

9901008
commands = {
9911009
'opsgenie-create-alert': create_alert,
1010+
'opsgenie-invite-user': invite_user,
9921011
'opsgenie-get-alerts': get_alerts,
9931012
'opsgenie-delete-alert': delete_alert,
9941013
'opsgenie-ack-alert': ack_alert,

0 commit comments

Comments
 (0)