SFKB
SalesForce Knowledge Base
A Ruby library that extends Restforce to provide convenient access to Articles and ArticlesVersions in the Salesforce Knowledge Base.
Requirements
Installation
gem install sfkb
Usage
Include it in your project, for example in your Gemfile
gem 'sfkb'
or just require it.
Now you can use the module as a client, or do something fancier by
instantiating a SFKB::Client
.
For example, here's how to print the titles of the master versions of the first 10 documents:
require 'sfkb'
SFKB.new.articles.take(10).each { |a| puts a.OnlineMasterVersion.data.Title }
Here's how to list the titles of every translation of every draft article:
sf = SFKB.new
sf.articles.select(:hasTranslations?) do |a|
sf.translations(a, 'Draft').each do |t|
puts t.data.Title
end
end
Documentation is available here.
You will need to register an app in your Salesforce instance so you can obtain
your SALESFORCE_CLIENT_ID
and SALESFORCE_CLIENT_SECRET
(see below).
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/bjjb/sfkb. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
Testing
When testing, you'll want to preconfigure your environment with these settings:
SALESFORCE_CLIENT_ID
SALESFORCE_CLIENT_SECRET
You might also want to set the following (which defaults to 'login.salesforce.com) to something like 'company.my.salesforce.com', or 'test.salesforce.com' if you want to use a sandbox.
SALESFORCE_HOST
For authentication, you may either use the username/password/token-secret combination:
SALESFORCE_USERNAME
SALESFORCE_PASSWORD
SALESFORCE_SECURITY_TOKEN
or
SALESFORCE_OAUTH_TOKEN
SALESFORCE_REFRESH_TOKEN
the latter of which is optional, and can (and probably should) be set using
the authentication_callback
. For more details, see Restforce.
License
The gem is available as open source under the terms of the MIT License.
Code of Conduct
Everyone interacting in the Glinga project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.