使用Python和Gitlab创建一个票证系统_gitlab 投票

你可以在你的项目存储库的主页上获取项目ID。

为了使代码更具可读性,让我们在Python脚本中添加以下几行代码:

确保分别用你的个人访问令牌和项目的ID替换privateToken和projectId。

为了测试我们的设置,我们来将以下内容添加

到脚本中。这段代码会尝试从Gitlab检索项目属性并以JSON格式打印它们。你可以通过简单地执行来运行这个脚本:

你应该会看到一串JSON打印到屏幕上。如果没有,请确保你的个人访问令牌和项目ID是正确的。你现在可以安全地删除我们添加到Python脚本中的最后一行了。接下来,我们将为我们的票证系统设计一些功能。

设计一些功能

此时,一切都如预期的那样开始运行,你应该能够使用Gitlab API向你的存储库发出请求。我们准备开始编写我们的票证系统脚本了。

为了简单起见,我们将只在票务系统中加入几个功能。支持票将在存储库的问题中进行管理,并根据我们将要定义的类别进行标记。标签的分配应该是自动化的,并将基于一个常见的问题标题前缀。脚本应该负责添加缺失的标签。

实现

现在我们已经知道了我们的目标是什么,让我们深入研究代码。

首先,我们定义一些票的类别。我们将使用一个Python字典来保存数据。我们添加两个类别,将其命名为Hardware 和Gitlab Account ,前者用于与硬件相关的东西,后者用于Gitlab帐户创建请求。

每个类别都有一个唯一的标识符,以及一个关联的标签(带有名称和颜色)。

接下来,我们必须将这些标签添加到存储库中。为此,我们使用Gitlab API提供的labels请求。如果没有发生错误,请求将返回状态码201。如果一个标签已经存在,我们只需忽略错误并继续执行。

然后,我们从存储库中检索所有问题的列表。这将允许我们对它们进行迭代,并根据每个问题的标题自动为其分配正确的标签。

如果存储库中只有一个问题,resp.json() 将会返回一个字典,而如果有多个问题的化,它将会返回一个字典列表。我们来将其标准化,并始终使用一个列表。

接下来,我们遍历所有的问题并搜索Service Desk发布的问题。然后检查是否存在预定义的标题头部。一个典型的服务票标题如下所示:

我们试图找到与方括号内的类别ID之一对应的这个标题的子字符串,并将相应的标签附加给它。

就是这样!我们现在已经将一个简单的票务系统完全集成到Gitlab了。当你每次运行这个脚本时,所有问题都将自动使用正确的标签进行更新。我们来测试一下。

进行测试

我们来向Gitlab为我们的存储库生成的地址写一封电子邮件。我将请求一个新的屏幕:

注意,我在电子邮件的主题中使用了方括号内的一个类别ID。这非常重要,因为它将允许我们的脚本为生成的Gitlab问题提供正确的标签。

这个新的问题现在就可以在存储库中看到了。

我们可以像对待其他问题一样对它进行响应。应答将自动转发到发出请求者的邮箱。

文末有福利领取哦~

👉一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。img

👉二、Python必备开发工具

img
👉三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
img

👉 四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(文末领读者福利)
img

👉五、Python练习题

检查学习结果。
img

👉六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
img

img

👉因篇幅有限,仅展示部分资料,这份完整版的Python全套学习资料已经上传

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
里无偿获取](https://bbs.csdn.net/topics/618317507)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值