Skip to content

Concourse resource to detect CLOSED and MERGED pull requests on Github

Notifications You must be signed in to change notification settings

shinmyung0/pullrequest-events-resource

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pullrequest-events-resource Build Status

This is a Concourse resource that fetches pull requests that have been MERGED or CLOSED recently. This is meant to address the use case of pipelines triggering on merge or close which are not supported within the excellent github-pullrequest-resource. This resource does not do any sort of git clone from git. It is rather meant to provide information about merged or closed pull request branches to trigger downstream jobs.

This resource currently only supports Github

Docker Hub Link

Source Configuration

resource_types:
- name: pull-request-events
  type: docker-image
  source:
    repository: shinmyung0/pullrequest-events-resource
    tag: latest


resources:
- name: github-pr-events
  type: pull-request-events
  source:
    access_token: ((github-access-token))
    owner: ((repo-owner))
    repo: ((app-name))
    graphql_api: ((github-v4-api))
    base_branch: master
    first: 5
    states:
      - MERGED
      - CLOSED
  • owner : Repo owner. required
  • repo : Repository. required
  • access_token: Github API access token, should have read-permissions on repo. required
  • graphql_api : Github GraphQL API endpoint. By default it is https://api.github.com/graphql
  • first : The number of pull request events to fetch from latest. default is 3.
  • states : List of pull request states to listen for. Only supports MERGED and CLOSED. Default is both.

Behavior

  • check: check for recently merged or closed pull requests

This will output versions that look like this:

[
  {
    "id": "MDExOlB1bGxSZXF1ZXN0MTcxMjQ5NjI1",
    "cursor": "Y3Vyc29yOnYyOpK5MjAxOC0wMi0yNVQxMjozNDo0NC0wODowMM4KNQ/Z",
    "number": "1",
    "url": "https://github.com/shinmyung0/fixture-repo/pull/1",
    "baseBranch": "master",
    "headBranch": "test-merged-branch",
    "state": "MERGED",
    "timestamp": "2018-02-25T20:34:44Z"
  },
  {
    "id": "MDExOlB1bGxSZXF1ZXN0MTcxMjQ5NzQw",
    "cursor": "Y3Vyc29yOnYyOpK5MjAxOC0wMi0yNVQxMjozNjoxNi0wODowMM4KNRBM",
    "number": "2",
    "url": "https://github.com/shinmyung0/fixture-repo/pull/2",
    "baseBranch": "master",
    "headBranch": "test-closed-branch",
    "state": "CLOSED",
    "timestamp": "2018-02-25T20:36:16Z"
  }
]
  • in: Given a version, will output that JSON object to $output_dir/pull_request JSON file.

$output_dir/pull_request file example:

{
  "id": "MDExOlB1bGxSZXF1ZXN0MTcxMjQ5NzQw",
  "cursor": "Y3Vyc29yOnYyOpK5MjAxOC0wMi0yNVQxMjozNjoxNi0wODowMM4KNRBM",
  "number": "2",
  "url": "https://github.com/shinmyung0/fixture-repo/pull/2",
  "baseBranch": "master",
  "headBranch": "test-closed-branch",
  "state": "CLOSED",
  "timestamp": "2018-02-25T20:36:16Z"
}
  • out: Not implemented.

About

Concourse resource to detect CLOSED and MERGED pull requests on Github

Resources

Stars

Watchers

Forks

Packages

No packages published