在我的脚本中使用jenkins github用户凭据访问github api

时间:2018-11-06 00:34:29

标签: git jenkins

我有一个詹金斯工作foo表现很好。已通过jenkins_foo_user进行了身份验证。它能够克隆仓库并检出正确的分支。

在我的代码库中,我还有另一个脚本-query_github.py,该脚本用于查询Github API以获取诸如提交和请求请求之类的信息。为了能够使用此API,我需要一个访问令牌。

我希望能够使用jenkins用户访问令牌来认证和访问github凭证。 我该怎么做呢? 注意:使用Github Enterprise版本

2 个答案:

答案 0 :(得分:0)

您可以在jenkins job中定义一个密码参数,并且可以在您的github脚本中使用它。

Ex:您可以使用注入全局密码(如果您有此插件)将密码变量定义为构建参数或新密码变量

使用api的脚本中可以使用相同的密码

下面的命令使用github api调用,并将列出您组织中的存储库

确保将<your_organization_name_HERE>替换为您的组织名称

curl --silent -q  -H "Authorization: token ${github_api_pwd}" https://api.github.com/orgs/<your_organization_name_HERE>/repos

类似地,您可以使用其他api来获取其他信息

答案 1 :(得分:0)

必须使用credentials api。 例子

withCredentials([[$class: 'UsernamePasswordMultiBinding',
    credentialsId: 'jenkins-user',
    usernameVariable: 'Foo_USERNAME',
    passwordVariable: 'Foo_PASSWORD']]) {
      export foo_name=${stds.escape4sh env.Foo_USERNAME}
      export foo_pass=${stds.escape4sh env.Foo_PASSWORD}
      python foo.py

在foo.py内部

_name = os.env.get('foo_name')
_pass = os.env.get('foo_pas')

最简单,最干净的方法来实现目标! 注意:jenkins-user应该配置为jenkins用户凭证