When a GitHub Issue is added to a repository, how to add/sync a SNOW CatalogTask associated to a RequestItem

Originally asked by Tim Hamilton on 18 August 2022 (original question)


We have setup our GitHub Issues with the following schema

RITM000001-SCTASK0000001-My Short Description
<RequestItemNumber>-<CatalogTaskNumber>-<ShortDescription>

If the user provides the Request Item and not the CatalogTask number in the Title of the GitHub issue. How can that be used to add a new CatalogTask to that RITM when synced. Also how do you then update the GitHub Issue with the new CatalogTask Number.

If the GitHub Issue Title contains only the CatalogTask Number then the associated CatalogTask should be updated.

If no RITM or SCTASK entered then no sync should be created.

Here is what I have so far on the incoming sync for

if(firstSync){
    entityType = "sc_task"
    if(replica.request_item?.contains("RITM"))
    {
        if(replica.catalogTask?.contains("SCTASK")){
            catalogTask.key = replica.catalogTask
        }
        else
        {
            // ???
        }
    }
}

To manage the CatalogTask number and RequestItem number I am maintaining the values through the sync process.

On The Outgoing SNOW I have a custom field named titleID which is populated by the following
the Entity is a CatalogTask

 replica.titleID = catalogTask.request_item.display_value + "-" + entity.key + "-"

Comments:

Ariel Aguilar commented on 17 September 2022

Just to confirm, so you want to sync the issue to a request item?
If the issue has CSTASK number in its summary, you want to update the RITM with that task number,
If the CSTASK number is not in the summary, you want Exalate to create it and put its number to the synced RITM
If you don’t didn’t specify neither RITM nor CSTASK - you want to cancel sync?

Kind regards,

Ariel