public override async Task <PersistedConfiguration> CollectAsync(IOperationCollectionContext context) { var gitlab = new GitLabClient(this.Template.ApiUrl, this.Template.UserName, this.Template.Password, this.Template.GroupName); var tag = await gitlab.GetTagAsync(this.Template.ProjectName, this.Template.Tag, context.CancellationToken).ConfigureAwait(false); if (tag == null || !tag.ContainsKey("release") || tag["release"] == null) { return(new GitLabReleaseConfiguration { Exists = false }); } var release = (Dictionary <string, object>)tag["release"]; return(new GitLabReleaseConfiguration { Tag = (string)release["tag_name"], Description = (string)release["description"] }); }