Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

YSP-593: ServiceNow Knowledge Base Syncing #737

Merged
merged 30 commits into from
Oct 1, 2024

Conversation

dblanken-yale
Copy link
Contributor

@dblanken-yale dblanken-yale commented Aug 21, 2024

YSP-593: ServiceNow Knowledge Base Syncing

Description of work

  • Adds ys_servicenow for user 1 to sync from an endpoint
  • Adds keys module based authentication for migrations
    • Using pantheon secrets per site environment that needs this
  • Adds processor to properly construct a text block with content on a node
  • Adds ys_servicenow to config ignore and enables the module turned off by default
  • Add cron job to perform this every hour
  • Adds configurable endpoint as config
  • Unpublished pages based on workflow_state passed via endpoint (Not tested yet as there are none to toggle)
  • Added README for more information

Functional testing steps:

  • As user 1, ensure that "ServiceNow Settings" appear under Configuration menu
  • Go to the keys module and create a proper key with a username and password specified.
  • In the service now settings, pick that key you made and enable service now
  • On save, ensure that "Sync" button appears
  • Click "Sync"
  • Ensure that you now have pages with ServiceNow content

Todo

  • Add cron job functionality (every few hours)
  • Re-introduce endpoint configuration to obfuscate real endpoint from being in YAML
  • Trigger node update pipeline
  • Config ignore
  • Keys management -- Pantheon Secrets?

Copy link

Visit Site

Created multidev environment pr-737 for yalesites-platform.

In case we need to use this in the future, we now have a way to do this
without specifying servicenow specifically.
A byproduct of setting syncSource is that the layout builder items need
to be recreated.  This is a benefit to us I believe in that we don't
need to figure out if it needs updating, we just add a new block with
the new content.

My only worry is that database data is not being deleted when this
happens; I need to look more into this.
Remove the endpoint since it's hardcoded into the YAML.
It seems when migrations happen, they skip the callbacks that items
would normally have.  In our case, it's not triggering our ai module
hook to update.  This is an attempt to save them so that it can pick it
up.
Marc has written about this, and it looks as if when an item is no
longer present in the payload that it gets wiped, which we do not want.

So we removed this; more testing needs to be done on the effects of
changing the data and how it updates.
@dblanken-yale dblanken-yale merged commit a1c951a into develop Oct 1, 2024
3 checks passed
@yalesites yalesites mentioned this pull request Oct 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants