【JS每N日一练】【自动化】gitcode创建子项目并导入git

这篇具有很好参考价值的文章主要介绍了【JS每N日一练】【自动化】gitcode创建子项目并导入git。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🛫 导读

需求

github访问时好时不好的,而且克隆代码及其麻烦,经常失败。所以小编往往是把代码先在国内做个镜像,然后再下载。
gitcode目前使用还是挺方便的,今天就以gitcode为例,写两个脚本,加速代码下载。

1️⃣ 创建子项目

手动操作

  1. 注册并登录自己的仓库主页:https://gitcode.net/dashboard/projects/home
  1. 按照下图打开自己的组织
    【JS每N日一练】【自动化】gitcode创建子项目并导入git
  1. 在列表中,选择要创建子组织的组织。小编以yemao为例进行讲解。
    【JS每N日一练】【自动化】gitcode创建子项目并导入git
  1. 选择新建子组织:
    【JS每N日一练】【自动化】gitcode创建子项目并导入git
    然后点击《新建自组织》按钮,进入《新建组织》页面
    【JS每N日一练】【自动化】gitcode创建子项目并导入git
  1. 在《新建组织》页面,输入子组织名称,并创建组织。
    需要注意该页面的url中,包含了当前组织的id,为1191151,我们需要使用该值编写代码。
    【JS每N日一练】【自动化】gitcode创建子项目并导入git

编写代码

代码很简单,封装了一个函数,传递父组织的ID子组织的名称即可。
该函数逻辑很简单,分为下面三个步骤:

  • 跳转到创建子组织页面
  • 设置组织名称
  • 点击新建组织

打开控制台,输入下面的代码,多次执行即可创建子组织:

function 创建子组织(orgId, orgSub) {
    let url = `https://gitcode.net/groups/new?parent_id=${orgId}`
    // 跳转到创建子组织页面
    if (!location.href.startsWith(url)) {
        location.href = url
    }

    // 设置组织名称
    document.querySelector('#group_name').value=orgSub
    document.querySelector('#group_path').value=orgSub

    // 点击新建组织
    $('#new_group > div:nth-child(8) > div > input').click()
}
创建子组织(1191151, 'CheatEngine')

2️⃣ 导入github项目

手动操作

  1. 打开《新建项目》页面
    【JS每N日一练】【自动化】gitcode创建子项目并导入git
  1. 选择《导入项目》
    【JS每N日一练】【自动化】gitcode创建子项目并导入git
  1. 选择《从 URL 导入仓库》
    当前页面地址为https://gitcode.net/projects/new?spm=1033.2243.3001.5861#import_project,我们将从这里开始编写代码
    【JS每N日一练】【自动化】gitcode创建子项目并导入git
  1. 填写信息并新建项目
    【JS每N日一练】【自动化】gitcode创建子项目并导入git

编写代码

写代码的时候发现一个更方便的方案,从项目中打开项目就不用设置项目 URL了。
【JS每N日一练】【自动化】gitcode创建子项目并导入git
通过上面的方式进入导入页面,项目URL已经被设置为了CheatEnine,我们记录下namespace_id=2172762,后面要用到。
【JS每N日一练】【自动化】gitcode创建子项目并导入git

设置项比较多,代码相对复杂些,不过需要注意的只有下面几项内容:

  • 填入Git仓库URL后,需要点击别的地方,否则页面会提示URL不能为空。
  • 《新建项目》按钮定位:'input[data-disable-with="新建项目"]'
function 导入项目(namespaceId, tags, importUrl) {
  let url = `https://gitcode.net/projects/new?namespace_id=${namespaceId}#import_project`
  // 跳转到页面
  if (!location.href.startsWith(url)) {
    location.href = url
  }

  // 点击《从URL导入仓库》按钮
  let eleImportUrlData = $('.import-url-data :visible')
  if (eleImportUrlData.length === 0) {
    $('.js-import-git-toggle-button').click()
  }

  // 填入Git仓库URL
  let eleImportURL = $('#project_import_url')
  if (eleImportURL.length !== 0) {
    eleImportURL[0].value = importUrl
  }

  // 设置项目名称、项目标识串
  let lst = importUrl.split('/')
  let name = lst[lst.length - 1]
  $('#project_name')[0].value = name
  $('#project_path')[0].value = name

  // 设置描述
  let eleProjectDescription = $('#project_description')
  if (eleProjectDescription.length !== 0) {
    eleProjectDescription[0].value = `github地址为: ${importUrl}`
    // 点击一下,触发URL变化
    eleProjectDescription.click()
  }
  
  // 设置项目主题
  $('#project_tag_list')[0].value = tags

  // 点击新建组织
  $('input[data-disable-with="新建项目"]').click()
}
导入项目(2172762, '游戏安全', 'https://github.com/korcankaraokcu/PINCE')

🛬 文章小结

  • 上面的代码算是半自动化,部分操作会刷新页面导致js失效,可以结合electron及preload.js实现全自动,或者结合浏览器插件也可以实现(如油猴)。
  • 如果需要导入多个url,我们可以通过localStorage保存已经导入过的url,从而实现大量url导入。

📖 参考资料

**ps:**文章中内容仅用于技术交流,请勿用于违规违法行为。文章来源地址https://www.toymoban.com/news/detail-437106.html

到了这里,关于【JS每N日一练】【自动化】gitcode创建子项目并导入git的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Apikit 自学日记:创建自动化测试项目

    在API 自动化测试中,所有的测试用例都是以项目维度来进行管理,一个自动化测试项目可以从多个API文档项目中引用API信息来创建API测试用例。 点击左侧菜单栏,进入 API 自动化测试 项目列表页,点击添加按钮:   在弹窗中输入相应的信息,点击确定即可:   在创建项目时

    2024年02月12日
    浏览(44)
  • js脚本自动化之葫芦娃

    贵州特产平台(扶贫助农平台)有很多,但都大同小异,就连模样都像一个娘生的,所以戏称为葫芦娃平台 #小程序://航旅黔购/1nkYlNRVzm0Gg9x #小程序://贵旅优品/7zz6mtnSVgDfyqa #小程序://新联惠购/ibFdsuhWqIbczEd #小程序://贵盐黔品/u2TgExCUdkavrFe #小程序://空港乐购/ANkOOdqEeo71kah #小程序

    2024年02月12日
    浏览(47)
  • 自动化测试——selenium之JS定位

    在自动化测试中,我们常用的元素定位方式有id,name,class_name,xpath,css_selector,link_text 还有不常用的tag_name,partial_link_text 其实还有js定位方法及jquery定位方法 一、js定位方法(注意书写格式及以分号结尾): 1.根据id定位 document.getElementById(\\\"id值\\\").操作方式; 2.根据ClassName定

    2023年04月27日
    浏览(47)
  • 通过dockerfile创建jar镜像 + 自动化脚本启动

    dockerFile(里面包含向容器添加文件,创建文件夹,启动命令等关键,可以根据实际灵活运用):  文件位置:    命令流程:  可根据项目进行微调  遇到坑: linux下执行shell脚本报错,大概率是文本在win下编辑复制过去的,由于存在linux不支持的换行符等,导致脚本无法执

    2024年02月07日
    浏览(50)
  • auto.js自动化手机脚本初始配置

    软件选择: auto.js 8.0pro版本(对比4.0版本有阉割,微信支付宝不能点)有两种模式: 客户端模式 服务器模式 auto.js 4.0版本有一种模式: 客户端模式 设备和电脑连接: 手机: **服务器模式:**手机和电脑在同一局域网下相互连接。(手机电脑同wifi远程连接,稳定) **客户端

    2024年02月12日
    浏览(38)
  • yyds,Elasticsearch Template自动化管理新索引创建

    一、什么是Elasticsearch Template? Elasticsearch Template是一种将预定义模板应用于新索引的功能。在索引创建时,它可以自动为新索引应用已定义的模板。Template功能可用于定义索引的映射、设置和别名等。它是一种自动化管理索引创建的方式,使用户可以在大量索引上快速而一致

    2023年04月08日
    浏览(34)
  • 基于自动化工具autox.js的抢票(猫眼)

    1.看到朋友圈抢周杰伦、林俊杰演唱会票贼难信息,特研究了一段时间,用autox.js写了自动化抢票脚本,购票页面自动点击下单(仅限安卓手机)。 2.脚本运行图 3.前期准备工作  (1)autox.js社区官网:AutoX.js  (2)b站上学习资料:10分钟学会AutoX.js hello world_哔哩哔哩_bilibil

    2024年02月04日
    浏览(65)
  • Python UI自动化-Selenium【JS操作】

    在selenium定位元素操作中,如果有些元素定位不到,或者页面元素的属性有需要修改,可以通过js操作来对html页面元素获取、元素属性获取、元素的属性进行修改 selenium当中执行js代码有两种方式: 1、driver.execute_script(js代码(语句用;隔开),传入js代码当中的值) 2、使用s

    2024年02月16日
    浏览(43)
  • Playwright-Node.js 自动化办公

    注意本文档建立在playwright-nodejs1.16版本基础上,本教程并未完全参照官方文档(主要是在这个版本之前就已经接触playwright-python   Playwright可在所有现代浏览器中实现快速,可靠和强大的自动化。本指南涵盖了这些关键区别因素,以帮助您为自动化测试选择合适的工具。 支持所有

    2023年04月15日
    浏览(51)
  • Moonbeam操作指南|如何使用Gelato创建自动化任务

    Gelato是一个Web3去中心化自动化网络,允许开发者横跨多个基于EVM兼容区块链上自动化和连接任意的智能合约执行。 📑阅读中文版详细操作教程 举例来说,我们将使用MetaMask作为钱包。同时,您的钱包余额中需要有一些GLMR用于支付自动化交易的gas费用。 开始之前,请先前往

    2024年02月02日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包