Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
71eecb7
feat(datasource intercom): tickets and conversations (lot 1) (#383)
christophebrun-forest Sep 1, 2026
5a00d71
feat(datasource intercom): search filters and per-endpoint operator t…
christophebrun-forest Sep 3, 2026
3398782
feat(datasource intercom): relations of the reference tier (lot 2.5) …
christophebrun-forest Sep 7, 2026
313b031
feat(datasource intercom): contacts, companies and the promotion of t…
christophebrun-forest Sep 8, 2026
955300b
fix(datasource): refuse rather than half-answer on Intercom
christophebrun-forest Sep 9, 2026
69ee4f8
fix(datasource): run the Intercom checks it documents
christophebrun-forest Sep 10, 2026
acfd7a2
fix(datasource): open the Intercom companies list again
christophebrun-forest Sep 14, 2026
4de2745
perf(datasource intercom): cut a page of tickets from seven requests …
christophebrun-forest Sep 15, 2026
b912ce9
chore: merge main into the Intercom branch
christophebrun-forest Sep 15, 2026
f108132
chore: merge main into the Intercom branch
christophebrun-forest Oct 28, 2026
8a185e4
chore(datasource): license the Intercom gem under Apache-2.0
christophebrun-forest Oct 28, 2026
50ad1c9
fix(datasource): keep the token and the payload out of Intercom error…
christophebrun-forest Oct 28, 2026
e641589
fix(datasource): group Intercom reference collections through their r…
christophebrun-forest Oct 28, 2026
c7651af
fix(datasource): publish unfilterable the Intercom relations no endpo…
christophebrun-forest Oct 28, 2026
d7e50cf
fix(datasource): refuse a free-text search on Intercom tickets and co…
christophebrun-forest Oct 28, 2026
d13ff82
fix(datasource): search Intercom ticket categories by the word the se…
christophebrun-forest Oct 29, 2026
2d79a93
fix(datasource): read a zero page limit as an empty Intercom page
christophebrun-forest Oct 29, 2026
493088d
docs(datasource): say where the Intercom refusals now come from
christophebrun-forest Oct 29, 2026
fcba77f
docs(datasource): describe what the Intercom release serves today
christophebrun-forest Oct 29, 2026
efd93d1
fix(datasource): stop the Intercom probe on an answer that measures n…
christophebrun-forest Oct 29, 2026
981290f
fix(datasource): mask the query string of an Intercom base_url when p…
christophebrun-forest Oct 29, 2026
20ce050
fix(datasource): send the last request an Intercom rate-limit window …
christophebrun-forest Oct 29, 2026
f570571
fix(datasource): count an Intercom company lookup by its total, not i…
christophebrun-forest Oct 29, 2026
87a340a
fix(datasource): keep a windowed Intercom company read within its rec…
christophebrun-forest Oct 29, 2026
f6421be
fix(datasource): leave out a ticket attribute value declared with ano…
christophebrun-forest Oct 29, 2026
c80c53b
fix(datasource): drop and report a sort on an Intercom relation or Js…
christophebrun-forest Oct 29, 2026
085e75d
fix(datasource): keep Intercom contacts read by id in the order the i…
christophebrun-forest Oct 29, 2026
9a949dc
fix(datasource): refuse an Intercom base_url carrying credentials
christophebrun-forest Oct 29, 2026
1508932
fix(datasource): drop the parser error from an Intercom base_url refusal
christophebrun-forest Oct 29, 2026
f439123
fix(datasource): declare the toolkit the Intercom gem requires
christophebrun-forest Oct 29, 2026
6693342
fix(datasource): publish the equality an Intercom contact's company_i…
christophebrun-forest Oct 29, 2026
f9025a5
fix(datasource): count the Intercom team memberships a related list s…
christophebrun-forest Oct 29, 2026
208d2da
fix(datasource): skip a malformed Intercom ticket type instead of fai…
christophebrun-forest Oct 29, 2026
1292aa4
fix(datasource): name the Intercom company condition that cannot be l…
christophebrun-forest Oct 29, 2026
2594948
perf(datasource): count Intercom contacts by id without reading them
christophebrun-forest Oct 29, 2026
f02e531
perf(datasource): let Intercom reads by id run concurrently
christophebrun-forest Oct 29, 2026
a01ff72
fix(datasource): name at most 50 values in one Intercom IN
christophebrun-forest Oct 29, 2026
c98f318
fix(datasource): name at most 15 values in one Intercom IN or NIN
christophebrun-forest Oct 29, 2026
b9265fb
refactor(datasource): refuse an Intercom adapter that cannot load, dr…
christophebrun-forest Oct 29, 2026
6e86afa
docs(toolkit): trim the comments the Intercom branch added to Utils::…
christophebrun-forest Oct 29, 2026
5823c4b
docs(datasource): condense the Intercom datasource comments
christophebrun-forest Oct 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ jobs:
- forest_admin_datasource_mambu_payments
- forest_admin_datasource_graphql_hasura
- forest_admin_datasource_pylon
- forest_admin_datasource_intercom
services:
mongodb:
image: mongo:latest
Expand Down Expand Up @@ -154,7 +155,7 @@ jobs:
with:
verbose: true
oidc: true
files: ${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_agent/coverage.json,${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_datasource_active_record/coverage.json,${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_datasource_customizer/coverage.json,${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_datasource_toolkit/coverage.json,${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_rails/coverage.json,${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_datasource_mongoid/coverage.json,${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_rpc_agent/coverage.json,${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_datasource_rpc/coverage.json,${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_datasource_zendesk/coverage.json,${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_datasource_snowflake/coverage.json,${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_datasource_mambu_payments/coverage.json,${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_datasource_graphql_hasura/coverage.json,${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_datasource_pylon/coverage.json
files: ${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_agent/coverage.json,${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_datasource_active_record/coverage.json,${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_datasource_customizer/coverage.json,${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_datasource_toolkit/coverage.json,${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_rails/coverage.json,${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_datasource_mongoid/coverage.json,${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_rpc_agent/coverage.json,${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_datasource_rpc/coverage.json,${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_datasource_zendesk/coverage.json,${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_datasource_snowflake/coverage.json,${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_datasource_mambu_payments/coverage.json,${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_datasource_graphql_hasura/coverage.json,${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_datasource_pylon/coverage.json,${{ github.workspace }}/reports/${{ matrix.ruby-version }}-forest_admin_datasource_intercom/coverage.json

deploy:
name: Release package
Expand Down
7 changes: 5 additions & 2 deletions .releaserc.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ module.exports = {
'sed -i \'s/VERSION = ".*"/VERSION = "${nextRelease.version}"/g\' packages/forest_admin_datasource_snowflake/lib/forest_admin_datasource_snowflake/version.rb; '+
'sed -i \'s/VERSION = ".*"/VERSION = "${nextRelease.version}"/g\' packages/forest_admin_datasource_mambu_payments/lib/forest_admin_datasource_mambu_payments/version.rb; '+
'sed -i \'s/VERSION = ".*"/VERSION = "${nextRelease.version}"/g\' packages/forest_admin_datasource_graphql_hasura/lib/forest_admin_datasource_graphql_hasura/version.rb; '+
'sed -i \'s/VERSION = ".*"/VERSION = "${nextRelease.version}"/g\' packages/forest_admin_datasource_pylon/lib/forest_admin_datasource_pylon/version.rb; ',
'sed -i \'s/VERSION = ".*"/VERSION = "${nextRelease.version}"/g\' packages/forest_admin_datasource_pylon/lib/forest_admin_datasource_pylon/version.rb; '+
'sed -i \'s/VERSION = ".*"/VERSION = "${nextRelease.version}"/g\' packages/forest_admin_datasource_intercom/lib/forest_admin_datasource_intercom/version.rb; ',
successCmd:
'( cd packages/forest_admin_agent && gem build && gem push forest_admin_agent-*.gem );' +
'( cd packages/forest_admin_datasource_active_record && gem build && gem push forest_admin_datasource_active_record-*.gem );' +
Expand All @@ -47,7 +48,8 @@ module.exports = {
'( cd packages/forest_admin_datasource_snowflake && gem build && gem push forest_admin_datasource_snowflake-*.gem );' +
'( cd packages/forest_admin_datasource_mambu_payments && gem build && gem push forest_admin_datasource_mambu_payments-*.gem );' +
'( cd packages/forest_admin_datasource_graphql_hasura && gem build && gem push forest_admin_datasource_graphql_hasura-*.gem );' +
'( cd packages/forest_admin_datasource_pylon && gem build && gem push forest_admin_datasource_pylon-*.gem );' ,
'( cd packages/forest_admin_datasource_pylon && gem build && gem push forest_admin_datasource_pylon-*.gem );' +
'( cd packages/forest_admin_datasource_intercom && gem build && gem push forest_admin_datasource_intercom-*.gem );' ,
},
],
[
Expand All @@ -71,6 +73,7 @@ module.exports = {
'packages/forest_admin_datasource_mambu_payments/lib/forest_admin_datasource_mambu_payments/version.rb',
'packages/forest_admin_datasource_graphql_hasura/lib/forest_admin_datasource_graphql_hasura/version.rb',
'packages/forest_admin_datasource_pylon/lib/forest_admin_datasource_pylon/version.rb',
'packages/forest_admin_datasource_intercom/lib/forest_admin_datasource_intercom/version.rb',
'package.json'
],
},
Expand Down
6 changes: 6 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ Gemspec/RequireMFA:
- 'packages/forest_admin_datasource_mambu_payments/forest_admin_datasource_mambu_payments.gemspec'
- 'packages/forest_admin_datasource_graphql_hasura/forest_admin_datasource_graphql_hasura.gemspec'
- 'packages/forest_admin_datasource_pylon/forest_admin_datasource_pylon.gemspec'
- 'packages/forest_admin_datasource_intercom/forest_admin_datasource_intercom.gemspec'

# Offense count: 1
# This cop supports unsafe autocorrection (--autocorrect-all).
Expand Down Expand Up @@ -135,6 +136,7 @@ Style/MutableConstant:
- 'packages/forest_admin_datasource_snowflake/lib/forest_admin_datasource_snowflake/version.rb'
- 'packages/forest_admin_datasource_mambu_payments/lib/forest_admin_datasource_mambu_payments/version.rb'
- 'packages/forest_admin_datasource_pylon/lib/forest_admin_datasource_pylon/version.rb'
- 'packages/forest_admin_datasource_intercom/lib/forest_admin_datasource_intercom/version.rb'

# Offense count: 38
# This cop supports safe autocorrection (--autocorrect).
Expand Down Expand Up @@ -220,6 +222,7 @@ Style/StringLiterals:
- 'packages/forest_admin_datasource_snowflake/lib/forest_admin_datasource_snowflake/version.rb'
- 'packages/forest_admin_datasource_mambu_payments/lib/forest_admin_datasource_mambu_payments/version.rb'
- 'packages/forest_admin_datasource_pylon/lib/forest_admin_datasource_pylon/version.rb'
- 'packages/forest_admin_datasource_intercom/lib/forest_admin_datasource_intercom/version.rb'

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
Expand Down Expand Up @@ -264,6 +267,8 @@ Metrics/ParameterLists:
- 'packages/forest_admin_agent/lib/forest_admin_agent/audit_trail/capture.rb'
- 'packages/forest_admin_agent/lib/forest_admin_agent/audit_trail/store.rb'
- 'packages/forest_admin_datasource_graphql_hasura/lib/forest_admin_datasource_graphql_hasura/configuration.rb'
- 'packages/forest_admin_datasource_intercom/lib/forest_admin_datasource_intercom/configuration.rb'
- 'packages/forest_admin_datasource_intercom/lib/forest_admin_datasource_intercom/client.rb'
- 'packages/forest_admin_datasource_zendesk/lib/forest_admin_datasource_zendesk/collections/base_collection.rb'
- 'packages/forest_admin_datasource_pylon/lib/forest_admin_datasource_pylon/collections/base_collection.rb'
- 'packages/forest_admin_datasource_pylon/lib/forest_admin_datasource_pylon/configuration.rb'
Expand Down Expand Up @@ -302,6 +307,7 @@ Metrics/ModuleLength:
- 'packages/forest_admin_datasource_pylon/spec/**/*'
- 'packages/forest_admin_rails/spec/**/*'
- 'packages/forest_admin_rpc_agent/spec/**/*'
- 'packages/forest_admin_datasource_intercom/spec/**/*'
- 'packages/forest_admin_datasource_mongoid/lib/forest_admin_datasource_mongoid/utils/helpers.rb'

Metrics/MethodLength:
Expand Down
8 changes: 8 additions & 0 deletions packages/forest_admin_datasource_intercom/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
*.gem
.bundle/
Gemfile.lock
Gemfile-test.lock
coverage/
pkg/
tmp/
.rspec_status
3 changes: 3 additions & 0 deletions packages/forest_admin_datasource_intercom/.rspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
--format documentation
--color
--require spec_helper
16 changes: 16 additions & 0 deletions packages/forest_admin_datasource_intercom/Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
source 'https://rubygems.org'

gemspec

gem 'forest_admin_datasource_customizer'
gem 'forest_admin_datasource_toolkit'
gem 'rake', '~> 13.0'
gem 'rubocop', '1.86.1'
gem 'rubocop-performance', '1.26.1'
gem 'rubocop-rspec', '3.9.0'

group :development, :test do
gem 'rspec', '~> 3.0'
gem 'simplecov', '~> 0.22', require: false
gem 'webmock', '~> 3.0'
end
19 changes: 19 additions & 0 deletions packages/forest_admin_datasource_intercom/Gemfile-test
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
source 'https://rubygems.org'

# Specify your gem's dependencies in forest_admin_datasource_intercom.gemspec
gemspec

gem 'rake', '~> 13.0'
gem 'rubocop', '1.86.1'
gem 'rubocop-performance', '1.26.1'
gem 'rubocop-rspec', '3.9.0'

group :development, :test do
gem 'forest_admin_datasource_customizer', path: '../forest_admin_datasource_customizer'
gem 'forest_admin_datasource_toolkit', path: '../forest_admin_datasource_toolkit'
gem 'rspec', '~> 3.0'
gem 'simplecov', '~> 0.22', require: false
gem 'simplecov-html', '~> 0.12.3'
gem 'simplecov_json_formatter', '~> 0.1.4'
gem 'webmock', '~> 3.0'
end
Loading
Loading