【问题标题】:How to get build status updated in Bitbucket from Azure Pipeline?如何从 Azure Pipeline 在 Bitbucket 中更新构建状态?
【发布时间】:2019-06-19 21:28:19
【问题描述】:

我正在使用 Azure Pipeline 为 iOS 代码构建和运行测试。这些步骤工作正常。如何在 bitbucket 中显示构建状态?

我可以找到script

#!/usr/bin/env python

import os
import requests

# Use environment variables that your CI server provides to the key, name,
# and url parameters, as well as commit hash. (The values below are used by
# Jenkins.)
data = {
    'key': os.getenv('BUILD_ID'),
    'state': 'SUCCESSFUL',  # or 'FAILED' for a script that runs when the build fails
    'name': os.getenv('JOB_NAME'),
    'url': os.getenv('BUILD_URL'),
    'description': 'The build passed.'
}

# Construct the URL with the API endpoint where the commit status should be
# posted (provide the appropriate owner and slug for your repo).
api_url = ('https://api.bitbucket.org/2.0/repositories/'
           '%(owner)s/%(repo_slug)s/commit/%(revision)s/statuses/build'
           % {'owner': 'emmap1',
              'repo_slug': 'MyRepo',
              'revision': os.getenv('GIT_COMMIT')})

# Post the status to Bitbucket. (Include valid credentials here for basic auth.
# You could also use team name and API key.)
requests.post(api_url, auth=('auth_user', 'auth_password'), json=data)

但是使用带有print 'job name: {}'.format(os.getenv("BUILD_ID")) 的python 任务运行它给了我None。如何让状态显示在 bitbucket 中?

【问题讨论】:

    标签: ios azure-devops continuous-integration bitbucket azure-pipelines


    【解决方案1】:

    Azure Pipeline 中构建 ID 的变量是 Build.BuildId,因此只需将 os.getenv("BUILD_ID") 替换为 os.getenv("BUILD_BUILDID")

    script: |
      import os
      id = os.getenv('BUILD_BUILDID')
      print(id)
    

    结果:

    您可以看到 here 所有 Azure Pipelines 变量(检查您需要的其他变量)。

    【讨论】:

      猜你喜欢
      • 2020-04-14
      • 1970-01-01
      • 1970-01-01
      • 2018-07-11
      • 1970-01-01
      • 2020-04-27
      • 2020-03-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多