简介
bitbucket_pipeline_build_status 是一个 npm 包,它可以帮助我们获取 Bitbucket Pipeline 的构建状态和报告状态。 在本文中,我们将介绍如何使用它及其相关功能。
安装
使用 npm install 命令安装 bitbucket_pipeline_build_status:
npm install bitbucket_pipeline_build_status --save
获取构建状态
我们可以使用 bitbucket_pipeline_build_status 模块的 getStatus 方法来获取构建状态。getStatus 方法需要两个参数,一个是 Bitbucket Pipeline URL,另一个是 Bitbucket API 令牌。
-- -------------------- ---- ------- ----- --- - ------------------------------------------- ----- ----------- - ----------------------------------------------------------------------------------------- ----- -------- - ------------------------ -------------------------- --------------------- -- - -------------------- ------------ -- - ------------------- ---
getStatus 方法返回一个 Promise。如果获得状态成功,则 resolve 返回 JSON,其中包含以下属性:
属性名 | 类型 | 描述 |
---|---|---|
state | string | 运行状态,可以是 SUCCESS、FAILED、IN_PROGRESS 和 STOPPED |
url | string | 用于查看 Bitbucket Pipeline 的 URL |
type | string | 获取状态的类型,固定为 bitbucket |
如果无法获得状态,则 reject 返回相关错误信息。
获取报告状态
使用 bitbucket_pipeline_build_status 模块的 getReport 方法可以获得报告状态。getReport 方法需要两个参数,一个是 Bitbucket Pipeline URL,另一个是 Bitbucket API 令牌。
-- -------------------- ---- ------- ----- --- - ------------------------------------------- ----- ----------- - ----------------------------------------------------------------------------------------- ----- -------- - ------------------------ -------------------------- --------------------- -- - -------------------- ------------ -- - ------------------- ---
getReport 方法也返回一个 Promise。如果获得报告成功,则 resolve 返回 JSON,其中包含以下属性:
属性名 | 类型 | 描述 |
---|---|---|
state | string | 报告状态,可以是 SUCCESS、FAILED、IN_PROGRESS 和 STOPPED |
url | string | 报告 URL |
job_id | string | 报告所属的 job ID |
logs | Object[] | 包含日志信息的数组。每个对象都包含 timestamp 和 log 两个属性。 |
如果无法获得报告,则 reject 返回相关错误信息。
其他
bitbucket_pipeline_build_status 还提供了一些方便的辅助方法,如 parseUrl 和 extractNamespace。
parseUrl
parseUrl 可以将 Bitbucket Pipeline URL 解析为一个包含以下属性的对象:
属性名 | 类型 | 描述 |
---|---|---|
baseUrl | string | base URL, 例如 https://bitbucket.org |
namespacePath | string | 仓库所在的名称空间路径, 例如 username/reponame |
uuid | string | Pipeline UUID |
const bbs = require('bitbucket_pipeline_build_status'); const pipelineUrl = 'https://bitbucket.org/<username>/<repo>/addon/pipelines/home#!/results/<pipeline_uuid>'; console.log(bbs.parseUrl(pipelineUrl)); // => { baseUrl: 'https://bitbucket.org', namespacePath: '<username>/<repo>', uuid: '<pipeline_uuid>' }
extractNamespace
extractNamespace 可以将 Bitbucket Pipeline URL 中的 namespace 获取出来。其中, namespace 即为所属仓库的名称空间,例如 username/reponame。
const bbs = require('bitbucket_pipeline_build_status'); const pipelineUrl = 'https://bitbucket.org/<username>/<repo>/addon/pipelines/home#!/results/<pipeline_uuid>'; console.log(bbs.extractNamespace(pipelineUrl)); // => '<username>/<repo>'
结论
通过 bitbucket_pipeline_build_status,我们可以轻松地获取 Bitbucket Pipeline 的构建状态和报告状态。这对于前端开发者来说,可以提高开发效率,加快应用部署上线的速度。我们鼓励开发者试用 bitbucket_pipeline_build_status,并加以改进,为更多开发者创造更大的价值。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005545b81e8991b448d1a62