2017-03-12 3 views
2

プライベートgitlabサーバから.Rファイルを入手したいと思います。私は ソースRプライベートgitlabから基本認証付き

httr::GET("http://vpsxxxx.ovh.net/root/project/raw/9f8a404b5b33c216d366d80b7d48e34577598069/R/script.R", 
authenticate("user", "password",type="basic")) 

任意のアイデア大成功

なし命令のこの種を試してみました

ユーザー/パスワードで基本認証を使用する必要がありますか?

よろしく

編集:あなたはリポジトリからファイルを取得するためにgitlab APIを使用することができ、私はこの方法を見つけた...しかし、私はすべてのプロジェクトをダウンロードする必要があります...

bundle <- tempfile() 
git2r::clone("http://vpsxxx.ovh.net/root/projet.git", 
      bundle, credentials=git2r::cred_user_pass("user", "password")) 
source(file.path(bundle,"R","script.R")) 
+0

私は解決に興味があります!今は同じ問題があります。私は 'install_git'でgitlabでホストされているパッケージをインストールする方法を知っていますが、ファイルは提供していません。何かが出てくるだろうが、すでに存在するならそれは助けになるだろう。 – cderv

+0

私はgitlab APIと 'gitlabr'を使ってファイルを取得できます。 – cderv

+0

あなたのコードを共有していただけますか? –

答えて

0

gitlabrこれを行うのに役立ちます。現在のバージョン0.9は、apiV3およびV4と互換性があります。これは動作するはず

(それはapiv3とプライベートgitlabに私の側で動作する)

library(gitlabr) 
my_gitlab <- gl_connection("https://private-gitlab.com", 
         login = "username", 
         password = "password", 
         api_version = "v4") # by default. put v3 here if needed 
my_file <- my_gitlab(gl_get_file, project = "project_name", file_path = "path/to/file") 

これはあなたのファイルの文字バージョンを取得します。あなたはまた別の方法でそれに対処するために生のバージョンを取得することができます。

raw <- gl_get_file(project = "project_name", 
        file_path = "file/to/path", 
        gitlab_con = my_gitlab, 
        to_char = F) 
temp_file <- tempfile() 
writeBin(raw, temp_file) 

あなたは今、それは他の人の中の1つのソリューションであるコード

source(temp_file) 

を調達することができます。私は、APIを使わずにファイルのソースを管理しませんでした。

知っている通り: *ユーザー名とパスワードの代わりにアクセストークンを使用できます * gitlabrはいくつかの方法で使用できます。それはビネットに文書化されています。私はここで2つの異なる方法を使用した。 *バージョン1.0はv3 APIと互換性がありません。しかし、私はあなたがv4を使用すると思います。

もっと明確な回答が必要な場合は、私がこの投稿を更新するように気軽に私に連絡してください。