`
JerryWang_SAP
  • 浏览: 1030735 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

使用代码将github仓库里某个issue同步到CSDN博客上

阅读更多

我是一个懒惰的程序员。我在github仓库里用issue的方式写了很多分享文章,想同步到CSDN上。但是我又不想一篇篇手动复制粘贴,因此想用代码来实现自动化。

例子: 
https://github.com/i042416/KnowlegeRepository/issues/2215

这是我的一个issue:

 

我使用下面这些nodejs代码实现从github 仓库issue到CSDN博客的拷贝:

var config = require("./mcConfig");var request = require('request');var querystring = require('querystring');function createPost(oPost) {  var url = "https://mp.csdn.net/mdeditor/saveArticle";  var oBody = {          title: oPost.title,          markdowncontent: oPost.body,          tags:"Fiori",          categories:"Fiori",          channel:"14",          type:"original",          articleedittype:"1",          content: oPost.body
        };var formData = querystring.stringify(oBody);var contentLength = formData.length;var createPostOptions = {        url: url,        method: "POST",  
        headers: {            "content-type": "application/x-www-form-urlencoded",            "Content-Length": contentLength,            "origin" :"https://mp.csdn.net",            "referer" :"https://mp.csdn.net/mdeditor",            "User-Agent" :"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36",            "cookie": config.cookie
        },        body: formData
};  return new Promise(function(resolve,reject){      var requestC = request.defaults({jar: true});      console.log("Step1: create post via url: "   url );
      requestC(createPostOptions,function(error,response,body){       
       if(error){
          reject(error);
       }       console.log("response: "   body);
       resolve(body);
      }); 
     });
}module.exports = createPost;var request = require('request');function getIssue(issueNumber) {  var url = "https://api.github.com/repos/i042416/KnowlegeRepository/issues/"   issueNumber;  var getIssueOptions = {        url: url,        method: "GET",        json:true,        headers: {            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36"
        }
  };  return new Promise(function(resolve,reject){      var requestC = request.defaults({jar: true});      console.log("Step1: get issue detail via url: "   url );
      requestC(getIssueOptions,function(error,response,body){        if(error){          console.log("error occurred: "   error);
          reject(error);
        }        console.log("title:"   body.title);        console.log("body: "   body.body);        for( var i = 0; i < body.labels.length; i  ){          console.log("label: "   body.labels[i].name);
        }
        resolve(body);
      }); 
     });
}module.exports = getIssue;var readIssue = require("./readIssueMod");var createPost = require("./createPostMod");
readIssue(2215).then(createPost).catch((error)=>{console.log("error: "   error)});

执行结果:

 

已经自动同步到CSDN了,方便!

 

 

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

 

 
0
0
分享到:
评论

相关推荐

    Mac上将本地项目上传到GitHub仓库

    在Mac上将本地项目上传到GitHub仓库的过程涉及多个步骤,包括安装Git,配置GitHub账户,创建新仓库,以及使用命令行工具进行版本控制操作。以下是一个详细的指导: 1. **安装Git**: Git是分布式版本控制系统,是与...

    使用git上传代码到github

    使用 Git 上传代码到 GitHub Git 是一个版本控制系统,可以帮助开发者跟踪代码的修改记录,并且可以多人协作开发。GitHub 是一个基于 Git 的版本控制系统的托管平台,提供了免费的公共仓库和私有仓库。使用 Git ...

    如何快速将本地idea项目上传到github仓库

    "快速将本地 IDEA 项目上传到 GitHub 仓库" 在本文中,我们将详细介绍如何快速将本地 IDEA 项目上传到 GitHub 仓库。这个过程可以分为四个步骤:创建 GitHub 空仓库、创建本地 Spring Boot 项目、将项目设置为 Git ...

    github同步脚本 - 副本.txt

    github同步脚本,用于快速同步github的page到本地;github同步脚本,用于快速同步github的page到本地

    GitHub的使用方法

    提交完代码后,我们还需要将代码上传到GitHub的远程仓库,这需要使用`git push`命令。如果之前尚未配置过远程仓库,则命令执行时会要求输入GitHub的账号密码进行认证。在完成认证后,本地的更改就成功推送到GitHub上...

    手把手教你从eclipse 提交 代码到github

    结论:从eclipse提交代码到github非常简单,只需要安装git插件,创建github仓库,在eclipse中配置git,然后提交代码到github。通过这四个步骤,我们可以轻松地将代码分享到github上,和其他开发者协作开发。

    本地代码提交到GitHub步骤.docx

    本篇文章将详细介绍如何将本地代码提交到GitHub远程仓库的完整步骤,这对于开发者来说是一项基本技能。 首先,确保你已经在GitHub上创建了一个远程仓库。创建远程仓库非常简单,只需登录GitHub账号,点击“New ...

    github 使用指南 官方中文

    3. 编辑与提交:在本地修改文件后,使用 `git add`, `git commit` 和 `git push` 命令将更改同步到 GitHub。 4. 分支管理:通过 `git branch` 和 `git checkout` 命令创建和切换分支,实现并行开发。 5. 合并与...

    微信小程序demo:github博客(源代码+截图)

    微信小程序demo:github博客(源代码+截图)微信小程序demo:github博客(源代码+截图)微信小程序demo:github博客(源代码+截图)微信小程序demo:github博客(源代码+截图)微信小程序demo:github博客(源代码+截图)微信...

    hexo github page本地仓库代码

    综上所述,"hexo github page本地仓库代码"涉及了使用Hexo创建个人博客,并将其部署到GitHub Pages的过程。通过这个本地仓库,你可以看到整个博客的结构、配置以及所有文章的源文件。通过持续更新和优化,你可以创建...

    使用 Github Codespaces 同步镜像到ACR/自建仓库

    使用 Github Codespaces 同步镜像到ACR/自建仓库

    jira-github-issue-sync, 将jira的故事/sprint同步到github的里程碑/问题.zip

    jira-github-issue-sync, 将jira的故事/sprint同步到github的里程碑/问题 jira-github-issue-sync将stories的故事/sprint同步到github的里程碑/问题。安装npm install -g sync-jira-github运行你需要使用github和j

    GITHUB镜像网站表

    表格中的几个网站是github的同步镜像网站,均从网络搜集。下面是镜像网站的优点: 一:速度快,能节省打开github网页的时间和下载程序资源的时间。 二:同步性高,提供几乎和github官网一样的内容。 三:部分网站已...

    github怎么看旧代码.zip

    本文将详细介绍如何在GitHub上查看和浏览旧代码,以及如何定位到特定的历史版本。 首先,访问GitHub仓库是查看代码的第一步。在浏览器中输入仓库的URL,如`https://github.com/username/repositoryname`,其中`...

    github的使用入门

    - 同步(sync)本地仓库与 GitHub 仓库,实现代码更新。 **5. 添加 README 文件:** - README 文件通常用于介绍项目的背景、功能及使用方法等信息。 - 在本地仓库根目录下创建 README.txt 或 README.md 文件。 - ...

    GitHub for Windows

    - **GitHub仓库**: 在GitHub上,每个项目都是一个仓库(Repository),包含代码、文档等资源。仓库可以设置权限,支持公有、私有和内部访问模式。 **2. GitHub for Windows 特性** - **直观界面**: 客户端提供图形...

    go github(使用github)

    创建项目仓库(repository)是第一步,之后用户可以将本地的Git仓库推送到GitHub上,或者从GitHub上克隆(clone)仓库到本地。 项目托管是GitHub的核心功能之一。用户可以创建公开或者私有的仓库来管理自己的项目。...

    github_mirror_gitea:将GitHub同步到Gitea

    将所有存储库(包括私有库)从GitHub同步到您可以使用给定令牌访问的Gitea。 超级简单的解决方案,使用GitHub作为您的主要平台,并使用Gi​​tea作为您的备份。 流 Github:获取所有您可以访问的仓库(已分页) ...

    github个人使用笔记

    2. 将原项目的修改同步到自己的分支:Github 的项目—&gt;fetch、merge 到本地版本库—&gt;push 到 Github 网站分支—&gt;将自己 Github 网站分支 pull request 到 Github 的原项目 通过掌握这些命令和流程,我们可以更好地...

    如何将本地代码上传到github.pdf

    4. **克隆或创建本地仓库**:如果已有代码,可将GitHub仓库克隆到本地;若无,需在本地创建一个新项目,然后在项目根目录下初始化Git仓库(`git init`)。 5. **添加远程仓库**:使用`git remote add origin &lt;你的...

Global site tag (gtag.js) - Google Analytics