Interface¶
Amazon CloudWatch¶
-
class
interface.cloudwatch_metrics.CWMetrics(config)¶ - Parameters
config (
config.Config) –
-
__init__(config)¶ Initialize self. See help(type(self)) for accurate signature.
- Parameters
config (
config.Config) –
Github¶
Utility classes for interacting with Github API via PyGithub.
-
class
interface.github.DefaultGithubFactory(app_id, private_key)¶ Default factory for creating interface to Github API.
- Parameters
app_id (
str) –private_key (
str) –
-
__init__(app_id, private_key)¶ Init factory.
- Parameters
app_id (
str) – Github Apps IDprivate_key (
str) – Private key provided by Github Apps registration
-
create()¶ Create instance of pygithub interface with Github Apps API token.
- Return type
github.MainClass.Github
-
class
interface.github.GithubInterface(github_factory, org)¶ Utility class for interacting with Github API.
- Parameters
github_factory (
interface.github.DefaultGithubFactory) –org (
str) –
-
__init__(github_factory, org)¶ Initialize bot by creating Github object and get organization.
- Parameters
github_factory (
interface.github.DefaultGithubFactory) –org (
str) –
-
add_team_member(username, team_id)¶ Add user with given username to team with id team_id.
- Parameters
username (
str) –team_id (
str) –
-
get_team_member(username, team_id)¶ Return a team member with a username of username.
- Parameters
username (
str) –team_id (
str) –
- Return type
github.NamedUser.NamedUser
-
has_team_member(username, team_id)¶ Check if team with team_id contains user with username.
- Parameters
username (
str) –team_id (
str) –
- Return type
bool
-
list_team_members(team_id)¶ Return a list of users in the team of id team_id.
- Parameters
team_id (
str) –- Return type
typing.List[github.NamedUser.NamedUser]
-
org_add_admin(username)¶ Add member with given username as admin to organization.
- Parameters
username (
str) –
-
org_add_member(username)¶ Add/update to member with given username to organization.
If the user is already in the organization, don’t do anything.
- Parameters
username (
str) –- Return type
str
-
org_create_team(name)¶ Create team with given name and add to organization.
- Parameters
name (
str) – name of team- Return type
int- Returns
Github team ID
-
org_delete_team(id)¶ Get team with given ID and delete it from organization.
- Parameters
id (
int) –
-
org_edit_team(key, name, description=None)¶ Get team with given ID and edit name and description.
- Parameters
key (
int) – team’s Github IDname (
str) – new team namedescription (
typing.Optional[str]) – new team description
-
org_get_team(id)¶ Given Github team ID, return team from organization.
- Parameters
id (
int) –- Return type
github.Team.Team
-
org_get_teams()¶ Return array of teams associated with organization.
- Return type
typing.List[app.model.team.Team]
-
org_has_member(username)¶ Return true if user with username is member of organization.
- Parameters
username (
str) –- Return type
bool
-
org_remove_member(username)¶ Remove member with given username from organization.
- Parameters
username (
str) –
-
remove_team_member(username, team_id)¶ Remove user with given username from team with id team_id.
- Parameters
username (
str) –team_id (
str) –
-
interface.github.handle_github_error(func)¶ Github error handler that updates Github App API token if necessary.
Interface to Github App API.
-
class
interface.github_app.DefaultGithubAppAuthFactory(app_id, private_key)¶ Factory for creating GithubAppAuth objects.
-
__init__(app_id, private_key)¶ Initialize a Github App API auth factory.
- Parameters
app_id – Github Apps ID
private_key – Private key from application
-
create()¶ Create an instance of GithubAppAuth.
-
-
class
interface.github_app.GithubAppInterface(app_auth_factory)¶ Interface class for interacting with Github App API.
-
class
GithubAppAuth(app_id, private_key)¶ Class to encapsulate JWT encoding for Github App API.
-
__init__(app_id, private_key)¶ Initialize Github App authentication.
-
is_expired()¶ Check if Github App token is expired.
-
-
__init__(app_auth_factory)¶ Initialize GithubAppInterface.
- Parameters
app_auth_factory – Factory for creating auth objects
-
create_api_token()¶ Create installation token to make Github API requests.
See https://developer.github.com/v3/apps/#find-installations and https://developer.github.com/v3/apps/#create-a-new-installation-token for details.
- Returns
Authenticated API token
-
get_app_details()¶ Retrieve app details from Github Apps API.
See https://developer.github.com/v3/apps/#get-the-authenticated-github-app for details.
- Returns
Decoded JSON object containing app details
-
class
Exceptions from interacting with Github API.
Google¶
Slack¶
Utility classes for interacting with Slack API.
-
class
interface.slack.Bot(sc, slack_channel='')¶ Utility class for calling Slack APIs.
- Parameters
sc (
slack.web.client.WebClient) –slack_channel (
str) –
-
__init__(sc, slack_channel='')¶ Initialize Bot by creating a WebClient Object.
- Parameters
sc (
slack.web.client.WebClient) –slack_channel (
str) –
-
create_channel(channel_name)¶ Create a channel with the given name.
:return name of newly created channel
-
get_channel_names()¶ Retrieve list of channel names.
- Return type
typing.List[str]
-
get_channel_users(channel_id)¶ Retrieve list of user IDs from channel with channel_id.
- Parameters
channel_id (
str) –- Return type
typing.Dict[str,typing.Any]
-
get_channels()¶ Retrieve list of channel objects.
- Return type
typing.List[typing.Any]
-
send_dm(message, slack_user_id)¶ Send direct message to user with id of slack_user_id.
- Parameters
message (
str) –slack_user_id (
str) –
-
send_event_notif(message)¶ Send a message to the slack bot channel, usually for webhook notifs.
:param message to send to configured bot channel
-
send_to_channel(message, channel_name, attachments=[])¶ Send message to channel with name channel_name.
- Parameters
message (
str) –channel_name (
str) –attachments (
typing.List[typing.Any]) –