Project Logus

Expand description

Logus

Build and Test

A GitHub application based on the Probot library for automating the collection of information in projects related to pull request events. Designed for installation within an organization.

  • install the Node environment
  • run the following commands inside the source code directory:
    • npm install - install all necessary packages
    • npm run build - transpile TypeScript code to JavaScript
    • npm start - start the server handling the GitHub application
  • register the GitHub application
  • install within the organization
  • restart using the command npm start

The application's organization-level configuration can be done by adding a .github/logus.yml file to the .github-private or .github repository within the organization.

Storing the configuration file in the .github-private repository requires granting the application access to this repository in the organization's settings – https://github.com/organizations/YOUR-ORGANIZATION/settings/installations

Sample configuration logus.yml:

projectTitlePrefix: "monitor-"
openPullRequestDateProjectFieldName: "Open Date"
firstReviewSubmitDateProjectFieldName: "First Review Date"
lastReviewSubmitDateProjectFieldName: "Last Review Date"
lastApprovedReviewSubmitDateProjectFieldName: "Last Approve Review Date"
reviewIterationNumberProjectFieldName: "Review Iteration"
addPullRequestAuthorAsAssignee: false
  • projectTitlePrefix - the prefix of the project title where the information will be entered.
  • openPullRequestDateProjectFieldName - the name of the field column where the creation date of a pull request by a user who is a member of a team with a name containing the keyword will be entered. The repository in which the request was created must be linked to the team. Optional parameter.
  • lastReviewSubmitDateProjectFieldName - the name of the field column where the date of the last pull request review submission will be entered. Optional parameter.
  • firstReviewSubmitDateProjectFieldName - the name of the field column where the date of the first pull request review submission will be entered. Optional parameter.
  • lastApprovedReviewSubmitDateProjectFieldName - the name of the field column where the date of the last positive pull request review submission will be entered. Optional parameter.
  • reviewIterationNumberProjectFieldName - the name of the field column where the number of currently completed pull request reviews will be entered. Optional parameter.
  • addPullRequestAuthorAsAssignee - a parameter that determines whether the author of the pull request should be automatically assigned as an Assignee. Default is false.

We welcome contributions! Please read our Contributing Guide to learn about our development process and how to propose changes.

Modules§

behaviours/addAssigneeOnPullRequestOpened
behaviours/behaviour
behaviours/logDebugOnAny
behaviours/messageVariable
behaviours/updateProjectOnPullRequestOpened
behaviours/updateProjectOnReviewSubmitted
graphql
graphql/mutation_addAssignee/addAssignee
graphql/mutation_addAssignee/addAssigneeGenerated
graphql/mutation_addProjectItem/addProjectItem
graphql/mutation_addProjectItem/addProjectItemGenerated
graphql/mutation_updateItemDate/updateItemDate
graphql/mutation_updateItemDate/updateItemDateGenerated
graphql/mutation_updateItemNumber/updateItemNumber
graphql/mutation_updateItemNumber/updateItemNumberGenerated
graphql/mutation_updateItemText/updateItemText
graphql/mutation_updateItemText/updateItemTextGenerated
graphql/query_getProjectId/getProjectId
graphql/query_getProjectId/getProjectIdGenerated
graphql/query_listOpenedProjectsInOrg/listOpenedProjectsInOrg
graphql/query_listOpenedProjectsInOrg/listOpenedProjectsInOrgGenerated
graphql/query_listTeamsInOrg/listTeamsInOrg
graphql/query_listTeamsInOrg/listTeamsInOrgGenerated
index
logusContexts
organizationConfig
projectFieldValueUpdater