CSOM获取自定义域和查阅表格

///定义自定义域信息
public class CustomField
{
    public Guid Id { get; set; }
    public string Name { get; set; }
    public string InternalName { get; set; }
    public string FullValue { get; set; }
    public string Description { get; set; }
    public string EntityType { get; set; }
}

/// <summary>
/// 获取自定义域
/// </summary>
/// <param name="projContext"></param>
/// <param name="fieldName"></param>
/// <returns></returns>
private string GetFieldInternalName(ProjectContext projContext, string fieldName)
{
    string fieldInternalName = string.Empty;
    List<CustomField> customFieldList = new List<CustomField>();
    try
    {
        projContext.Load(projContext.CustomFields);
        projContext.ExecuteQuery();
        var customFieldEnum = projContext.CustomFields.GetEnumerator();
        while (customFieldEnum.MoveNext())
        {
            var customField = customFieldEnum.Current;
            CustomField customFieldData = new CustomField(); //This is your custom class
            customFieldData.Id = customField.Id;
            customFieldData.Name = customField.Name;
            customFieldData.InternalName = customField.InternalName;
            customFieldList.Add(customFieldData);
        }
        projContext.Load(projContext.Projects);
        projContext.ExecuteQuery();
        foreach (CustomField customField in customFieldList)
        {
            if (customField.Name.ToString().Equals(fieldName, StringComparison.OrdinalIgnoreCase))
            {
                fieldInternalName = customField.InternalName.ToString();
                return fieldInternalName;
            }
        }
    }
    catch (Exception ex) { }
    return fieldInternalName;
}

/// <summary>
/// 获取查阅表格
/// </summary>
/// <param name="projContext"></param>
/// <param name="fieldName"></param>
/// <param name="fieldValue"></param>
/// <returns></returns>
private string[] GetLookUpEntries(ProjectContext projContext, string fieldName, string fieldValue)
{
    string[] valueSet = new string[] { "" };
    List<CustomField> customFieldList = new List<CustomField>();
    try
    {
        projContext.Load(projContext.CustomFields);
        projContext.ExecuteQuery();
        var customFieldEnum = projContext.CustomFields.GetEnumerator();
        while (customFieldEnum.MoveNext())
        {
            var customField = customFieldEnum.Current;
            if (customField.Name.ToString().Equals(fieldName, StringComparison.OrdinalIgnoreCase))
            {
                var lookupTable = customField.LookupTable;
                projContext.Load(lookupTable);
                projContext.ExecuteQuery();
                var ltEntries = lookupTable.Entries;
                projContext.Load(ltEntries);
                projContext.ExecuteQuery();
                var ltEnum = ltEntries.GetEnumerator();
                while (ltEnum.MoveNext())
                {
                    var ltEntry = ltEnum.Current;
                    CustomField ltValues = new CustomField();
                    ltValues.InternalName = ltEntry.InternalName;
                    ltValues.FullValue = ltEntry.FullValue;
                    ltValues.Description = ltEntry.Description;
                    customFieldList.Add(ltValues);
                }
            }
        }// end of while 
        foreach (var value in customFieldList)
        {
            if (value.FullValue.ToString().Equals(fieldValue, StringComparison.OrdinalIgnoreCase))
        {
        valueSet = new string[] { value.InternalName.ToString() };
        }
    }
    catch (Exception ex) { }
    return valueSet;
}

资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在当今的软件开发领域,自动化构建与发布是提升开发效率项目质量的关键环节。Jenkins Pipeline作为一种强大的自动化工具,能够有效助力Java项目的快速构建、测试及部署。本文将详细介绍如何利用Jenkins Pipeline实现Java项目的自动化构建与发布。 Jenkins Pipeline简介 Jenkins Pipeline是运行在Jenkins上的一套工作流框架,它将原本分散在单个或多个节点上独立运行的任务串联起来,实现复杂流程的编排与可视化。它是Jenkins 2.X的核心特性之一,推动了Jenkins从持续集成(CI)向持续交付(CD)及DevOps的转变。 创建Pipeline项目 要使用Jenkins Pipeline自动化构建发布Java项目,首先需要创建Pipeline项目。具体步骤如下: 登录Jenkins,点击“新建项”,选择“Pipeline”。 输入项目名称描述,点击“确定”。 在Pipeline脚本中定义项目字典、发版脚本预发布脚本。 编写Pipeline脚本 Pipeline脚本是Jenkins Pipeline的核心,用于定义自动化构建发布的流程。以下是一个简单的Pipeline脚本示例: 在上述脚本中,定义了四个阶段:Checkout、Build、Push packageDeploy/Rollback。每个阶段都可以根据实际需求进行配置调整。 通过Jenkins Pipeline自动化构建发布Java项目,可以显著提升开发效率项目质量。借助Pipeline,我们能够轻松实现自动化构建、测试部署,从而提高项目的整体质量可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值