Release 9.0 - 230808.9.0
This release introduces Skylark integrations as well as some new options for working with objects and relationships.
Features
Skylark Integrations
Integrations are an exciting new feature in early access that we're opening up for users to trial. Integrations is a service which receives webhooks from multiple input locations and transforms the webhooks into objects in Skylark.
Integrations are currently availabile for the following providers:
- Bitmovin
- Mux
- JWPlayer
- Livepeer
- Cloudinary
If you're like to get started with Skylark integrations, contact our customer success team.
Relationships and external ID
It's now possible to link and unlink relationships with an object's external ID. You can continue to use the link
argument as before. For example:
mutation {
updateBrand(external_id: "my-brand-external-id", brand: {
relationships: {
episodes: {
link: ["my-episode-external-id"]
}
}
}) {
uid
}
}
Get/Delete object queries
We've added 2 new queries designed for power users. They are getObject
and deleteObject
. These queries allow you to get or delete an object only knowing its UID or External ID; not needed the object type.
getObject examples
This example shows how the UID and typename can be retrieved just knowing the external ID of an object:
query {
getObject(external_id: "streamtv_star_wars_skywalker_saga", ignore_availability: true) {
__typename
uid
}
}
The response fields of this query use the GraphQL ... on
Syntax, like Sets and Search in Skylark.
query {
getObject(external_id: "streamtv_star_wars_skywalker_saga", ignore_availability: true) {
__typename
uid
...on SkylarkSet {
title
}
}
}
deleteObject examples
As with getObject
, deleteObject
allows you to delete objects from Skylark using the UID or external ID, without knowing the type. This works in the same way as the normal delete mutations.
This example deletes an entire object using the external ID:
mutation {
deleteObject(external_id: "my-external-id") {
uid
}
}
And this example deletes just a translation using the UID:
mutation {
deleteObject(uid: "01H7A4FBPKN39ZMR0CSWMHACR5", language: "fr-FR") {
uid
language
}
}
For more information on the delete mutations, see our documentation.