tfsaggregator / aggregator-cli

A new version of Aggregator aiming at Azure DevOps (ex Visual Studio Team Services)
https://tfsaggregator.github.io/
Apache License 2.0
73 stars 32 forks source link

Create new related workitem. #278

Open rbhole opened 1 year ago

rbhole commented 1 year ago

I want to create new related item NOT child item. My code as below,

if (parent.WorkItemType == "Risk") {
    if (parent.State == "Impacted")
    {
        var newChild = store.NewWorkItem("Issue");
        newChild.Title = "Issue " + parent.Title;
        newChild.State = "Identify";
        newChild.Description = "Issue created due to " + parent.Title + " Impacted";
        parent.Relations.Add(newChild);
        logger.WriteInfo("Issue added"); 
    }
}

I got error as below,

Errors in the rule file D:\Autocalculation\createWorkItem_Demo.rule:
(14,24): error CS1503: Argument 1: cannot convert from 'aggregator.Engine.WorkItemWrapper' to 'aggregator.Engine.WorkItemRelationWrapper'
[2023-03-29 16:27:08Z] Rule file is invalid
[2023-03-29 16:27:08Z] update.rule Failed!
[2023-03-29 16:27:08Z] Exiting with code 1

I gone through /scr from library... but unable to find out solution.

giuliov commented 1 year ago

Have you tried

parent.AddRelatedLink(newChild, "Impacted by Risk");
rbhole commented 1 year ago

Thank you @giuliov

Gr4nOuvert commented 10 months ago

Hello @giuliov, I have tried your example but I dont think that its working as supposed: Have you got a clue?

My code: var childItem = store.GetWorkItem(child.Id); self.AddRelatedLink(childItem, "Aggregator created link");

but i get following error message: Rule \u0027test\u0027 failed: (44,22): error CS1061: \u0027WorkItemWrapper\u0027 does not contain a definition for \u0027AddRelatedLink\u0027 and no accessible extension method \u0027AddRelatedLink\u0027 accepting a first argument of type \u0027WorkItemWrapper\u0027 could be found (are you missing a using directive or an assembly reference?)"

Update: i found the error. You have to use self.Relations.AddRelatedLink(..)