Beispiel #1
0
        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"]
            });
        }