mattermost-api4-ruby 0.0.1
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.
- checksums.yaml +7 -0
- data/.gitignore +10 -0
- data/.rspec +2 -0
- data/.travis.yml +5 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +39 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/lib/mattermost.rb +8 -0
- data/lib/mattermost/client.rb +44 -0
- data/lib/mattermost/endpoint.rb +51 -0
- data/lib/mattermost/endpoint/brand.rb +27 -0
- data/lib/mattermost/endpoint/channels.rb +118 -0
- data/lib/mattermost/endpoint/cluster.rb +12 -0
- data/lib/mattermost/endpoint/commands.rb +39 -0
- data/lib/mattermost/endpoint/compliance.rb +33 -0
- data/lib/mattermost/endpoint/data_retention.rb +12 -0
- data/lib/mattermost/endpoint/elasticsearch.rb +16 -0
- data/lib/mattermost/endpoint/emoji.rb +38 -0
- data/lib/mattermost/endpoint/files.rb +60 -0
- data/lib/mattermost/endpoint/jobs.rb +28 -0
- data/lib/mattermost/endpoint/ldap.rb +17 -0
- data/lib/mattermost/endpoint/oauth.rb +40 -0
- data/lib/mattermost/endpoint/open_graph.rb +9 -0
- data/lib/mattermost/endpoint/plugins.rb +33 -0
- data/lib/mattermost/endpoint/posts.rb +62 -0
- data/lib/mattermost/endpoint/preferences.rb +28 -0
- data/lib/mattermost/endpoint/reactions.rb +9 -0
- data/lib/mattermost/endpoint/saml.rb +43 -0
- data/lib/mattermost/endpoint/status.rb +20 -0
- data/lib/mattermost/endpoint/system.rb +80 -0
- data/lib/mattermost/endpoint/teams.rb +113 -0
- data/lib/mattermost/endpoint/users.rb +9 -0
- data/lib/mattermost/endpoint/webhooks.rb +60 -0
- data/lib/mattermost/request.rb +7 -0
- data/mattermost-api4-ruby.gemspec +26 -0
- metadata +137 -0
@@ -0,0 +1,113 @@
|
|
1
|
+
require 'json'
|
2
|
+
|
3
|
+
module Mattermost
|
4
|
+
module Endpoint
|
5
|
+
module Teams
|
6
|
+
def create_team(name, display_name, type)
|
7
|
+
post("/teams", :body => {
|
8
|
+
:name => name,
|
9
|
+
:display_name => display_name,
|
10
|
+
:type => type
|
11
|
+
}.to_json)
|
12
|
+
end
|
13
|
+
|
14
|
+
def get_teams(max = 60)
|
15
|
+
get("/teams?per_page=#{max}")
|
16
|
+
end
|
17
|
+
|
18
|
+
def get_team(team_id)
|
19
|
+
get("/teams/#{team_id}")
|
20
|
+
end
|
21
|
+
|
22
|
+
def update_team(team_id, team = {})
|
23
|
+
put("/teams/#{team_id}", :body => team.to_json)
|
24
|
+
end
|
25
|
+
|
26
|
+
def delete_team(team_id)
|
27
|
+
delete("/teams/#{team_id}")
|
28
|
+
end
|
29
|
+
|
30
|
+
def patch_team(team_id, patch = {})
|
31
|
+
put("/teams/#{team_id}/patch", :body => patch.to_json)
|
32
|
+
end
|
33
|
+
|
34
|
+
def get_team_by_name(team_name)
|
35
|
+
get("/teams/name/#{team_name}")
|
36
|
+
end
|
37
|
+
|
38
|
+
def search_teams(term)
|
39
|
+
post("/teams/search", :body => {:term => term}.to_json)
|
40
|
+
end
|
41
|
+
|
42
|
+
def team_exists?(team_name)
|
43
|
+
get("/teams/name/#{team_name}/exists")
|
44
|
+
end
|
45
|
+
|
46
|
+
def get_teams_for_user(user_id)
|
47
|
+
get("/users/#{user_id}/teams")
|
48
|
+
end
|
49
|
+
|
50
|
+
def get_team_members(team_id)
|
51
|
+
get("/teams/#{team_id}/members")
|
52
|
+
end
|
53
|
+
|
54
|
+
def add_user_to_team(team_id, user_id, roles)
|
55
|
+
post("/teams/#{team_id}/members", :body => {
|
56
|
+
:team_id => team_id,
|
57
|
+
:user_id => user_id,
|
58
|
+
:roles => roles
|
59
|
+
}.to_json)
|
60
|
+
end
|
61
|
+
|
62
|
+
def add_user_to_team_from_invite(hash, data, invite_id)
|
63
|
+
post("/teams/members/invoite?hash=#{hash}&data=#{data}&invite_id=#{invite_id}")
|
64
|
+
end
|
65
|
+
|
66
|
+
def add_users_to_team(team_id, users)
|
67
|
+
post("/teams/#{team_id}/members/batch", :body => users.to_json)
|
68
|
+
end
|
69
|
+
|
70
|
+
def get_team_members_for_user(user_id)
|
71
|
+
get("/users/#{user_id}/teams/members")
|
72
|
+
end
|
73
|
+
|
74
|
+
def get_team_member(team_id, user_id)
|
75
|
+
get("/teams/#{team_id}/members/#{user_id}")
|
76
|
+
end
|
77
|
+
|
78
|
+
def remove_user_from_team(team_id, user_id)
|
79
|
+
delete("/teams/#{team_id}/members/#{user_id}")
|
80
|
+
end
|
81
|
+
|
82
|
+
def get_team_members_by_ids(team_id, user_ids = [])
|
83
|
+
get("/teams/#{team_id}/members/ids", :body => JSON.generate(user_ids))
|
84
|
+
end
|
85
|
+
|
86
|
+
def get_team_stats(team_id)
|
87
|
+
get("/teams/#{team_id}/stats")
|
88
|
+
end
|
89
|
+
|
90
|
+
def update_team_member_role(team_id, user_id, roles)
|
91
|
+
put("/teams/#{team_id}/members/#{user_id}/roles", :body => { :roles => roles}.to_json)
|
92
|
+
end
|
93
|
+
|
94
|
+
def get_team_unreads(user_id)
|
95
|
+
get("/users/#{user_id}/teams/unread")
|
96
|
+
end
|
97
|
+
|
98
|
+
def get_unreads_for_team(user_id, team_id)
|
99
|
+
get("/users/#{user_id}/teams/#{team_id}/unread")
|
100
|
+
end
|
101
|
+
|
102
|
+
def invite_users_by_email(team_id, emails = [])
|
103
|
+
post("/teams/#{team_id}/invite/email", :body => JSON.generate(emails))
|
104
|
+
end
|
105
|
+
|
106
|
+
# TODO: POST /teams/#{team_id}/import
|
107
|
+
|
108
|
+
def get_invite_info(invite_id)
|
109
|
+
get("/teams/invite/#{invite_id}")
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'json'
|
2
|
+
|
3
|
+
module Mattermost
|
4
|
+
module Endpoint
|
5
|
+
module Webhooks
|
6
|
+
|
7
|
+
def create_incoming_webhook(incoming_webhook)
|
8
|
+
post("/hooks/incoming", :body => incoming_webhook.to_json)
|
9
|
+
end
|
10
|
+
|
11
|
+
def list_incoming_webhooks(team_id, max = 60)
|
12
|
+
get("/hooks/incoming?per_page=#{max}&team_id=#{team_id}")
|
13
|
+
end
|
14
|
+
|
15
|
+
def list_incoming_webhooks_for_system(max = 60)
|
16
|
+
get("/hooks/incoming?per_page=#{max}")
|
17
|
+
end
|
18
|
+
|
19
|
+
def get_incoming_webhook(hook_id)
|
20
|
+
get("/hooks/incoming/#{hook_id}")
|
21
|
+
end
|
22
|
+
|
23
|
+
def update_incoming_webhook(hook_id, incoming_webhook)
|
24
|
+
put("/hooks/incoming/#{hook_id}", :body => incoming_webhook.to_json)
|
25
|
+
end
|
26
|
+
|
27
|
+
def create_outgoing_webhook(outgoing_webhook)
|
28
|
+
post("/hooks/outgoing", :body => outgoing_webhook.to_json)
|
29
|
+
end
|
30
|
+
|
31
|
+
def list_outgoing_webhooks(team_id, max = 60)
|
32
|
+
get("/hooks/outgoing?per_page=#{max}&team_id=#{team_id}")
|
33
|
+
end
|
34
|
+
|
35
|
+
def list_outgoing_webhooks(team_id, channel_id, max = 60)
|
36
|
+
get("/hooks/outgoing?per_page=#{max}&team_id=#{team_id}&channel_id=#{channel_id}")
|
37
|
+
end
|
38
|
+
|
39
|
+
def list_outgoing_webhooks_for_system(max = 60)
|
40
|
+
get("/hooks/outgoing?per_page=#{max}")
|
41
|
+
end
|
42
|
+
|
43
|
+
def get_outgoing_webhook(hook_id)
|
44
|
+
get("/hooks/outgoing/#{hook_id}")
|
45
|
+
end
|
46
|
+
|
47
|
+
def delete_outgoing_webhook(hook_id)
|
48
|
+
delete("/hooks/outgoing/#{hook_id}")
|
49
|
+
end
|
50
|
+
|
51
|
+
def update_outgoing_webhook(hook_id, outgoing_webhook)
|
52
|
+
put("/hooks/outgoing/#{hook_id}", outgoing_webhook.to_json)
|
53
|
+
end
|
54
|
+
|
55
|
+
def regenerate_outgoing_webhook_token(hook_id)
|
56
|
+
post("/hooks/outgoing/#{hook_id}/regen_token")
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
Gem::Specification.new do |spec|
|
4
|
+
spec.name = "mattermost-api4-ruby"
|
5
|
+
spec.version = "0.0.1"
|
6
|
+
spec.authors = ["Takayuki Maruyama"]
|
7
|
+
spec.email = ["bis5.wsys@gmail.com"]
|
8
|
+
|
9
|
+
spec.summary = %q{Mattermost API v4 client for ruby}
|
10
|
+
spec.homepage = "https://github.com/maruTA-bis5/mattermost-api4-ruby"
|
11
|
+
spec.license = "MIT"
|
12
|
+
|
13
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
14
|
+
f.match(%r{^(test|spec|features)/})
|
15
|
+
end
|
16
|
+
spec.bindir = "exe"
|
17
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
18
|
+
spec.require_paths = ["lib"]
|
19
|
+
|
20
|
+
spec.add_development_dependency "bundler", "~> 1.13"
|
21
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
22
|
+
spec.add_development_dependency "rspec", "~> 3.0"
|
23
|
+
|
24
|
+
spec.add_dependency "httparty", "~> 0.15"
|
25
|
+
|
26
|
+
end
|
metadata
ADDED
@@ -0,0 +1,137 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: mattermost-api4-ruby
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Takayuki Maruyama
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2018-01-08 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.13'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.13'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: httparty
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.15'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0.15'
|
69
|
+
description:
|
70
|
+
email:
|
71
|
+
- bis5.wsys@gmail.com
|
72
|
+
executables: []
|
73
|
+
extensions: []
|
74
|
+
extra_rdoc_files: []
|
75
|
+
files:
|
76
|
+
- ".gitignore"
|
77
|
+
- ".rspec"
|
78
|
+
- ".travis.yml"
|
79
|
+
- Gemfile
|
80
|
+
- LICENSE.txt
|
81
|
+
- README.md
|
82
|
+
- Rakefile
|
83
|
+
- bin/console
|
84
|
+
- bin/setup
|
85
|
+
- lib/mattermost.rb
|
86
|
+
- lib/mattermost/client.rb
|
87
|
+
- lib/mattermost/endpoint.rb
|
88
|
+
- lib/mattermost/endpoint/brand.rb
|
89
|
+
- lib/mattermost/endpoint/channels.rb
|
90
|
+
- lib/mattermost/endpoint/cluster.rb
|
91
|
+
- lib/mattermost/endpoint/commands.rb
|
92
|
+
- lib/mattermost/endpoint/compliance.rb
|
93
|
+
- lib/mattermost/endpoint/data_retention.rb
|
94
|
+
- lib/mattermost/endpoint/elasticsearch.rb
|
95
|
+
- lib/mattermost/endpoint/emoji.rb
|
96
|
+
- lib/mattermost/endpoint/files.rb
|
97
|
+
- lib/mattermost/endpoint/jobs.rb
|
98
|
+
- lib/mattermost/endpoint/ldap.rb
|
99
|
+
- lib/mattermost/endpoint/oauth.rb
|
100
|
+
- lib/mattermost/endpoint/open_graph.rb
|
101
|
+
- lib/mattermost/endpoint/plugins.rb
|
102
|
+
- lib/mattermost/endpoint/posts.rb
|
103
|
+
- lib/mattermost/endpoint/preferences.rb
|
104
|
+
- lib/mattermost/endpoint/reactions.rb
|
105
|
+
- lib/mattermost/endpoint/saml.rb
|
106
|
+
- lib/mattermost/endpoint/status.rb
|
107
|
+
- lib/mattermost/endpoint/system.rb
|
108
|
+
- lib/mattermost/endpoint/teams.rb
|
109
|
+
- lib/mattermost/endpoint/users.rb
|
110
|
+
- lib/mattermost/endpoint/webhooks.rb
|
111
|
+
- lib/mattermost/request.rb
|
112
|
+
- mattermost-api4-ruby.gemspec
|
113
|
+
homepage: https://github.com/maruTA-bis5/mattermost-api4-ruby
|
114
|
+
licenses:
|
115
|
+
- MIT
|
116
|
+
metadata: {}
|
117
|
+
post_install_message:
|
118
|
+
rdoc_options: []
|
119
|
+
require_paths:
|
120
|
+
- lib
|
121
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - ">="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - ">="
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '0'
|
131
|
+
requirements: []
|
132
|
+
rubyforge_project:
|
133
|
+
rubygems_version: 2.5.1
|
134
|
+
signing_key:
|
135
|
+
specification_version: 4
|
136
|
+
summary: Mattermost API v4 client for ruby
|
137
|
+
test_files: []
|